Czy potrzebna jest standaryzacja przed dopasowaniem regresji logistycznej?

39

Moje pytanie brzmi: czy musimy dopasować zestaw danych, aby upewnić się, że wszystkie zmienne mają tę samą skalę, między [0,1], przed dopasowaniem regresji logistycznej. Formuła jest następująca:

ximin(xi)max(xi)min(xi)

Mój zestaw danych ma 2 zmienne, opisują to samo dla dwóch kanałów, ale głośność jest inna. Powiedzmy, że jest to liczba odwiedzin klientów w dwóch sklepach, tu chodzi o to, czy klient dokonuje zakupów. Ponieważ klient może odwiedzić oba sklepy lub dwa razy pierwszy sklep, raz drugi sklep, zanim dokona zakupu. ale łączna liczba wizyt klientów w pierwszym sklepie jest 10 razy większa niż w drugim sklepie. Kiedy dopasuję tę regresję logistyczną, bez standaryzacji coef(store1)=37, coef(store2)=13; jeśli ujednolicę dane, to coef(store1)=133, coef(store2)=11. Coś takiego. Które podejście ma większy sens?

Co się stanie, jeśli dopasuję model drzewa decyzyjnego? Wiem, że modele struktury drzew nie potrzebują standaryzacji, ponieważ sam model jakoś to dostosuje. Ale sprawdzanie z wami wszystkimi.

użytkownik1946504
źródło
10
Nie musisz standaryzować, chyba że regresja jest uregulowana. Czasami jednak pomaga to w interpretacji i rzadko boli.
alex
3
Czy nie jest zwykłym sposobem standaryzacji xix¯sd(x) ?
Peter Flom - Przywróć Monikę
1
@Peter, tak myślałem wcześniej, ale znalazłem artykuł benetzkorn.com/2011/11/data-normalization-and-standardization/… >, wydaje się, że normalizacja i standaryzacja to różne rzeczy. Jednym z nich jest wykonanie wariancji średniej 0, a drugim przeskalowanie każdej zmiennej. Tam się mylę. Dzięki za odpowiedź.
user1946504
7
Dla mnie standaryzacja znacznie utrudnia interpretację.
Frank Harrell,
2
Aby wyjaśnić, co powiedział @alex, skalowanie danych oznacza optymalne Czmiany współczynnika regularyzacji . Musisz więc wybrać Cpo ujednoliceniu danych.
akxlr,

Odpowiedzi:

37

Standaryzacja nie jest wymagana do regresji logistycznej. Głównym celem standaryzacji funkcji jest pomoc w zbieżności techniki stosowanej do optymalizacji. Na przykład, jeśli użyjesz Newtona-Raphsona, aby zmaksymalizować prawdopodobieństwo, ujednolicenie funkcji przyspieszy konwergencję. W przeciwnym razie możesz uruchomić swoją regresję logistyczną bez żadnego standaryzacji działania funkcji.

Aymen
źródło
Dzięki za odpowiedź. Czy to oznacza, że ​​preferowana jest standaryzacja? Ponieważ zdecydowanie chcemy, aby model był zbieżny, a kiedy mamy miliony zmiennych, po prostu łatwiej jest zaimplementować logikę standaryzacji w potoku modelowania niż dostrajanie zmiennych jeden po drugim w razie potrzeby. Czy rozumiem, prawda?
user1946504
4
zależy to od celu analizy. Nowoczesne oprogramowanie obsługuje dość ekstremalne dane bez standaryzacji. Jeśli istnieje naturalna jednostka dla każdej zmiennej (lata, euro, kg itp.), To wahałbym się ujednolicić, choć mogę swobodnie zmienić jednostkę z kg na na przykład tony lub gramy, ilekroć jest to bardziej sensowne.
Maarten Buis
19

@Aymen ma rację, nie musisz normalizować swoich danych w celu regresji logistycznej. (Aby uzyskać bardziej ogólne informacje, pomocne może być przeczytanie tego wątku CV: Kiedy należy wyśrodkować dane i kiedy należy przeprowadzić standaryzację?; Można również zauważyć, że transformacja jest częściej nazywana „normalizacją”, zobacz: Jak zweryfikować dystrybucja jest znormalizowana? ) Pozwolę sobie poruszyć kilka innych kwestii w pytaniu.

Warto tutaj zauważyć, że w regresji logistycznej współczynniki wskazują wpływ zmiany o jedną jednostkę zmiennej predykcyjnej na logarytm „sukcesu”. Efektem transformacji zmiennej (na przykład poprzez standaryzację lub normalizację) jest zmiana tego, co nazywamy „jednostką” w kontekście naszego modelu. Twoje nieprzetworzone dane różniły się dla pewnej liczby jednostek w oryginalnej metryki. Po znormalizowaniu dane wahały się od do . Oznacza to, że zmiana jednej jednostki oznacza teraz przejście z obserwacji o najniższej wartości do obserwacji o najwyższej wartości. Wielkość wzrostu prawdopodobieństwa sukcesu dziennika nie zmieniła się. Na podstawie tych faktów podejrzewam, że twoja pierwsza zmienna ( ) obejmowałax01store1133/373.6oryginalne jednostki, a twoja druga zmienna ( store2) obejmowała tylko oryginalnych jednostek. 11/130.85

gung - Przywróć Monikę
źródło
17

Jeśli używasz regresji logistycznej z LASSO lub regresji kalenicowej (jak robi to klasa Weka Logistic ), powinieneś. Jak zauważają Hastie, Tibshirani i Friedman (strona 82 w pdf lub na stronie 63 książki):

Rozwiązania kalenicowe nie są równoważne przy skalowaniu danych wejściowych, dlatego zwykle normuje się dane wejściowe przed rozwiązaniem.

Również ten wątek działa.

błąd
źródło