🛠️

Whiz Tools

Build • Create • Innovate

Калкулатор за Z-оценка и статистически анализ на данни

Изчислете z-оценката (стандартна оценка) за всяка точка от данните, определяйки нейното положение спрямо средната стойност, използвайки стандартното отклонение. Идеален за статистически анализ и стандартизация на данни.

📚

Документация

Z-Score Калькулатор

Въведение

z-скор (или стандартен резултат) е статистическо измерване, което описва връзката на стойността с средната стойност на група стойности. Той показва колко стандартни отклонения е един елемент от средната стойност. Z-скорът е важен инструмент в статистиката, позволяващ стандартизация на различни набори от данни и идентификация на аутлайъри.

Формула

Z-скорът се изчислява с помощта на следната формула:

z=xμσz = \frac{x - \mu}{\sigma}

Където:

  • zz = z-скор
  • xx = индивидуална данна точка
  • μ\mu = средна стойност на набора от данни
  • σ\sigma = стандартно отклонение на набора от данни

Тази формула изчислява броя на стандартните отклонения, на които една данна точка е от средната стойност.

Изчисление

За да изчислите z-скора на една данна точка:

  1. Изчислете Средната (μ\mu):

    Сумаризирайте всички данни точки и разделете на броя на данните точки.

    μ=i=1nxin\mu = \frac{\sum_{i=1}^{n} x_i}{n}
  2. Изчислете Стандартното Отклонение (σ\sigma):

    • Дисперсия (σ2\sigma^2):

      σ2=i=1n(xiμ)2n\sigma^2 = \frac{\sum_{i=1}^{n} (x_i - \mu)^2}{n}
    • Стандартно Отклонение:

      σ=σ2\sigma = \sqrt{\sigma^2}
  3. Изчислете Z-скора:

    Заместете стойностите в формулата за z-скор.

    z=xμσz = \frac{x - \mu}{\sigma}

Гранични Случаи

  • Нулево Стандартно Отклонение (σ=0\sigma = 0):

    Когато всички данни точки са идентични, стандартното отклонение е нула, което прави z-скора неопределен, тъй като не можете да делите на нула. В този случай концепцията за z-скор не важи.

  • Данна Точка Равна на Средната (x=μx = \mu):

    Ако данната точка е равна на средната, z-скорът е нула, което показва, че е точно средна.

  • Ненумерични Входове:

    Уверете се, че всички входове са числови. Ненумеричните входове ще доведат до грешки при изчисленията.

Кумулативна Вероятност

Кумулативната вероятност, свързана с z-скора, представлява вероятността, че случайна променлива от стандартното нормално разпределение ще бъде по-малка или равна на зададената стойност. Това е площта под кривата на нормалното разпределение вляво от зададения z-скор.

Математически, кумулативната вероятност PP се изчислява с помощта на кумулативната функция на разпределението (CDF) на стандартното нормално разпределение:

P(Zz)=Φ(z)=12πzet2/2dtP(Z \leq z) = \Phi(z) = \frac{1}{\sqrt{2\pi}} \int_{-\infty}^{z} e^{-t^2/2} \, dt

Където:

  • Φ(z)\Phi(z) = CDF на стандартното нормално разпределение при zz

Кумулативната вероятност е важна в статистиката за определяне на вероятността за възникване на стойност в определен диапазон. Тя се използва широко в области като контрол на качеството, финанси и социални науки.

SVG Диаграма

По-долу е SVG диаграма, илюстрираща кривата на стандартното нормално разпределение и z-скора:

μ x z

Стандартно Нормално Разпределение

Фигура: Крива на Стандартното Нормално Разпределение с Затенен Z-скор

Тази диаграма показва кривата на нормалното разпределение със средната стойност μ\mu в центъра. Затенената област представлява кумулативната вероятност до данната точка xx, съответстваща на z-скора.

Приложения

Приложения

  • Стандартизация на Различни Скали:

    Z-скоровете позволяват сравнение между данни от различни скали чрез стандартизиране на наборите от данни.

  • Идентификация на Аутлайъри:

    Идентифициране на данни точки, които са значително далеч от средната стойност (например, z-скорове по-малко от -3 или по-големи от 3).

  • Статистическо Тестуване:

    Използва се в хипотетичното тестване, включително z-тестове, за определяне дали средната стойност на пробата значително се различава от известната средна стойност на популацията.

  • Контрол на Качеството:

    В производството z-скоровете помагат за наблюдение на процесите, за да се уверят, че резултатите остават в допустимите граници.

  • Финанси и Инвестиции:

    Оценка на представянето на акции чрез сравняване на доходите спрямо средното представяне на пазара.

