Ich versuche, eine multiple Regression in durchzuführen R
. Meine abhängige Variable hat jedoch das folgende Diagramm:
Hier ist eine Streudiagramm-Matrix mit allen meinen Variablen ( WAR
ist die abhängige Variable):
Ich weiß, dass ich eine Transformation für diese Variable (und möglicherweise für die unabhängigen Variablen?) Durchführen muss, bin mir jedoch nicht sicher, welche Transformation genau erforderlich ist. Kann mich jemand in die richtige Richtung weisen? Gerne gebe ich zusätzliche Informationen zum Zusammenhang zwischen unabhängigen und abhängigen Variablen.
Die Diagnosegrafiken aus meiner Regression sehen folgendermaßen aus:
BEARBEITEN
Nach der Transformation der abhängigen und unabhängigen Variablen mithilfe von Yeo-Johnson-Transformationen sehen die Diagnosediagramme folgendermaßen aus:
Wenn ich ein GLM mit einer Protokollverknüpfung verwende, sind die Diagnosegrafiken:
R
mit dem Befehl ausgeführt werden,pairs(my.data, lower.panel = panel.smooth)
bei demmy.data
es sich um Ihren Datensatz handelt.lm
den nicht transformierten Variablen an. 2. Verwenden Sie die Funktionboxcox(my.lm.model)
aus demMASS
Paket, um zu schätzen . Der Befehl erzeugt auch eine Grafik, die Sie für unsere Bequemlichkeit hochladen können.Antworten:
John Fox 'Buch Ein R-Begleiter zur angewandten Regression ist eine hervorragende Ressource zur angewandten Regressionsmodellierung
R
. Das Paket,car
das ich in dieser Antwort durchgehend verwende, ist das Begleitpaket. Das Buch hat auch eine Website mit zusätzlichen Kapiteln.Transformieren der Antwort (auch als abhängige Variable oder Ergebnis bezeichnet)
R
lm
boxCox
car
family="yjPower"
Dies erzeugt ein Diagramm wie das folgende:
Verwenden Sie die Funktion
yjPower
aus demcar
Paket , um Ihre abhängige Variable jetzt zu transformieren :lambda
boxCox
Wichtig: Anstatt nur die abhängige Variable zu log-transformieren, sollten Sie in Betracht ziehen, eine GLM mit einem Log-Link auszustatten. Nachfolgend einige Referenzen, die weitere Informationen enthalten: erste , zweite , dritte . Um dies zu tun in
R
, Verwendungglm
:wo
y
ist die abhängige Variable undx1
,x2
usw. sind Ihre unabhängigen Variablen.Transformationen von Prädiktoren
Transformationen von streng positiven Prädiktoren können nach maximaler Wahrscheinlichkeit nach der Transformation der abhängigen Variablen geschätzt werden. Verwenden Sie dazu die Funktion
boxTidwell
aus dercar
Packung (das Originalpapier finden Sie hier ). Verwenden Sie es wie folgt aus:boxTidwell(y~x1+x2, other.x=~x3+x4)
. Wichtig ist hierbei, dass diese Optionother.x
die Terme der Regression angibt, die nicht transformiert werden sollen. Dies wären alle Ihre kategorialen Variablen. Die Funktion erzeugt eine Ausgabe der folgenden Form:income
income
Ein weiterer sehr interessanter Beitrag auf der Website über die Transformation der unabhängigen Variablen ist dieser .
Nachteile von Transformationen
Modellierung nichtlinearer Beziehungen
Zwei recht flexible Methoden zur Anpassung nichtlinearer Beziehungen sind Bruchpolynome und Splines . Diese drei Artikel bieten eine sehr gute Einführung in beide Methoden: Erstens , zweitens und drittens . Es gibt auch ein ganzes Buch über Bruchpolynome und
R
. DasR
Paketmfp
implementiert multivariable fraktionale Polynome. Diese Darstellung kann in Bezug auf fraktionelle Polynome informativ sein. Um Splines anzupassen, können Sie die Funktiongam
(verallgemeinerte additive Modelle, siehe hier für eine hervorragende Einführung mitR
) aus dem Paketmgcv
oder den Funktionen verwendenns
(natürliche kubische Splines) undbs
(kubische B-Splines) aus dem Paketsplines
(siehe hier für ein Beispiel für die Verwendung dieser Funktionen). Mitgam
ders()
Funktion können Sie festlegen, welche Prädiktoren mithilfe von Splines angepasst werden sollen :hier
x1
würde unter Verwendung eines Splines undx2
linear wie bei einer normalen linearen Regression angepasst . Innerhalb könnengam
Sie die Distributionsfamilie und die Verknüpfungsfunktion wie in angebenglm
. Um ein Modell mit einer Protokollverknüpfungsfunktion auszustatten, können Sie die Optionfamily=gaussian(link="log")
ingam
als in angebenglm
.Schauen Sie sich diesen Beitrag von der Seite an.
quelle
mgcv
Paket und verwendegam
. Wenn das nicht hilft, bin ich am Ende meines Witzes, fürchte ich. Es gibt Leute hier, die viel erfahrener sind als ich und die Ihnen vielleicht weitere Ratschläge geben können. Ich kenne mich auch nicht mit Baseball aus. Vielleicht gibt es ein logischeres Modell, das mit diesen Daten Sinn macht.Sie sollten uns mehr über die Art Ihrer Antwortvariablen (Ergebnis, abhängige Variable) erzählen. Ab Ihrem ersten Diagramm ist es stark positiv verzerrt, mit vielen Werten nahe Null und einigen negativen. Daher ist es möglich, aber nicht unvermeidlich, dass Ihnen diese Transformation hilft, aber die wichtigste Frage ist, ob die Transformation Ihre Daten einer linearen Beziehung näher bringen würde.
Beachten Sie, dass negative Werte für die Antwort eine gerade logarithmische Transformation ausschließen, nicht jedoch log (Antwort + Konstante) und kein verallgemeinertes lineares Modell mit logarithmischer Verknüpfung.
Auf dieser Website gibt es viele Antworten zum Thema Protokoll (Antwort + Konstante), das statistische Personen aufteilt: Einige mögen es nicht als ad hoc und schwierig, damit zu arbeiten, während andere es als legitimes Gerät betrachten.
Ein GLM mit Loglink ist weiterhin möglich.
Alternativ kann es sein, dass Ihr Modell einen gemischten Prozess widerspiegelt. In diesem Fall ist ein angepasstes Modell, das den Datenerzeugungsprozess genauer widerspiegelt, eine gute Idee.
(SPÄTER)
Das OP hat eine abhängige Variable WAR mit Werten im Bereich von ungefähr 100 bis -2. Um Probleme mit der Verwendung von Logarithmen mit Null oder negativen Werten zu lösen, schlägt OP eine Fudge von Nullen und Negativen auf 0,000001 vor. Auf einer logarithmischen Skala (Basis 10) reichen diese Werte von etwa 2 (100 oder so) bis -6 (0,000001). Die Minderheit der verfälschten Punkte auf einer logarithmischen Skala ist jetzt eine Minderheit der massiven Ausreißer. Plotten Sie log_10 (fudged WAR) gegen irgendetwas anderes, um dies zu sehen.
quelle