СКО: мера разброса измерений
Урок о том, как одним числом описать «кучность» измерений и почему в знаменателе стоит n−1, а не n.
Выборочное стандартное отклонение (СКО) $s$ — мера разброса отдельных измерений вокруг среднего; корень из средней квадратичной разности значений и среднего.
Среднее говорит, где центр данных. СКО говорит, насколько широко они разбросаны. Две серии могут иметь одинаковое среднее, но совершенно разную кучность — и СКО это различие улавливает.
Формула
Выборочная дисперсия и СКО:
$$s^2 = \frac{1}{n-1}\sum_{i=1}^{n}(x_i - \bar x)^2, \qquad s = \sqrt{s^2}$$
СКО имеет ту же размерность, что и сама величина (в отличие от дисперсии $s^2$), поэтому его удобно интерпретировать: примерно в пределах $\bar x \pm s$ лежит около 68% измерений при нормальном распределении.
Почему n−1, а не n
Деление на $n-1$ (поправка Бесселя) делает оценку дисперсии несмещённой. Дело в том, что отклонения считаются не от истинного значения, а от выборочного среднего, которое само подстроено под данные и потому слегка занижает разброс. Деление на $n-1$ компенсирует эту «подгонку». При больших $n$ разница между $n$ и $n-1$ ничтожна, но при малых выборках важна.
Как работает под капотом
Сравним смещённую (деление на $n$) и несмещённую (на $n-1$) оценки на множестве маленьких выборок из распределения с известной дисперсией 1. Несмещённая должна в среднем попадать ближе к 1.
import random, statistics
random.seed(3)
istinnaya_disp = 1.0
sm, nesm = [], []
for _ in range(20000):
vyb = [random.gauss(0, 1) for _ in range(5)] # маленькая выборка n=5
sr = statistics.mean(vyb)
s2_n = sum((x - sr)**2 for x in vyb) / 5 # деление на n
s2_n1 = sum((x - sr)**2 for x in vyb) / 4 # деление на n-1
sm.append(s2_n); nesm.append(s2_n1)
print("Истинная дисперсия:", istinnaya_disp)
print("Средняя оценка /n :", round(statistics.mean(sm), 3))
print("Средняя оценка /n-1:", round(statistics.mean(nesm), 3))Вывод:
Истинная дисперсия: 1.0 Средняя оценка /n : 0.799 Средняя оценка /n-1: 0.999
Оценка с делением на $n$ систематически занижает дисперсию (0,8 вместо 1,0), а поправка Бесселя возвращает её к истинному значению. Симуляция подтвердила теорию.
Частые ошибки
- Делить на $n$ для выборки — это занижает разброс; для выборки берут $n-1$.
- Путать дисперсию $s^2$ и СКО $s$: у них разная размерность.
- Интерпретировать $\bar x \pm s$ как погрешность среднего — это разброс отдельных измерений, а не точность среднего (об этом следующий урок).
Итог
- СКО $s$ измеряет разброс отдельных измерений вокруг среднего.
- В знаменателе выборочной дисперсии стоит $n-1$ (поправка Бесселя) для несмещённости.
- СКО имеет ту же размерность, что и величина; в $\bar x \pm s$ лежит около 68% данных.
- СКО характеризует данные, а не точность среднего.