Алтернативи

  • T-скор:

    Подобен на z-скора, но се използва, когато размерът на пробата е малък и стандартното отклонение на популацията е неизвестно.

  • Процентилна Ранг:

    Показва процента на резултатите в неговото разпределение на честотата, които са равни или по-ниски от него.

  • Стандартни Отклонения:

    Използване на суровите стойности на стандартното отклонение без стандартизиране като z-скорове.

История

Концепцията за z-скор произлиза от работата върху нормалното разпределение от Карл Фридрих Гаус в началото на 19-ти век. Стандартното нормално разпределение, основополагающе за z-скоровете, е допълнително разработено от статистици като Абрахам де Мойвър и Пиер-Симон Лаплас. Използването на z-скорове стана широко разпространено с напредъка на статистическите методи през 20-ти век, особено в психологическото тестване и контрола на качеството.

Примери

Excel

1## Изчислете z-скор в Excel
2## Предполага се, че данната точка е в клетка A2, средната стойност в клетка B2, стандартното отклонение в клетка C2
3=(A2 - B2) / C2
4

R

1## Изчислете z-скор в R
2calculate_z_score <- function(x, mean, sd) {
3  if (sd == 0) {
4    stop("Стандартното отклонение не може да бъде нула.")
5  }
6  z <- (x - mean) / sd
7  return(z)
8}
9
10## Пример за употреба:
11x <- 85
12mu <- 75
13sigma <- 5
14z_score <- calculate_z_score(x, mu, sigma)
15print(paste("Z-скор:", z_score))
16

MATLAB

1% Изчислете z-скор в MATLAB
2function z = calculate_z_score(x, mu, sigma)
3    if sigma == 0
4        error('Стандартното отклонение не може да бъде нула.');
5    end
6    z = (x - mu) / sigma;
7end
8
9% Пример за употреба:
10x = 90;
11mu = 80;
12sigma = 8;
13z = calculate_z_score(x, mu, sigma);
14fprintf('Z-скор: %.2f\n', z);
15

JavaScript

1// Изчислете z-скор в JavaScript
2function calculateZScore(x, mu, sigma) {
3  if (sigma === 0) {
4    throw new Error('Стандартното отклонение не може да бъде нула.');
5  }
6  return (x - mu) / sigma;
7}
8
9// Пример за употреба:
10const x = 100;
11const mu = 85;
12const sigma = 7;
13try {
14  const z = calculateZScore(x, mu, sigma);
15  console.log(`Z-скор: ${z.toFixed(2)}`);
16} catch (error) {
17  console.error(error.message);
18}
19

Python

1## Изчислете z-скор в Python
2def calculate_z_score(x, mu, sigma):
3    if sigma == 0:
4        raise ValueError("Стандартното отклонение не може да бъде нула.")
5    return (x - mu) / sigma
6
7## Пример за употреба:
8x = 95
9mu = 88
10sigma = 4
11try:
12    z = calculate_z_score(x, mu, sigma)
13    print("Z-скор:", round(z, 2))
14except ValueError as e:
15    print(e)
16

Java

1// Изчислете z-скор в Java
2public class ZScoreCalculator {
3    public static double calculateZScore(double x, double mu, double sigma) {
4        if (sigma == 0) {
5            throw new IllegalArgumentException("Стандартното отклонение не може да бъде нула.");
6        }
7        return (x - mu) / sigma;
8    }
9
10    public static void main(String[] args) {
11        double x = 110;
12        double mu = 100;
13        double sigma = 5;
14
15        try {
16            double z = calculateZScore(x, mu, sigma);
17            System.out.printf("Z-скор: %.2f%n", z);
18        } catch (IllegalArgumentException e) {
19            System.err.println(e.getMessage());
20        }
21    }
22}
23

C/C++

1// Изчислете z-скор в C++
2#include <iostream>
3#include <stdexcept>
4
5double calculate_z_score(double x, double mu, double sigma) {
6    if (sigma == 0) {
7        throw std::invalid_argument("Стандартното отклонение не може да бъде нула.");
8    }
9    return (x - mu) / sigma;
10}
11
12int main() {
13    double x = 130;
14    double mu = 120;
15    double sigma = 10;
16
17    try {
18        double z = calculate_z_score(x, mu, sigma);
19        std::cout << "Z-скор: " << z << std::endl;
20    } catch (const std::exception &e) {
21        std::cerr << e.what() << std::endl;
22    }
23
24    return 0;
25}
26

