Regression: Variablen transformieren

41

Müssen Sie beim Transformieren von Variablen alle dieselbe Transformation verwenden? Kann ich zum Beispiel unterschiedlich transformierte Variablen auswählen, wie in:

Sei Alter, Beschäftigungsdauer, Aufenthaltsdauer und Einkommen.x1,x2,x3

Y = B1*sqrt(x1) + B2*-1/(x2) + B3*log(x3)

Oder müssen Sie mit Ihren Transformationen konsistent sein und alle dieselben verwenden? Wie in:

Y = B1*log(x1) + B2*log(x2) + B3*log(x3) 

Mein Verständnis ist, dass das Ziel der Transformation darin besteht, das Problem der Normalität anzugehen. Wenn wir uns die Histogramme jeder Variablen ansehen, sehen wir, dass sie sehr unterschiedliche Verteilungen aufweisen, was mich zu der Annahme veranlassen würde, dass die erforderlichen Transformationen von Variable zu Variable unterschiedlich sind.

## R Code
df <- read.spss(file="http://www.bertelsen.ca/R/logistic-regression.sav", 
                use.value.labels=T, to.data.frame=T)
hist(df[1:7]) 

Alt-Text

Schließlich , wie gültig ist es Variablen - Transformation , wo hat Werte? Enthält diese Notwendigkeit Transformation in allen Variablen konsistent zu sein oder ist es adhoc verwendet auch für die Variablen , die nicht enthalten ‚s?log(xn+1)xn00

## R Code 
plot(df[1:7])

Alt-Text

Brandon Bertelsen
quelle

Antworten:

59

Man transformiert die abhängige Variable, um eine ungefähre Symmetrie und Homoskedastizität der Residuen zu erreichen . Transformationen der unabhängigen Variablen haben einen anderen Zweck: Schließlich werden bei dieser Regression alle unabhängigen Werte als fest und nicht als zufällig angenommen, so dass "Normalität" nicht anwendbar ist. Das Hauptziel dieser Transformationen besteht darin, lineare Beziehungen mit der abhängigen Variablen (oder tatsächlich mit ihrem Logit) zu erzielen . (Dieses Ziel hat Vorrang vor Hilfsprogrammen wie dem Reduzieren von überschüssigem Leverageoder eine einfache Interpretation der Koeffizienten zu erreichen.) Diese Beziehungen sind eine Eigenschaft der Daten und der Phänomene, die sie hervorgebracht haben. Sie müssen also die Flexibilität haben, geeignete Wiederholungen für jede der Variablen getrennt von den anderen zu wählen. Insbesondere ist es nicht nur kein Problem, ein Protokoll, eine Wurzel und ein Reziproke zu verwenden, es ist eher üblich. Das Prinzip ist, dass es (normalerweise) nichts Besonderes gibt, wie die Daten ursprünglich ausgedrückt werden. Lassen Sie die Daten daher Wiederholungsausdrücke vorschlagen, die zu effektiven, genauen, nützlichen und (wenn möglich) theoretisch begründeten Modellen führen.

Die Histogramme - die die univariaten Verteilungen widerspiegeln - deuten oft auf eine anfängliche Transformation hin, sind jedoch nicht dispositiv. Begleiten Sie sie mit Streudiagramm-Matrizen, damit Sie die Beziehungen zwischen allen Variablen untersuchen können.


Transformationen wie denen ein positiver konstanter "Startwert" ist, können funktionieren - und können auch angezeigt werden, wenn kein Wert von Null ist - aber manchmal zerstören sie lineare Beziehungen. In diesem Fall empfiehlt es sich, zwei Variablen zu erstellen . Einer von ihnen ist gleich wenn ungleich Null ist und ansonsten alles ist; Es ist praktisch, den Standardwert auf Null zu setzen. Das andere, nennen wir es , ist ein Indikator dafür, ob Null ist: es ist gleich 1, wenn und andernfalls 0. Diese Begriffe tragen eine Summe beilog(x+c)cxlog(x)xzxxx=0

βlog(x)+β0zx

zur Schätzung. Wenn , ist so dass der zweite Term und nur noch übrig . Wenn , wurde " " auf Null gesetzt, während , wobei nur der Wert übrig . Somit schätzt den Effekt, wenn und andernfalls ist ; der Koeffizient von .x>0zx=0βlog(x)x=0log(x)zx=1β0β0x=0βlog(x)

whuber
quelle
1
Sehr hilfreiche Beschreibung, danke für die Anleitung und das Detail auf meiner Unterfrage.
Brandon Bertelsen
pareonline.net/getvn.asp?v=15&n=12 Osborne (2002) empfiehlt, den Mindestwert in einer Verteilung bei genau 1,0 zu verankern. pareonline.net/getvn.asp?v=8&n=6
Chris
1
@Chris Alle Box-Cox-Transformationen gehen auch bei von negativ zu positiv über . Dies ist jedoch für eine nichtlineare Transformation irrelevant, da auf sie jede lineare Transformation folgen kann, ohne ihre Auswirkungen auf die Varianz oder Linearität einer Beziehung zu einer anderen Variablen zu ändern. Wenn Ihr Kunde also allergisch gegen negative Zahlen ist, fügen Sie nach der Transformation einfach eine geeignete Konstante hinzu . Das Hinzufügen der Konstante vor der Transformation kann jedoch einen tiefgreifenden Effekt haben - und deshalb könnte möglicherweise keine Empfehlung, immer zu verwenden, richtig sein. 11
Whuber
1
In einem meiner Datensätze, an dem ich arbeite, ist mir aufgefallen, dass, wenn ich die abhängige Antwortvariable auf den Ankerwert 1 verschoben und eine Box-Cox-Transformation verwendet habe, um den Versatz zu beseitigen, die resultierende Transformation geschwächt wurde, was zu Ihrer Kritik führte. ;)
Chris
1
@whuber Meine vorherige Frage war sehr dumm (wird wahrscheinlich Kommentar löschen). Natürlich bezieht sich auf den Dummy-Indikator und NICHT auf die Konstante im Modell. Nochmals vielen Dank für die ausführlichen und klaren Erklärungen dieses Aufbaus. sehr hilfreich für meine Arbeit. Insgesamt bevorzuge ich diese Parametrisierung im Gegensatz zu diesem anderen, äquivalenten Ansatz . β0zx
Landroni