Wie gehe ich mit Prädiktorvariablen aus verschiedenen Verteilungen in der logistischen Regression um?


8

Ich verwende die logistische Regression, um y bei x1 und x2 vorherzusagen:

z = B0 + B1 * x1 + B2 * x2
y = e^z / (e^z + 1)

Wie soll die logistische Regression mit Fällen umgehen, in denen meine Variablen sehr unterschiedliche Maßstäbe haben? Erstellen Menschen jemals logistische Regressionsmodelle mit Koeffizienten höherer Ordnung für Variablen? Ich stelle mir so etwas vor (für zwei Variablen):

z = B0 + B1 * x1 + B2 * x1^2 + B3 * x2 + B4 * x2^2

Ist es alternativ die richtige Antwort, die x1- und x2-Werte einfach zu normalisieren, zu standardisieren oder neu zu skalieren, bevor die logistische Regression verwendet wird?

Antworten:


6

Natürlich können Sie Ihre Parameter normalisieren, dies würde auch die Geschwindigkeit des Lernalgorithmus erhöhen.

Um am Ende der Ausführung des Algorithmus ein vergleichbares zu haben , sollten Sie für jedes Merkmal seinen Mittelwert und seinen Bereich . Dann ändern Sie jeden -Wert, dh den Wert des Merkmals für einen Datensatz , mit: Jetzt liegen Ihre -Werte im Intervall [- 1,1], damit Sie Ihre mit mehr Vertrauen und damit Ihrem Quotenverhältnis vergleichen können. Dies verkürzt auch die Zeit, um den besten Satz vonx i μ i r i = max i - min i r [ x i ] x i r r [ x i ] - μ iβxichμichrich=maxich- -Mindestichr[xich]]xichr r[xi]ββr'

r[xich]]- -μichrich
r[xich]]ββWenn Sie einen Gradientenabstieg verwenden. Denken Sie daran, Ihre Funktionen zu normalisieren, wenn Sie die Klasse eines neuen Datensatzes vorhersagen möchten .r'

Sie können auch Funktionen höherer Ordnung hinzufügen, dies führt jedoch zu einer Überanpassung. Solange Sie mehr Parameter hinzufügen, ist es normalerweise besser, eine Regularisierung hinzuzufügen, die versucht, eine Überanpassung zu vermeiden, indem Sie die Größe Ihres verringern . Dies wird erhalten, indem dieser Begriff zur logistischen Regressionskostenfunktion wobei die Potenz der Regularisierung abstimmt.λ n i = 0 β 2 i λβ

λich=0nβich2
λ

Ich würde vorschlagen, hier einen Blick auf Stanfords Kurse zum maschinellen Lernen zu werfen: http://www.ml-class.org/course/video/preview_list , Unit 6 und 7.


Nur um zu verdeutlichen, wenn Sie sagen, dass Sie einen neuen Datensatz r 'normalisieren , verwenden Sie alte und die aus den Originaldaten abgeleitet wurden. Richtig? Vielen Dankr imuirich
FMZ

Ja, so ist es. Sie sollten und die im Trainingssatz berechnet wurden, um die Werte eines neuen Datensatzes zu normalisieren. Ps Sie können auch die Standardabweichung Ihres Features anstelle von . r i x i r iμichrichxichrich
Simone

6

@ Simone macht einige gute Punkte, also werde ich nur ein paar ergänzende Leckerbissen einwerfen. Obwohl die Normalisierung beispielsweise bei der Geschwindigkeit hilfreich sein kann, werden bei der logistischen Regression keine Annahmen über die Verteilung Ihrer Prädiktorvariablen getroffen. Somit müssen Sie nicht haben zu normalisieren. Zweitens ist das Hinzufügen eines quadratischen Ausdrucks zulässig, obwohl dies zu einer Überanpassung führen kann (und Sie müssen diesbezüglich vorsichtig sein). Dies würde bedeuten, dass die Erfolgswahrscheinlichkeit in der Mitte des Bereichs eines Prädiktors höher ist als an den Extremen (oder umgekehrt).