Ruby

1## Изчислете z-скор в Ruby
2def calculate_z_score(x, mu, sigma)
3  raise ArgumentError, "Стандартното отклонение не може да бъде нула." if sigma == 0
4  (x - mu) / sigma
5end
6
7## Пример за употреба:
8x = 105
9mu = 100
10sigma = 5
11begin
12  z = calculate_z_score(x, mu, sigma)
13  puts "Z-скор: #{z.round(2)}"
14rescue ArgumentError => e
15  puts e.message
16end
17

PHP

1<?php
2// Изчислете z-скор в PHP
3function calculate_z_score($x, $mu, $sigma) {
4  if ($sigma == 0) {
5    throw new Exception("Стандартното отклонение не може да бъде нула.");
6  }
7  return ($x - $mu) / $sigma;
8}
9
10// Пример за употреба:
11$x = 115;
12$mu = 110;
13$sigma = 5;
14
15try {
16  $z = calculate_z_score($x, $mu, $sigma);
17  echo "Z-скор: " . round($z, 2);
18} catch (Exception $e) {
19  echo $e->getMessage();
20}
21?>
22

Rust

1// Изчислете z-скор в Rust
2fn calculate_z_score(x: f64, mu: f64, sigma: f64) -> Result<f64, String> {
3    if sigma == 0.0 {
4        return Err("Стандартното отклонение не може да бъде нула.".to_string());
5    }
6    Ok((x - mu) / sigma)
7}
8
9fn main() {
10    let x = 125.0;
11    let mu = 115.0;
12    let sigma = 5.0;
13
14    match calculate_z_score(x, mu, sigma) {
15        Ok(z) => println!("Z-скор: {:.2}", z),
16        Err(e) => println!("{}", e),
17    }
18}
19

C#

1// Изчислете z-скор в C#
2using System;
3
4public class ZScoreCalculator
5{
6    public static double CalculateZScore(double x, double mu, double sigma)
7    {
8        if (sigma == 0)
9            throw new ArgumentException("Стандартното отклонение не може да бъде нула.");
10        return (x - mu) / sigma;
11    }
12
13    public static void Main()
14    {
15        double x = 135;
16        double mu = 125;
17        double sigma = 5;
18
19        try
20        {
21            double z = CalculateZScore(x, mu, sigma);
22            Console.WriteLine($"Z-скор: {z:F2}");
23        }
24        catch (ArgumentException e)
25        {
26            Console.WriteLine(e.Message);
27        }
28    }
29}
30

Go

1// Изчислете z-скор в Go
2package main
3
4import (
5    "errors"
6    "fmt"
7)
8
9func calculateZScore(x, mu, sigma float64) (float64, error) {
10    if sigma == 0 {
11        return 0, errors.New("стандартното отклонение не може да бъде нула")
12    }
13    return (x - mu) / sigma, nil
14}
15
16func main() {
17    x := 140.0
18    mu := 130.0
19    sigma := 5.0
20
21    z, err := calculateZScore(x, mu, sigma)
22    if err != nil {
23        fmt.Println(err)
24    } else {
25        fmt.Printf("Z-скор: %.2f\n", z)
26    }
27}
28

Swift

1// Изчислете z-скор в Swift
2func calculateZScore(x: Double, mu: Double, sigma: Double) throws -> Double {
3    if sigma == 0 {
4        throw NSError(domain: "Стандартното отклонение не може да бъде нула.", code: 1, userInfo: nil)
5    }
6    return (x - mu) / sigma
7}
8
9// Пример за употреба:
10let x = 120.0
11let mu = 110.0
12let sigma = 5.0
13
14do {
15    let z = try calculateZScore(x: x, mu: mu, sigma: sigma)
16    print("Z-скор: \(String(format: "%.2f", z))")
17} catch let error as NSError {
18    print(error.domain)
19}
20

Референции

  1. Стандартен Резултат - Уикипедия

    https://en.wikipedia.org/wiki/Standard_score

  2. Разбиране на Z-скорове - Statistics Solutions

    https://www.statisticssolutions.com/understanding-z-scores/

  3. Нормално Разпределение и Z-скорове - Khan Academy

    https://www.khanacademy.org/math/statistics-probability/modeling-distributions-of-data/z-scores/a/z-scores-review

Допълнителни Ресурси