Z-Score Калькулатор
Въведение
z-скор (или стандартен резултат) е статистическо измерване, което описва връзката на стойността с средната стойност на група стойности. Той показва колко стандартни отклонения е един елемент от средната стойност. Z-скорът е важен инструмент в статистиката, позволяващ стандартизация на различни набори от данни и идентификация на аутлайъри.
Формула
Z-скорът се изчислява с помощта на следната формула:
Където:
- = z-скор
- = индивидуална данна точка
- = средна стойност на набора от данни
- = стандартно отклонение на набора от данни
Тази формула изчислява броя на стандартните отклонения, на които една данна точка е от средната стойност.
Изчисление
За да изчислите z-скора на една данна точка:
-
Изчислете Средната ():
Сумаризирайте всички данни точки и разделете на броя на данните точки.
-
Изчислете Стандартното Отклонение ():
-
Дисперсия ():
-
Стандартно Отклонение:
-
-
Изчислете Z-скора:
Заместете стойностите в формулата за z-скор.
Гранични Случаи
-
Нулево Стандартно Отклонение ():
Когато всички данни точки са идентични, стандартното отклонение е нула, което прави z-скора неопределен, тъй като не можете да делите на нула. В този случай концепцията за z-скор не важи.
-
Данна Точка Равна на Средната ():
Ако данната точка е равна на средната, z-скорът е нула, което показва, че е точно средна.
-
Ненумерични Входове:
Уверете се, че всички входове са числови. Ненумеричните входове ще доведат до грешки при изчисленията.
Кумулативна Вероятност
Кумулативната вероятност, свързана с z-скора, представлява вероятността, че случайна променлива от стандартното нормално разпределение ще бъде по-малка или равна на зададената стойност. Това е площта под кривата на нормалното разпределение вляво от зададения z-скор.
Математически, кумулативната вероятност се изчислява с помощта на кумулативната функция на разпределението (CDF) на стандартното нормално разпределение:
Където:
- = CDF на стандартното нормално разпределение при
Кумулативната вероятност е важна в статистиката за определяне на вероятността за възникване на стойност в определен диапазон. Тя се използва широко в области като контрол на качеството, финанси и социални науки.
SVG Диаграма
По-долу е SVG диаграма, илюстрираща кривата на стандартното нормално разпределение и z-скора:
Фигура: Крива на Стандартното Нормално Разпределение с Затенен Z-скор
Тази диаграма показва кривата на нормалното разпределение със средната стойност в центъра. Затенената област представлява кумулативната вероятност до данната точка , съответстваща на z-скора.
Приложения
Приложения
-
Стандартизация на Различни Скали:
Z-скоровете позволяват сравнение между данни от различни скали чрез стандартизиране на наборите от данни.
-
Идентификация на Аутлайъри:
Идентифициране на данни точки, които са значително далеч от средната стойност (например, z-скорове по-малко от -3 или по-големи от 3).
-
Статистическо Тестуване:
Използва се в хипотетичното тестване, включително z-тестове, за определяне дали средната стойност на пробата значително се различава от известната средна стойност на популацията.
-
Контрол на Качеството:
В производството z-скоровете помагат за наблюдение на процесите, за да се уверят, че резултатите остават в допустимите граници.
-
Финанси и Инвестиции:
Оценка на представянето на акции чрез сравняване на доходите спрямо средното представяне на пазара.
Алтернативи
-
T-скор:
Подобен на z-скора, но се използва, когато размерът на пробата е малък и стандартното отклонение на популацията е неизвестно.
-
Процентилна Ранг:
Показва процента на резултатите в неговото разпределение на честотата, които са равни или по-ниски от него.
-
Стандартни Отклонения:
Използване на суровите стойности на стандартното отклонение без стандартизиране като z-скорове.
История
Концепцията за z-скор произлиза от работата върху нормалното разпределение от Карл Фридрих Гаус в началото на 19-ти век. Стандартното нормално разпределение, основополагающе за z-скоровете, е допълнително разработено от статистици като Абрахам де Мойвър и Пиер-Симон Лаплас. Използването на z-скорове стана широко разпространено с напредъка на статистическите методи през 20-ти век, особено в психологическото тестване и контрола на качеството.
Примери
Excel
## Изчислете z-скор в Excel
## Предполага се, че данната точка е в клетка A2, средната стойност в клетка B2, стандартното отклонение в клетка C2
=(A2 - B2) / C2
R
## Изчислете z-скор в R
calculate_z_score <- function(x, mean, sd) {
if (sd == 0) {
stop("Стандартното отклонение не може да бъде нула.")
}
z <- (x - mean) / sd
return(z)
}
## Пример за употреба:
x <- 85
mu <- 75
sigma <- 5
z_score <- calculate_z_score(x, mu, sigma)
print(paste("Z-скор:", z_score))
MATLAB
% Изчислете z-скор в MATLAB
function z = calculate_z_score(x, mu, sigma)
if sigma == 0
error('Стандартното отклонение не може да бъде нула.');
end
z = (x - mu) / sigma;
end
% Пример за употреба:
x = 90;
mu = 80;
sigma = 8;
z = calculate_z_score(x, mu, sigma);
fprintf('Z-скор: %.2f\n', z);
JavaScript
// Изчислете z-скор в JavaScript
function calculateZScore(x, mu, sigma) {
if (sigma === 0) {
throw new Error('Стандартното отклонение не може да бъде нула.');
}
return (x - mu) / sigma;
}
// Пример за употреба:
const x = 100;
const mu = 85;
const sigma = 7;
try {
const z = calculateZScore(x, mu, sigma);
console.log(`Z-скор: ${z.toFixed(2)}`);
} catch (error) {
console.error(error.message);
}
Python
## Изчислете z-скор в Python
def calculate_z_score(x, mu, sigma):
if sigma == 0:
raise ValueError("Стандартното отклонение не може да бъде нула.")
return (x - mu) / sigma
## Пример за употреба:
x = 95
mu = 88
sigma = 4
try:
z = calculate_z_score(x, mu, sigma)
print("Z-скор:", round(z, 2))
except ValueError as e:
print(e)
Java
// Изчислете z-скор в Java
public class ZScoreCalculator {
public static double calculateZScore(double x, double mu, double sigma) {
if (sigma == 0) {
throw new IllegalArgumentException("Стандартното отклонение не може да бъде нула.");
}
return (x - mu) / sigma;
}
public static void main(String[] args) {
double x = 110;
double mu = 100;
double sigma = 5;
try {
double z = calculateZScore(x, mu, sigma);
System.out.printf("Z-скор: %.2f%n", z);
} catch (IllegalArgumentException e) {
System.err.println(e.getMessage());
}
}
}
C/C++
// Изчислете z-скор в C++
#include <iostream>
#include <stdexcept>
double calculate_z_score(double x, double mu, double sigma) {
if (sigma == 0) {
throw std::invalid_argument("Стандартното отклонение не може да бъде нула.");
}
return (x - mu) / sigma;
}
int main() {
double x = 130;
double mu = 120;
double sigma = 10;
try {
double z = calculate_z_score(x, mu, sigma);
std::cout << "Z-скор: " << z << std::endl;
} catch (const std::exception &e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
Ruby
## Изчислете z-скор в Ruby
def calculate_z_score(x, mu, sigma)
raise ArgumentError, "Стандартното отклонение не може да бъде нула." if sigma == 0
(x - mu) / sigma
end
## Пример за употреба:
x = 105
mu = 100
sigma = 5
begin
z = calculate_z_score(x, mu, sigma)
puts "Z-скор: #{z.round(2)}"
rescue ArgumentError => e
puts e.message
end
PHP
<?php
// Изчислете z-скор в PHP
function calculate_z_score($x, $mu, $sigma) {
if ($sigma == 0) {
throw new Exception("Стандартното отклонение не може да бъде нула.");
}
return ($x - $mu) / $sigma;
}
// Пример за употреба:
$x = 115;
$mu = 110;
$sigma = 5;
try {
$z = calculate_z_score($x, $mu, $sigma);
echo "Z-скор: " . round($z, 2);
} catch (Exception $e) {
echo $e->getMessage();
}
?>
Rust
// Изчислете z-скор в Rust
fn calculate_z_score(x: f64, mu: f64, sigma: f64) -> Result<f64, String> {
if sigma == 0.0 {
return Err("Стандартното отклонение не може да бъде нула.".to_string());
}
Ok((x - mu) / sigma)
}
fn main() {
let x = 125.0;
let mu = 115.0;
let sigma = 5.0;
match calculate_z_score(x, mu, sigma) {
Ok(z) => println!("Z-скор: {:.2}", z),
Err(e) => println!("{}", e),
}
}
C#
// Изчислете z-скор в C#
using System;
public class ZScoreCalculator
{
public static double CalculateZScore(double x, double mu, double sigma)
{
if (sigma == 0)
throw new ArgumentException("Стандартното отклонение не може да бъде нула.");
return (x - mu) / sigma;
}
public static void Main()
{
double x = 135;
double mu = 125;
double sigma = 5;
try
{
double z = CalculateZScore(x, mu, sigma);
Console.WriteLine($"Z-скор: {z:F2}");
}
catch (ArgumentException e)
{
Console.WriteLine(e.Message);
}
}
}
Go
// Изчислете z-скор в Go
package main
import (
"errors"
"fmt"
)
func calculateZScore(x, mu, sigma float64) (float64, error) {
if sigma == 0 {
return 0, errors.New("стандартното отклонение не може да бъде нула")
}
return (x - mu) / sigma, nil
}
func main() {
x := 140.0
mu := 130.0
sigma := 5.0
z, err := calculateZScore(x, mu, sigma)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("Z-скор: %.2f\n", z)
}
}
Swift
// Изчислете z-скор в Swift
func calculateZScore(x: Double, mu: Double, sigma: Double) throws -> Double {
if sigma == 0 {
throw NSError(domain: "Стандартното отклонение не може да бъде нула.", code: 1, userInfo: nil)
}
return (x - mu) / sigma
}
// Пример за употреба:
let x = 120.0
let mu = 110.0
let sigma = 5.0
do {
let z = try calculateZScore(x: x, mu: mu, sigma: sigma)
print("Z-скор: \(String(format: "%.2f", z))")
} catch let error as NSError {
print(error.domain)
}
Референции
-
Стандартен Резултат - Уикипедия
-
Разбиране на Z-скорове - Statistics Solutions
-
Нормално Разпределение и Z-скорове - Khan Academy
Допълнителни Ресурси
-
Интерактивен Калькулатор на Z-скор
https://www.socscistatistics.com/pvalues/normaldistribution.aspx
-
Визуализиране на Нормалното Разпределение
https://seeing-theory.brown.edu/normal-distribution/index.html