In einigen Literaturstellen habe ich gelesen, dass eine Regression mit mehreren erklärenden Variablen, wenn in verschiedenen Einheiten, standardisiert werden musste. (Beim Standardisieren wird der Mittelwert abgezogen und durch die Standardabweichung dividiert.) In welchen anderen Fällen muss ich meine Daten standardisieren? Gibt es Fälle, in denen ich meine Daten nur zentrieren sollte (dh ohne Division durch Standardabweichung)?
multiple-regression
standardization
centering
mathieu_r
quelle
quelle
Antworten:
In Regression ist es oft empfohlen, zentrieren die Variablen so , dass die Prädiktoren haben bedeuten . Dies macht es so, dass der Intercept-Term als der erwartete Wert von wenn die Prädiktorwerte auf ihre gesetzt werden . Andernfalls wird der als der erwartete Wert von wenn die Prädiktoren auf 0 gesetzt sind. möglicherweise keine realistische oder interpretierbare Situation (z. B. was wäre, wenn die Prädiktoren Größe und Gewicht wären?). Ein weiterer praktischer Grund für die Skalierung in der Regression ist, wenn eine Variable einen sehr großen Maßstab hat, z. B. wenn Sie die Bevölkerungsgröße eines Landes als Prädiktor verwendet haben. In diesem Fall werden die Regressionskoeffizienten können auf einem sehr0 Y i Y i 10 - 6Y.ich Y.ich kleine Größenordnung (z. B. ), die beim Lesen der Computerausgabe etwas ärgerlich sein kann, sodass Sie die Variable möglicherweise in z. B. die Bevölkerungsgröße in Millionen umrechnen können. Die Konvention, mit der Sie Vorhersagen standardisieren, besteht hauptsächlich darin, dass die Einheiten der Regressionskoeffizienten gleich sind.10- 6
Wie @gung explizit auf und @MånsT anspielt (+1 auf beide, übrigens), hat die Zentrierung / Skalierung keinen Einfluss auf Ihre statistische Inferenz in Regressionsmodellen - die Schätzungen werden entsprechend angepasst und die Werte werden gleich sein.p
Andere Situationen, in denen das Zentrieren und / oder Skalieren nützlich sein kann:
wenn Sie versuchen, Variablen auf verschiedenen Skalen zu summieren oder zu mitteln , um vielleicht eine Art zusammengesetzte Punktzahl zu erstellen. Ohne Skalierung kann es vorkommen, dass eine Variable allein aufgrund ihrer Skalierung einen größeren Einfluss auf die Summe hat, was unerwünscht sein kann.
Vereinfachung von Berechnungen und Notation. Beispielsweise ist die Stichproben- Kovarianzmatrix einer die durch ihre Stichprobenmittel zentriert ist, einfach . In ähnlicher Weise können, wenn eine univariate Zufallsvariable im Mittel zentriert wurde, und die Varianz aus einer Stichprobe geschätzt werden, indem der Stichprobenmittelwert der Quadrate der beobachteten Stichprobe betrachtet wird Werte.X′X X var(X)=E(X2)
In Bezug auf das Vorgenannte kann PCA nur dann als Singulärwertzerlegung einer Datenmatrix interpretiert werden, wenn die Spalten zuerst mit ihren Mitteln zentriert wurden.
Beachten Sie, dass bei den letzten beiden von mir erwähnten Aufzählungspunkten keine Skalierung erforderlich ist und bei den ersten von mir erwähnten Aufzählungspunkten möglicherweise keine Zentrierung erforderlich ist, sodass die beiden Punkte nicht immer Hand in Hand gehen müssen.
quelle
(Update viel später hinzugefügt :) Ein analoger Fall, den ich vergessen habe, ist das Erstellen von Interaktionsbegriffen . Wenn ein Interaktions- / Produktterm aus zwei Variablen erstellt wird, die nicht auf 0 zentriert sind, wird ein gewisser Grad an Kollinearität induziert (wobei der genaue Betrag von verschiedenen Faktoren abhängt). Das Zentrieren adressiert zuerst dieses potentielle Problem. Eine ausführlichere Erklärung finden Sie in dieser hervorragenden Antwort von @Affine: Die Kollinearitätsdiagnose ist nur dann problematisch, wenn der Interaktionsterm enthalten ist .
quelle
Zusätzlich zu den Bemerkungen in den anderen Antworten möchte ich darauf hinweisen, dass der Maßstab und die Position der erklärenden Variablen die Gültigkeit des Regressionsmodells in keiner Weise beeinflussen.
Somit
Die Skalierung entspricht also einfach der Skalierung der entsprechenden Steigungen.
quelle
Wenn Sie den Gradientenabstieg für Ihr Modell verwenden, kann die Konvergenz durch Standardisierung der Kovariaten beschleunigt werden (da die entsprechenden Parameter den Gradienten möglicherweise unangemessen dominieren, wenn Sie die Kovariaten nicht skalieren). Um dies zu veranschaulichen, einige R-Code:
Bei einigen SVM-Anwendungen kann die Skalierung auch die Prognoseleistung verbessern: Merkmalsskalierung in der Beschreibung der unterstützten Vektordaten .
quelle
Ich bevorzuge "solide Gründe" sowohl für die Zentrierung als auch für die Standardisierung (sie existieren sehr oft). Im Allgemeinen haben sie mehr mit dem Datensatz und dem Problem zu tun als mit der Datenanalysemethode.
Sehr oft ziehe ich es vor, den Ursprung der Daten auf andere Punkte zu zentrieren (dh zu verschieben), die physikalisch / chemisch / biologisch / ... aussagekräftiger sind als der Mittelwert (siehe auch die Antwort von Macro), z
der Mittelwert einer Kontrollgruppe
leeres Signal
Die numerische Stabilität ist ein algorithmischer Grund, Daten zu zentrieren und / oder zu skalieren.
Schauen Sie sich auch die ähnliche Frage zur Normung an . Was auch "nur Mitte" abdeckt.
quelle
Um das von @cbeleites erwähnte Problem der numerischen Stabilität zu veranschaulichen, ist hier ein Beispiel von Simon Wood, wie man "bricht"
lm()
. Zuerst generieren wir einige einfache Daten und passen eine einfache quadratische Kurve an.Aber wenn wir 900 zu X addieren, sollte das Ergebnis so ziemlich dasselbe sein, außer nach rechts verschoben, nein? Leider nicht...
Bearbeiten , um den Kommentar von @Scortchi zu ergänzen. Wenn wir das von lm () zurückgegebene Objekt betrachten, sehen wir, dass der quadratische Term nicht geschätzt wurde und als NA angezeigt wird.
Und tatsächlich, wie von @Scortchi vorgeschlagen, "bricht" es, wenn wir uns die Modellmatrix ansehen und versuchen, sie direkt zu lösen.
Allerdings
lm()
gibt mir keine Warnung oder Fehlermeldung anders als dieNA
s auf derI(X^2)
Linie dessummary(B)
in R-3.1.1. Andere Algorithmen können natürlich auf unterschiedliche Weise mit unterschiedlichen Beispielen "gebrochen" werden.quelle
lm
schätzt keinen Koeffizienten für den quadratischen Term und warnt vor einer singulären Entwurfsmatrix - möglicherweise direkter als diese Diagramme.Ich bezweifle ernsthaft, ob die Zentrierung oder Standardisierung der Originaldaten das Multikollinearitätsproblem wirklich lindern könnte, wenn quadrierte Terme oder andere Interaktionsterme in die Regression einbezogen werden, wie einige von Ihnen, insbesondere Gung, oben empfohlen haben.
Betrachten wir zur Veranschaulichung ein einfaches Beispiel.
Angenommen, die wahre Spezifikation hat die folgende Form:
Somit ist die entsprechende OLS-Gleichung gegeben durch
Zusammenfassend kann ich sagen, dass wenn ich die Zentrierung richtig verstehe, die Zentrierungsdaten meines Erachtens nicht dazu beitragen, das MC-Problem zu mindern, das durch die Einbeziehung quadrierter Terme oder anderer Terme höherer Ordnung in die Regression verursacht wird.
Über Ihre Meinung würde ich mich freuen!
quelle
x = c(1,2,3); x2 = x^2; cor(x, x2); # [1] 0.9897433; xc = c(-1,0,1); xc2 = xc^2; cor(xc, xc2) # [1] 0
.