Ist eine Standardisierung erforderlich, bevor die logistische Regression angepasst wird?

39

Meine Frage ist, ob wir den Datensatz standardisieren müssen, um sicherzustellen, dass alle Variablen den gleichen Maßstab zwischen [0,1] haben, bevor die logistische Regression angepasst wird. Die Formel lautet:

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

Mein Datensatz enthält 2 Variablen, sie beschreiben dasselbe für zwei Kanäle, aber die Lautstärke ist unterschiedlich. Angenommen, es ist die Anzahl der Kundenbesuche in zwei Geschäften. Hier ist angegeben, ob ein Kunde einkauft. Weil ein Kunde beide Geschäfte oder zweimal das erste Geschäft, einmal das zweite Geschäft, besuchen kann, bevor er einen Kauf tätigt. Die Gesamtzahl der Kundenbesuche für das erste Geschäft ist jedoch zehnmal höher als für das zweite Geschäft. Wenn ich diese logistische Regression ohne Standardisierung einsetze coef(store1)=37, coef(store2)=13; wenn ich die Daten standardisiere, dann coef(store1)=133, coef(store2)=11. Etwas wie das. Welcher Ansatz ist sinnvoller?

Was ist, wenn ich ein Entscheidungsbaummodell anpasse? Ich weiß, dass Baumstrukturmodelle keine Standardisierung benötigen, da das Modell sie irgendwie anpassen wird. Aber fragen Sie uns alle.

user1946504
quelle
10
Sie müssen nicht standardisieren, es sei denn, Ihre Regression ist reguliert. Es hilft jedoch manchmal bei der Interpretierbarkeit und tut selten weh.
Alex
3
Ist das nicht der übliche Weg, zu standardisieren ? xix¯sd(x)
Peter Flom - Reinstate Monica
1
@Peter, das habe ich mir schon gedacht, aber ich habe einen Artikel gefunden: benetzkorn.com/2011/11/data-normalization-and-standardization/… >. Normalisierung und Standardisierung scheinen verschiedene Dinge zu sein. Zum einen soll die Varianz 0 gemittelt werden, zum anderen soll jede Variable neu skaliert werden. Dort bin ich verwirrt. Danke für deine Antwort.
user1946504
7
Standardisierung erschwert mir die Interpretation erheblich.
Frank Harrell
2
Um zu verdeutlichen, was @alex gesagt hat, bedeutet das Skalieren Ihrer Daten, dass sich der optimale Regularisierungsfaktor Cändert. Sie müssen also Cnach der Standardisierung der Daten auswählen .
Akxlr

Antworten:

37

Für die logistische Regression ist keine Standardisierung erforderlich. Das Hauptziel der Standardisierung von Features besteht darin, die Konvergenz der für die Optimierung verwendeten Technik zu unterstützen. Wenn Sie beispielsweise Newton-Raphson verwenden, um die Wahrscheinlichkeit zu maximieren, beschleunigt die Standardisierung der Features die Konvergenz. Andernfalls können Sie Ihre logistische Regression ausführen, ohne die Funktionen standardisieren zu müssen.

Aymen
quelle
Danke für deine Antwort. Bedeutet das, dass Standardisierung bevorzugt wird? Da wir definitiv wollen, dass das Modell konvergiert, und wenn wir Millionen von Variablen haben, ist es einfacher, die Logik der Standardisierung in die Modellierungspipeline zu implementieren, als die Variablen nach Bedarf einzeln abzustimmen. Verstehe ich richtig?
user1946504
4
Das hängt vom Zweck der Analyse ab. Moderne Software kann mit extremen Daten umgehen, ohne sie zu standardisieren. Wenn es für jede Variable eine natürliche Einheit gibt (Jahre, Euro, kg usw.), würde ich zögern, sie zu standardisieren, obwohl ich jederzeit die Möglichkeit habe, die Einheit von kg in beispielsweise Tonnen oder Gramm zu ändern, wenn dies sinnvoller ist.
Maarten Buis
19

@Aymen ist richtig, Sie müssen Ihre Daten für die logistische Regression nicht normalisieren. (Für allgemeinere Informationen kann es hilfreich sein, diesen CV-Thread durchzulesen: Wann sollten Sie Ihre Daten zentrieren und wann sollten Sie standardisieren?; Sie können auch beachten, dass Ihre Transformation häufiger als "Normalisieren" bezeichnet wird; siehe: So überprüfen Sie a Verteilung ist normalisiert? ) Lassen Sie mich einige andere Punkte in der Frage ansprechen.

Beachten Sie hierbei, dass Ihre Koeffizienten in der logistischen Regression die Auswirkung einer Änderung Ihrer Prädiktorvariablen um eine Einheit auf die logarithmischen Erfolgsaussichten angeben. Durch die Transformation einer Variablen (z. B. durch Standardisieren oder Normalisieren) wird das geändert, was wir im Kontext unseres Modells als "Einheit" bezeichnen. Ihre rohen Daten variierten über eine bestimmte Anzahl von Einheiten in der ursprünglichen Metrik. Nachdem Sie sich normalisiert haben, lagen Ihre Daten im Bereich von bis . Das heißt, eine Änderung um eine Einheit bedeutet nun, dass von der niedrigstwertigen Beobachtung zur höchstwertigen Beobachtung übergegangen wird. Der Betrag der Erhöhung der Log-Erfolgschancen hat sich nicht geändert. dieser Tatsachen vermute ich, dass sich Ihre erste Variable ( ) überx01store1133/373.6Originaleinheiten, und Ihre zweite Variable ( store2) umfasst nur Originaleinheiten. 11/130.85

gung - Wiedereinsetzung von Monica
quelle
17

Wenn Sie eine logistische Regression mit LASSO oder eine Kammregression (wie in der Weka Logistic- Klasse) verwenden, sollten Sie dies tun. Als Hastie, Tibshirani und Friedman Punkte aus (Seite 82 des pdf oder auf Seite 63 des Buches):

Die Ridge-Lösungen sind bei der Skalierung der Eingaben nicht äquivariant, und daher standardisiert man normalerweise die Eingaben vor dem Lösen.

Auch dieser Thread tut.

Eracle
quelle