Ich möchte mehrere lineare Regressionen durchführen und dann neue Werte mit wenig Extrapolation vorhersagen. Ich habe meine Antwortvariable im Bereich von -2 bis +7 und drei Prädiktoren (die Bereiche um +10 - +200). Die Verteilung ist nahezu normal. Aber die Beziehung zwischen der Antwort und den Prädiktoren ist nicht linear, ich sehe Kurven auf den Plots. Zum Beispiel wie folgt : http://cs10418.userapi.com/u17020874/153949434/x_9898cf38.jpg
Ich möchte eine Transformation anwenden, um Linearität zu erreichen. Ich habe versucht, die Antwortvariable zu transformieren, indem ich verschiedene Funktionen überprüft und die resultierenden Diagramme betrachtet habe, um eine lineare Beziehung zwischen der Antwort und den Prädiktoren zu erkennen. Und ich fand heraus, dass es viele Funktionen gibt, die mir eine sichtbare lineare Beziehung geben können. Zum Beispiel Funktionen
usw. ergeben ähnliche Ergebnisse: http://cs10418.userapi.com/u17020874/153949434/x_06f13dbf.jpg
Nachdem ich die vorhergesagten Werte (für als und so weiter). Die Verteilungen sind mehr oder weniger normal.
Wie kann ich die beste Transformation für meine Daten auswählen? Gibt es eine quantitative (und nicht sehr komplizierte) Möglichkeit, die Linearität zu bewerten? Um zu beweisen, dass die ausgewählte Transformation die beste ist, oder um sie nach Möglichkeit automatisch zu finden.
Oder ist die einzige Möglichkeit die nichtlineare multiple Regression?
plot(lm(1/(y+5)~r))
Antworten:
Dies ist eine Art Kunst, aber es gibt einige einfache, einfache Dinge, die man immer versuchen kann.
Als erstes müssen Sie die abhängige Variable ( ) erneut ausdrücken , um die Residuen normal zu machen . Dies ist in diesem Beispiel nicht wirklich anwendbar, in dem die Punkte entlang einer glatten nichtlinearen Kurve mit sehr geringer Streuung zu fallen scheinen. Also fahren wir mit dem nächsten Schritt fort.y
Als nächstes müssen Sie die unabhängige Variable ( ) erneut ausdrücken, um die Beziehung zu linearisieren. Es gibt einen einfachen Weg, dies zu tun. Wählen Sie drei repräsentative Punkte entlang der Kurve, vorzugsweise an beiden Enden und in der Mitte. Aus der ersten Abbildung lese ich die geordneten Paare = , und . Ohne andere Informationen als diese scheint immer positiv zu sein. Eine gute Wahl ist es, die Box-Cox-Transformationen für verschiedene Potenzen , die normalerweise als Vielfache von oder und typischerweise zwischenr (r,y) (10,7) (90,0) (180,−2) r r→(rp−1)/p p 1/2 1/3 −1 und . (Der Grenzwert als nähert sich ist ) . Diese Transformation wird eine angenäherte lineare Beziehung vorgesehen , um die Neigung zwischen den beiden ersten Punkte ist gleich der Neigung zwischen dem zweiten Paar erstellen.1 p 0 log(r)
Zum Beispiel sind die Steigungen der nicht transformierten Daten = - und = . Diese sind ganz anders: einer ist ungefähr viermal so groß wie der andere. Der Versuch ergibt Steigungen von usw., die sich auf und : Jetzt ist einer von ihnen nur noch doppelt so wie der andere, was eine Verbesserung darstellt. Wenn ich so (eine Tabelle ist praktisch), finde ich, dass gut funktioniert: Die Steigungen sind jetzt und(0−7)/(90−10) 0.088 (−2−0)/(180−90) −0.022 p=−1/2 -16,6-32,4p≈0-7.3-6.6y=α+βlog(r)y(0−7)/(90−1/2−1−1/2−10−1/2−1−1/2) −16.6 −32.4 p≈0 −7.3 −6.6 , fast der gleiche Wert. Daher sollten Sie ein Modell der Form ausprobieren . Wiederholen Sie dann: Passen Sie eine Linie an, untersuchen Sie die Residuen, identifizieren Sie eine Transformation von , um sie ungefähr symmetrisch zu machen, und iterieren Sie.y=α+βlog(r) y
John Tukey liefert Details und viele Beispiele in seinem klassischen Buch Exploratory Data Analysis (Addison-Wesley, 1977). Er gibt ähnliche (aber etwas kompliziertere) Verfahren an, um varianzstabilisierende Transformationen von zu identifizieren . Ein Beispieldatensatz, den er als Übung liefert, betrifft jahrhundertealte Daten über Quecksilberdampfdrücke, die bei verschiedenen Temperaturen gemessen wurden. Das Befolgen dieses Verfahrens ermöglicht es, die Clausius-Clapeyron-Beziehung wiederzuentdecken ; Die Residuen zur endgültigen Anpassung können als quantenmechanische Effekte interpretiert werden, die bei atomaren Abständen auftreten!y
quelle
r
festgelegt ist, da dann ein Proxy für die Varianz der Residuen ist. Wenn Sie jedoch (die unabhängige Variable) erneut ausdrücken , ist wertlos oder irreführend: siehe stats.stackexchange.com/questions/13314/… . R 2r
Wenn Ihre Antwortvariable (oder besser gesagt, was die Residuen Ihrer Antwortvariablen werden) auf der ursprünglichen Skala eine Normalverteilung aufweist, wie Sie implizieren, bedeutet eine Transformation, um eine lineare Beziehung zu den anderen Variablen zu erstellen, dass sie nicht mehr Normal ist und es wird auch die Beziehung zwischen seiner Varianz und den Mittelwerten ändern. Aus diesem Teil Ihrer Beschreibung denke ich, dass Sie besser dran sind, nichtlineare Regression zu verwenden, als die Antwort zu transformieren. Andernfalls benötigen Sie nach der linearen Transformation der Antwort eine komplexere Fehlerstruktur (obwohl dies eine Frage der Beurteilung sein kann und Sie dies mithilfe grafischer Methoden überprüfen müssten).
Alternativ können Sie die Transformation der erklärenden Variablen untersuchen. Neben geraden Transformationen haben Sie auch die Möglichkeit, quadratisch hinzuzufügen.
Im Allgemeinen ist Transformation eher eine Kunst als eine Wissenschaft, wenn es keine Theorie gibt, die vorschlägt, was Sie als Grundlage für Transformation verwenden sollten.
quelle