Wie wählt man die beste Transformation, um Linearität zu erreichen?


10

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

t1=log(y+2.5)

t2=1log(y+5)

t3=1y+5

t4=1(y+10)3

t5=1(y+3)13 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.t=1(y+10)3y=1t1310

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?


Ich habe versucht, die Formatierung Ihrer Formeln zu verbessern, habe aber möglicherweise einige Fehler eingeführt - überprüfen Sie dies bitte.
Peter Ellis

Ich glaube dir nicht. Es ist mathematisch nicht möglich, dass bis gleichzeitig eine lineare Beziehung zu einer sechsten Variablen über den Bereich . Ich denke, Sie haben möglicherweise einen Fehler bei der Berechnung dieser Transformationen von . t1t50200y
whuber


2
Du hast recht. Es ist ziemlich erstaunlich, dass ein so breites Spektrum von Neuausdrücken von y in einer linearen Beziehung zu r bleibt. Danke, dass du das geteilt hast. Wenn Sie die Residuen zeichnen, werden Sie feststellen, dass ungefähr am besten aussieht, und dann muss nicht erneut ausgedrückt werden : . 1/(y+5)rplot(lm(1/(y+5)~r))
whuber

Antworten:


14

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(rp1)/pp1/21/31 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.1p0log(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(07)/(9010)0.088(20)/(18090)0.022p=1/2-16,6-32,4p0-7.3-6.6y=α+βlog(r)y(07)/(901/211/2101/211/2)16.632.4p07.36.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


Vielen Dank für den Rat der Box-Cox-Transformation. Ist es sinnvoll, das R-Quadrat von lm (1 / (y + 5) ~ r) und lm anderer Funktionen zu überprüfen und diese R-Quadrate dann zu vergleichen?
Nadya

Es ist sinnvoll, wann rfestgelegt 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 2R2rR2
whuber

Vielen Dank für die Antwort! Ich werde meine unabhängigen Variablen nicht transformieren
Nadya

@whuber: Angenommen, ich habe nur eine einzige Variable , was ist eine gute Faustregel, um die Transformation zu wählen? Ich habe das EDA-Buch von Tukey, aber es fällt mir schwer, mich zurechtzufinden. Vieles scheint sich auf die Re-Expression von Stift und Papier zu konzentrieren. Jede Seite / jedes Kapitel, die Sie für sehr wertvoll halten? y
Erich Schubert

@Erich Jedes Stück dieses Buches ist zutiefst lohnend: Wenn Sie etwas mit Bleistift und Papier machen können, können Sie einen Computer dafür programmieren :-). Mit einer einzelnen Variablen ist es oft schön, sie für die Symmetrie (ihrer empirischen Verteilung) zu transformieren ; Tukey nennt das ein "kleines Geschäft". Eine einfache Möglichkeit, eine solche Transformation zu identifizieren, ist in Abschnitt 3E, "Schnell schauen" beschrieben. Es zeigt, was aus einem Blick auf eine N-Buchstaben-Zusammenfassung gelernt werden kann (Tukey schlägt eine 7- oder 9-Buchstaben-Zusammenfassung vor). Der Erwerb dieser Fähigkeit ist wertvoller, als wenn ein Computerprogramm die Berechnungen für Sie durchführt.
whuber

1

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.

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.