John Fox 'Buch Ein R-Begleiter zur angewandten Regression ist eine hervorragende Ressource zur angewandten Regressionsmodellierung R. Das Paket, cardas 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)
RlmboxCoxcarλfamily="yjPower"
boxCox(my.regression.model, family="yjPower", plotit = TRUE)
Dies erzeugt ein Diagramm wie das folgende:

λλ
Verwenden Sie die Funktion yjPoweraus dem carPaket , 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 yist die abhängige Variable und x1, x2usw. 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 boxTidwellaus der carPackung (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.xdie 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λincomeEinkommenn 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 gamder 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 x1würde unter Verwendung eines Splines und x2linear wie bei einer normalen linearen Regression angepasst . Innerhalb können gamSie 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 gamals in angeben glm.
Schauen Sie sich diesen Beitrag von der Seite an.