Калькулятор Z-оценки
Введение
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