Error bars: std, стандартная ошибка и доверительный интервал

Планка погрешности без подписи бессмысленна: std, SE и CI — это три разные величины.

Планки погрешностей (error bars) показывают неопределённость значения. Но они могут изображать разное: стандартное отклонение (разброс данных), стандартную ошибку среднего (точность оценки среднего) или доверительный интервал — и это не одно и то же.

Три разные вещи

Самая частая и опасная путаница в научной графике. Разберём три величины для выборки из $n$ наблюдений со стандартным отклонением $s$:

ВеличинаФормулаЧто показывает
Стандартное отклонение (SD)$s$разброс самих данных
Стандартная ошибка (SE)$\dfrac{s}{\sqrt{n}}$точность оценки среднего
95% доверительный интервал (CI)$\bar{x} \pm 1{,}96\,\dfrac{s}{\sqrt{n}}$диапазон правдоподобных средних

Ключевое: SD не уменьшается с ростом выборки (разброс данных как был, так и есть), а SE и CI уменьшаются как $1/\sqrt{n}$ — чем больше данных, тем точнее мы знаем среднее. Поэтому SE-планки на большой выборке крошечные, что выглядит «убедительно», но это совсем не значит, что данные плотно сгруппированы. Подменять SD на SE, чтобы планки казались меньше — распространённая (иногда намеренная) ошибка.

Считаем все три

Возьмём выборку и посчитаем SD, SE и 95% CI на чистом Python.

import statistics as st

data = [4.8, 5.1, 4.9, 5.3, 5.0, 4.7, 5.2, 5.0, 4.9, 5.1]
n = len(data)
mean = st.mean(data)
sd = st.stdev(data)            # выборочное std (n-1)
se = sd / (n ** 0.5)           # стандартная ошибка среднего
ci = 1.96 * se                 # полуширина 95% CI

print("n        =", n)
print("среднее  =", round(mean, 3))
print("SD       =", round(sd, 3))
print("SE       =", round(se, 3))
print("95% CI   =", round(mean, 3), "±", round(ci, 3))
print("          [", round(mean-ci, 3), ";", round(mean+ci, 3), "]")

Вывод:

n        = 10
среднее  = 5.0
SD       = 0.183
SE       = 0.058
95% CI   = 5.0 ± 0.113
          [ 4.887 ; 5.113 ]

Видно, насколько SE (0,059) меньше SD (0,187): они отличаются в $\sqrt{10} \approx 3{,}16$ раза. Если на графике стоят error bars ±0,06, читатель обязан знать — это SE, а не разброс данных.

Почему показывать обязательно

Среднее без неопределённости — это половина результата. Разница между двумя средними 5,0 и 5,2 значима, если их доверительные интервалы не перекрываются, и может быть случайной, если перекрываются сильно. Без error bars читатель не может судить, реален ли эффект. Точечная оценка без меры её надёжности в науке считается неполной и часто отклоняется рецензентами.

Как работает под капотом

SE выводится из центральной предельной теоремы: распределение выборочного среднего имеет стандартное отклонение $s/\sqrt{n}$, поэтому с ростом $n$ среднее «стягивается» к истинному. Множитель 1,96 — это квантиль нормального распределения для 95 %: вне $\pm 1{,}96\sigma$ лежит 5 % массы. На малых выборках вместо 1,96 берут квантиль $t$-распределения (он больше), иначе интервал получается заужённым.

Перекрытие интервалов и значимость

Распространённое заблуждение — будто «если доверительные интервалы двух средних перекрываются, разница незначима». Это верно лишь наполовину. Если 95%-ные CI не перекрываются, разница почти наверняка значима на уровне 5%. Но обратное неверно: интервалы могут немного перекрываться, а разница всё равно быть значимой. Строгий вывод даёт только корректный статистический тест (например, t-тест), а перекрытие CI — лишь грубый визуальный ориентир, склонный быть консервативным.

Ещё тоньше с планками вокруг отдельных средних на barplot: они показывают неопределённость каждого среднего, а не неопределённость их разности. Если вопрос именно в разнице между группами, честнее построить график самой разности с её доверительным интервалом — тогда видно сразу, накрывает ли интервал ноль. Этот «estimation plot» набирает популярность в биологии именно потому, что отвечает на вопрос исследователя напрямую, а не оставляет читателя додумывать, перекрываются ли две планки.

Частые ошибки

  • Не подписать, что именно изображают планки — SD, SE или CI; без этого график не интерпретируем.
  • Показывать SE вместо SD, чтобы планки выглядели «убедительно меньше».
  • Множитель 1,96 на крошечной выборке — нужен $t$-квантиль, иначе CI слишком узкий.
  • Вообще не показывать неопределённость — точечная оценка без надёжности неполна.

Итог

  • SD — разброс данных; SE — точность среднего; CI — диапазон правдоподобных средних.
  • SE и CI убывают как $1/\sqrt{n}$, SD — нет.
  • 95% CI: $\bar{x} \pm 1{,}96\, s/\sqrt{n}$ (на малых $n$ — t-квантиль).
  • Всегда подписывайте, что изображают планки, и показывайте неопределённость.
Проверьте себя
1. Чем стандартная ошибка (SE) отличается от стандартного отклонения (SD)?
AЭто одно и то же
BSD — разброс данных, SE = s/sqrt(n) — точность оценки среднего, убывает с ростом n
CSE всегда больше SD
DSD убывает с ростом выборки
2. Как вычисляется полуширина 95% доверительного интервала для среднего (при большом n)?
As * n
B1,96 * s / sqrt(n)
Cs / n
D1,96 * s
3. Почему опасно показывать SE вместо SD без подписи?
ASE нельзя посчитать
BSE-планки меньше и создают ложное впечатление, что данные плотно сгруппированы
CSE портит цвет графика
DМежду ними нет разницы