Dlaczego przekształcamy wypaczone dane w normalny rozkład


15

Pracowałem nad rozwiązaniem konkursu cen mieszkań na Kaggle (jądro Human Analog w cenach domów: techniki regresji z wyprzedzeniem ) i natknąłem się na tę część:

# 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])

Nie jestem pewien, jaka jest potrzeba przekształcenia przekrzywionego rozkładu w rozkład normalny. Czy ktoś może szczegółowo wyjaśnić:

  1. Dlaczego to się tutaj robi? lub Jak to jest pomocne?
  2. Czym różni się to od skalowania funkcji?
  3. Czy jest to niezbędny krok do opracowania funkcji? Co może się stać, jeśli pominę ten krok?

2
Tak więc reszty są gaussowskie (i można je anulować przez uśrednienie), wariancja jest stabilna, co stanowi warunek wstępny optymalizacji dla przyspieszenia konwergencji. en.wikipedia.org/wiki/Power_transform
Emre

Odpowiedzi:


12

Możesz zinterpretować swoje współczynniki. To znaczy, aby móc powiedzieć rzeczy takie jak „jeśli zwiększę moją zmienną o 1, wówczas średnio i wszystkie inne wartości będą równe, Y powinno wzrosnąć o β 1X1Yβ1 ”.

Aby twoje współczynniki były interpretowalne, regresja liniowa zakłada kilka rzeczy.

Jedną z tych rzeczy nie jest wielokoliniowość. To znaczy, twój X zmienne nie powinny być skorelowane ze sobą.

Kolejną jest Homoscedastyczność . Błędy swój model rewizje powinny mieć taką samą wariancję, czyli należy upewnić się, że regresja liniowa nie robić małe błędy przy niskich wartościach i dużych błędów dla wyższych wartości X . Innymi słowy, różnica między tym, co przewidująXXY^YY zgodne z rozkładem Gaussa. (Dowód jest wysoce matematyczny).

W zależności od danych możesz być w stanie Gaussa. Typowe przekształcenia przyjmują odwrotność, logarytm lub pierwiastki kwadratowe. Istnieje wiele innych, wszystko zależy od twoich danych. Musisz spojrzeć na swoje dane, a następnie wykonać histogram lub przeprowadzić test normalności , taki jak test Shapiro-Wilka.

Są to wszystkie techniki budowy obiektywnego estymatora . Nie sądzę, żeby miało to coś wspólnego ze zbieżnością, jak powiedzieli inni (czasem możesz chcieć również znormalizować swoje dane, ale to inny temat).

Zgodnie z założeniami regresji liniowej jest ważne, jeśli chcesz albo zinterpretować współczynniki lub jeśli chcesz używać testów statystycznych w modelu. W przeciwnym razie zapomnij o tym.

Stosując logarytm lub normalizację danych, jest również ważny, ponieważ algorytmy optymalizacji regresji liniowej zazwyczaj zminimalizować y^y2ynormalize


3

Wypaczone dane są tutaj normalizowane przez dodanie jednego (jeden dodany, aby zera były przekształcane w jeden, ponieważ log 0 nie jest zdefiniowany) i pobranie logu naturalnego. Dane mogą być prawie normalizowane za pomocą technik transformacji, takich jak pierwiastek kwadratowy, odwrotność lub logarytm. Dlaczego jest to wymagane? W rzeczywistości wiele algorytmów w danych zakłada, że ​​analiza danych jest normalna i oblicza różne statystyki, zakładając, że tak jest. Im bardziej dane są bliskie normalności, tym bardziej pasuje do założenia.


3
Algorytmy tutaj to zwiększanie gradientu i regresja lasso. Myślę, że ta odpowiedź byłaby bardziej pomocna, gdyby mogła pokazać, w jaki sposób jest (lub nie jest) istotna dla tych dwóch algorytmów.
oW_

Z mojego punktu widzenia, gdy model jest szkolony, czy jest to regresja liniowa, czy jakieś drzewo decyzyjne (odporne na wartości odstające), przekrzywienie danych sprawia, że ​​modelowi trudno jest znaleźć odpowiedni wzorzec w danych, dlatego musimy stworzyć przekrzywione dane w normalny lub gaussowski.
Goldi Rana

1

Ponieważ nauka danych to tylko statystyki na koniec dnia, a jednym z kluczowych założeń statystyki jest Twierdzenie o granicy centralnej . Tak więc ten krok jest wykonywany, ponieważ w kolejnym kroku wykorzystuje się techniki statystyki, które się na nim opierają.


1
Twierdzenie nie jest założeniem. Twierdzenie o granicy centralnej faktycznie gwarantuje, że średnia niezależnych zmiennych losowych jest w przybliżeniu normalnie rozkładem, nawet jeśli poszczególne zmienne losowe nie są normalnie rozłożone.
Elias Strehle

1
Jest to jeden bardzo błędny łańcuch rozumowania. To tak: „- Widziałem, jak ludzie obierają jabłka przed zjedzeniem. Dlaczego?
ayorgo
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.