Что такое нормальное распределение
Что проверяют
Понимаете ли вы, где нормальность действительно нужна, а где её предполагают по привычке. Колокол нарисует любой, а следом спрашивают: как проверить, что данные нормальные, и что делать, если нет, например перед t-тестом.
Как отвечать
Нормальное распределение задаётся двумя параметрами: средним μ и стандартным отклонением σ. Плотность симметрична относительно μ, среднее, медиана и мода совпадают, хвосты убывают очень быстро. Отсюда правило 68, 95 и 99,7: столько процентов значений лежит в пределах одного, двух и трёх σ от среднего.
Почему оно везде:
- центральная предельная теорема: среднее достаточно большой выборки из почти любого распределения с конечной дисперсией распределено примерно нормально. На этом держатся доверительные интервалы и t-тест;
- t-тест: требует нормальности не самих данных, а выборочного среднего. На больших выборках это обеспечивает ЦПТ, на маленьких и сильно скошенных результат ненадёжен, и лучше взять бутстреп или тест Манна-Уитни, помня, что он проверяет уже другую гипотезу;
- линейная регрессия: для честных p-values нормальными должны быть остатки, а не признаки и не целевая переменная.
Проверяют нормальность глазами и тестами. Q-Q plot через scipy.stats.probplot показывает, где именно данные уходят от прямой. Тест Шапиро-Уилка, scipy.stats.shapiro, даёт p-value, но на тысячах наблюдений отвергает нормальность из-за любой мелочи, а на двадцати не видит ничего. Полезно посмотреть на асимметрию и эксцесс.
Реальные данные часто ненормальны: доходы, чеки, время на сайте скошены вправо и ближе к логнормальному. Помогают логарифм или преобразования Бокса-Кокса и Йео-Джонсона.
Где спотыкаются
Думают, что StandardScaler делает данные нормальными. Он лишь сдвигает и масштабирует, форма распределения остаётся прежней, скошенное остаётся скошенным.
Требуют нормальности признаков для любой модели. Деревьям и бустингу форма распределения признаков безразлична.
Проверяют нормальность одним тестом и слепо верят p-value, не глядя на график и размер выборки.