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"
boxCox(my.regression.model, family="yjPower", plotit = TRUE)
Dies erzeugt ein Diagramm wie das folgende:
λλ
Verwenden Sie die Funktion yjPower
aus dem car
Paket , um Ihre abhängige Variable jetzt zu transformieren :
depvar.transformed <- yjPower(my.dependent.variable, lambda)
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
, Verwendung glm
:
glm.mod <- glm(y~x1+x2, family=gaussian(link="log"))
wo y
ist die abhängige Variable und x1
, 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 der car
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 Option other.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:
boxTidwell(prestige ~ income + education, other.x=~ type + poly(women, 2), data=Prestige)
Score Statistic p-value MLE of lambda
income -4.482406 0.0000074 -0.3476283
education 0.216991 0.8282154 1.2538274
income
λincome
Einkommenn e w= 1 / Einkommeno l d--------√
Ein weiterer sehr interessanter Beitrag auf der Website über die Transformation der unabhängigen Variablen ist dieser .
Nachteile von Transformationen
1 / y√λλ
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
. Das R
Paketmfp
implementiert multivariable fraktionale Polynome. Diese Darstellung kann in Bezug auf fraktionelle Polynome informativ sein. Um Splines anzupassen, können Sie die Funktion gam
(verallgemeinerte additive Modelle, siehe hier für eine hervorragende Einführung mit R
) aus dem Paketmgcv
oder den Funktionen verwendenns
(natürliche kubische Splines) und bs
(kubische B-Splines) aus dem Paket splines
(siehe hier für ein Beispiel für die Verwendung dieser Funktionen). Mit gam
der s()
Funktion können Sie festlegen, welche Prädiktoren mithilfe von Splines angepasst werden sollen :
my.gam <- gam(y~s(x1) + x2, family=gaussian())
hier x1
würde unter Verwendung eines Splines und x2
linear wie bei einer normalen linearen Regression angepasst . Innerhalb können gam
Sie die Distributionsfamilie und die Verknüpfungsfunktion wie in angeben glm
. Um ein Modell mit einer Protokollverknüpfungsfunktion auszustatten, können Sie die Option family=gaussian(link="log")
in gam
als in angeben glm
.
Schauen Sie sich diesen Beitrag von der Seite an.