Чому ми перетворюємо перекошені дані в звичайний розподіл


15

Я переглядав рішення конкурсу цін на житло на Kaggle (Ядерний аналог людини на ціни на житло : Техніка попередньої регресії ) і натрапив на цю частину:

# Transform the skewed numeric features by taking log(feature + 1).
# This will make the features more normal.
from scipy.stats import skew

skewed = train_df_munged[numeric_features].apply(lambda x: skew(x.dropna().astype(float)))
skewed = skewed[skewed > 0.75]
skewed = skewed.index

train_df_munged[skewed] = np.log1p(train_df_munged[skewed])
test_df_munged[skewed] = np.log1p(test_df_munged[skewed])

Я не впевнений, у чому полягає необхідність перетворення косого розподілу в нормальний розподіл. Будь ласка, чи може хтось детально пояснити:

  1. Чому це робиться тут? або Чим це корисно?
  2. Чим це відрізняється від масштабування функцій?
  3. Це необхідний крок для художньої інженерії? Що може статися, якщо я пропущу цей крок?

2
Таким чином, залишки є гауссовими (і їх можна скасувати шляхом усереднення), дисперсія стабільна, а також необхідна умова оптимізатора для прискорення конвергенції. en.wikipedia.org/wiki/Power_transform
Emre

Відповіді:


12

X1Yβ1

Щоб ваші коефіцієнти були інтерпретованими, лінійна регресія передбачає купу речей.

Х

XXY^YY

Залежно від ваших даних, ви можете зробити це Гауссом. Типовими перетвореннями є зворотне, логарифмне або квадратне коріння. Звичайно, існує багато інших, все залежить від ваших даних. Ви повинні переглянути свої дані, а потім зробити гістограму або провести тест на нормальність , наприклад, тест Шапіро-Вілка.

Це все методи побудови об'єктивного оцінювача . Я не думаю, що це пов'язане з конвергенцією, як говорили інші (іноді ви також можете нормалізувати свої дані, але це інша тема).

Дотримання припущень лінійної регресії важливо, якщо ви хочете інтерпретувати коефіцієнти або якщо ви хочете використовувати статистичні тести у вашій моделі. Інакше забудьте про це.

y^y2уnormalize


3

Скісні дані тут нормалізуються додаванням однієї (додається одна, так що нулі перетворюються на одиницю, оскільки журнал 0 не визначено) та взяття природного журналу. Дані можна майже нормалізувати за допомогою таких методів перетворення, як прийняття квадратного кореня або зворотного чи логарифму. Тепер, чому це потрібно. Насправді багато алгоритмів даних припускають, що наука є нормальною, і обчислюють різні статистичні дані при цьому. Отже, чим більше даних близькі до нормальних, тим більше це відповідає припущенню.


3
Алгоритми тут - це збільшення градієнта та регресія ласо. Я думаю, що ця відповідь була б кориснішою, якби вона могла показати, наскільки вона (або не відповідає) цим двом алгоритмам.
oW_

З моєї точки зору, коли модель навчається, чи це лінійна регресія, чи якесь дерево рішень (надійне для інших), дані перекосу утруднюють модель, щоб знайти належну схему в даних, тому ми маємо робити дані перекосу. в нормальну або гауссову.
Голді Рана

1

Оскільки наука даних - це лише статистика наприкінці дня, і одне з ключових припущень статистики - теорема про центральний межа . Таким чином, цей крок робиться, оскільки в наступному кроці використовуються методи статистики, які спираються на нього.


1
Теорема не є припущенням. Теорема центрального ліміту насправді гарантує, що середнє значення незалежних випадкових величин приблизно нормально розподіляється навіть тоді, коли окремі випадкові змінні нормально не розподіляються.
Ілля Стреле

1
Це один надзвичайно хибний ланцюжок міркувань. Це як: "- Я бачив, як люди очищають яблука, перш ніж їсти їх. Чому? - О, це тому, що яблука - це фрукти, і один з ключових фруктів - апельсин, і ви завжди лупите апельсин!".
айорго
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.