Вопрос или проблема
Я часто читаю рекомендации использовать StandardScaler для нормально распределенных данных, в противном случае – MinMax Scaling. Например, ответы здесь.
Интересно узнать причины/математику, стоящую за этим.
Я понимаю, что идея заключается в приведении распределения к стандартному нормальному, но почему мы не можем сделать это для других распределений? И почему MinMax scaling хорошо работает для всех, кроме нормального распределения?
PS: Пожалуйста, поправьте меня, если вы думаете, что я где-то неправильно понимаю.
Заявлять, что одна предобработка лучше другой, не имея информации о модели, которая будет использоваться впоследствии, бесполезно.
Спойлер: например, модели на основе деревьев, которые разделяются вдоль направления признака, совсем не зависят от предобработки.
Мое предположение о том, что мог иметь в виду оригинальный автор, заключается в следующем:
скажем, у вас есть признак $X_i \sim N(\mu, \sigma^2)$, тогда у вас есть ненулевая вероятность того, что выборка $x_i \sim p(X_i)$ будет произвольно далека от $\mu$… тогда, используя min max scaler, вы рискуете получить такие значения min-max, которые будут очень далеки из-за некоторых “выбросов”, и все будет сжато из-за них.
Это, для некоторой семьи моделей (например, нейронных сетей), может быть проблемой, потому что они тогда должны быть очень чувствительны к этому конкретному признаку.
Ответ или решение
Стандартный масштабатор (StandardScaler) рекомендуется для нормально распределенных данных по нескольким причинам, связанным с особенностями самого нормального распределения и тем, как различные методы масштабирования влияют на обработку данных. Давайте разберем это подробнее.
Нормальное распределение и Стандартный масштабатор
Нормальное распределение характеризуется симметричной формой, где большинство наблюдений сосредоточено вокруг среднего (μ), и значения уменьшаются по мере удаления от среднего. Стандартный масштабатор приводит данные к стандартному нормальному виду (с нулевым средним и единичной дисперсией) с помощью следующей формулы:
[ Z = \frac{X – \mu}{\sigma} ]
где ( X ) — значение наблюдения, ( \mu ) — среднее значение, а ( \sigma ) — стандартное отклонение. Такой подход позволяет сохранить относительную величину отклонений и взаимодействие между значениями.
Преимущества стандартного масштабирования для нормально распределенных данных
-
Сохранение отношения данных: В нормально распределенных данных значения приближены к своему среднему и имеют минимальное количество выбросов (если распределение действительно нормальное). Это делает их более предсказуемыми, и использование стандартного масштабатора помогает сохранить информацию о величине и важности отклонений.
-
Чувствительность большинства моделей: Многие статистические модели и алгоритмы машинного обучения, такие как линейные регрессии и нейронные сети, более чувствительны к изменениям в масштабах данных. Стандартное масштабирование обеспечивает однородность и совместимость, что может привести к более стабильным и надежным результатам.
-
Избежание искажений от выбросов: Как вы правильно заметили, при использовании MinMax Scaling (Масштабирования по минимуму и максимуму) данные масштабируются в диапазон [0, 1]. Это может привести к проблемам, если в наборе данных есть выбросы. Если один из данных значений значительно превышает остальные, его влияние может сжать остальные данные в очень узкий диапазон, что ведет к потере информации. Стандартный масштабатор, как правило, менее чувствителен к выбросам, так как он основывает свои расчеты на среднем и стандартном отклонении.
Почему MinMax Scaling может быть неэффективен для нормально распределенных данных
Хотя MinMax Scaling может работать для любых наборов данных, в случае нормально распределенных данных это может не всегда быть оправдано. Причины следующие:
-
Склонность к выбросам: Если в вашем наборе данных есть выбросы, они могут значительно сместить значения минимума и максимума, что приведет к сжатию основного диапазона данных. В итоге, важные различия будут сглажены, и модель может потерять способность различать значимые паттерны.
-
Потеря информации о распределении: MinMax Scaling не учитывает форму распределения данных, что может привести к тому, что данные окажутся неинформативными для определенных задач. Например, если у вас есть нормально распределенные данные, применение MinMax Scaling и последующий анализ может не зафиксировать природу распределения.
Заключение
Итак, использование StandardScaler для нормально распределенных данных является предпочтительным подходом, поскольку он более эффективно сохраняет информацию о структуре данных и обеспечивает лучшее качество предсказаний в большинстве моделей. В то время как MinMax Scaling может работать в других случаях, его применение к нормально распределённым данным может привести к искажению и потере информации.
Если у вас есть другие вопросы или если я смогу помочь вам в чем-то еще, пожалуйста, дайте знать!