4

Theoretisch ist die Skala Ihrer Eingaben für die logistische Regression irrelevant. Sie können "theoretisch" mit 10 10 10 10 multiplizieren und die Schätzung für wird entsprechend . Aufgrund der Invarianzeigenschaft von MLEs ist sie mal kleiner als das ursprüngliche .X.11010101010 - 10 10 10 β 1β110- -101010β1

Aber versuchen Sie, R dazu zu bringen, die oben angepasste Regression durchzuführen - sie wird ausflippen (wird nicht einmal in der Lage sein, die X-Matrix zu konstruieren).

Dies ist ein bisschen wie der Cholesky-Zerlegungsalgorithmus zur Berechnung einer Matrixquadratwurzel. Ja, in der exakten Mathematik beinhaltet die Cholesky-Zerlegung niemals die Quadratwurzel der negativen Zahl, aber Rundungsfehler und Gleitkomma-Arithmetik können zu solchen Fällen führen.

Sie können eine beliebige lineare Kombination Ihrer X-Variablen verwenden, und die vorhergesagten Werte sind dieselben.

Wenn wir den Rat von @ simone befolgen und die neu skalierten X-Variablen zum Anpassen des Modells verwenden . Wir können jedoch die Invarianzeigenschaft von MLE verwenden, um die gewünschte Beta zu erhalten, nachdem wir numerisch stabile Eingabe-X-Variablen verwendet haben. Es kann sein, dass die Beta auf der ursprünglichen Skala leichter zu interpretieren ist als die Beta auf der transformierten von @ simone. Wir haben also das transformierte ( te Beobachtung für die te Variable), nennen es , definiert durch: i j ˜ x i jxichjichjx~ichj

x~ichj=einjxichj+bj

Die Auswahl von @ simone entspricht und (unter Verwendung von , um die Statistik ter Ordnung der ten Variablen zu bezeichnen, dh ). Die und kann gedacht werden als Algorithmus - Parameter ( der gewählte Algorithmus stabiler und / oder schneller laufen zu machen). Wir passen dann eine logistische Regression mit an und erhalten Parameterschätzungen . Also schreiben wir den linearen Prädiktor aus: bj= ¯ x jeinj=1x[N.]]j- -x[1]]jbj=x¯jx[N.]]j- -x[1]]jx[ich]]jichjx[N.]]jx[N.- -1]]jx[1]]jeinjbjx~ichjβ~j

zich=β~0+jx~ichjβ~j

Ersetzen Sie nun die Gleichung und Sie erhalten:x~ichj

zich=β~0+j(einjxichj+bj)β~j=β0+jxichjβj
Wobei
β0=β~0+jbjβ~jβj=einjβ~j

Sie können sehen, dass die Parameter theoretisch überhaupt keinen Unterschied machen: Jede Wahl (außer ) führt zu derselben Wahrscheinlichkeit, da der lineare Prädiktor unverändert bleibt. Es funktioniert sogar für kompliziertere lineare Transformationen, z. B. die Darstellung der X-Matrix durch ihre Hauptkomponenten (die Rotationen beinhalten). So können wir die Ergebnisse zurücktransformieren, um die Betas zu erhalten, die wir für die Interpretation benötigen.einj,bjeinj=0


Schöner theoretischer Beweis. Ohne Normalisierung haben die Quotenverhältnisse eine wirklich praktische Bedeutung. Manchmal verwenden Praktiker diese Quotenverhältnisse jedoch, um die Bedeutung dieses Merkmals zu bewerten, und es ist irgendwie irreführend, weil ein Merkmal signifikant sein kann, aber auch in einem großen Bereich variieren kann und daher ein niedriges Quotenverhältnis aufweist. Mit der Normalisierung sind sie sofort vergleichbar, auch wenn sie ihre praktische Bedeutung verlieren. Natürlich muss ein statistischer Test durchgeführt werden, um die Signifikanz eines Merkmals zu bewerten.
Simone
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.