Перейти к содержимому

Калькулятор Z-оценки

Вычисляйте Z-оценки, процентильные ранги и вероятности нормального распределения.

Об этом инструменте

Z-оценка измеряет, на сколько стандартных отклонений значение данных отклоняется от среднего в нормальном распределении. Эта метрика является фундаментальной в статистике для стандартизации значений на различных шкалах и необходима для сравнения данных, выявления выбросов и понимания распределений вероятности. Z-оценки широко используются в контроле качества, академической оценке, медицинских исследованиях и финансовом анализе, когда требуется определить, насколько необычное или типичное значение.

Чтобы использовать калькулятор, введите значение своей точки данных и среднее значение и стандартное отклонение вашего набора данных. Инструмент мгновенно вычисляет Z-оценку и отображает соответствующий процентильный ранг—показывает вам, какой процент нормального распределения находится ниже вашего значения. Вы также можете напрямую ввести Z-оценку, чтобы найти её процентиль, что полезно для проверки гипотез, доверительных интервалов и поиска вероятности. Это особенно полезно при работе со стандартизированными баллами тестов (такими как SAT или IQ), сравнении производительности между различными метриками или оценке допусков производства.

Имейте в виду, что Z-оценки предполагают, что ваши данные следуют нормальному (колокольчиковому) распределению, поэтому результаты могут быть неточны для асимметричных наборов данных. Калькулятор также предоставляет информацию о вероятностях хвостов, помогая вам понять экстремальные значения. Независимо от того, являетесь ли вы студентом, изучающим статистику, исследователем, анализирующим экспериментальные данные, или профессионалом, оценивающим метрики качества, этот инструмент превращает сложные вероятностные расчёты в мгновенные, практически применимые выводы.

Часто задаваемые вопросы

Реализация кода

import math

def erf(x: float) -> float:
    """Abramowitz & Stegun approximation of the error function."""
    sign = 1 if x >= 0 else -1
    x = abs(x)
    a1, a2, a3, a4, a5 = 0.254829592, -0.284496736, 1.421413741, -1.453152027, 1.061405429
    p = 0.3275911
    t = 1.0 / (1.0 + p * x)
    y = 1.0 - (((((a5 * t + a4) * t) + a3) * t + a2) * t + a1) * t * math.exp(-x * x)
    return sign * y

def normal_cdf(z: float) -> float:
    """Cumulative distribution function of the standard normal."""
    return 0.5 * (1 + erf(z / math.sqrt(2)))

def z_score(value: float, mean: float, std_dev: float) -> float:
    """Calculate Z-score: how many SDs from the mean."""
    if std_dev <= 0:
        raise ValueError("Standard deviation must be positive")
    return (value - mean) / std_dev

# Example
x, mu, sigma = 75, 70, 5
z = z_score(x, mu, sigma)
prob = normal_cdf(z)
print(f"Z-score: {z:.4f}")          # 1.0000
print(f"Percentile: {prob*100:.2f}th")  # 84.13th
print(f"Probability: {prob:.6f}")    # 0.841345

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.