So führen sie den white-test in r durch (mit beispielen)
Der White-Test wird verwendet, um festzustellen, ob in einem Regressionsmodell Heteroskedastizität vorliegt.
Unter Heteroskedastizität versteht man die ungleichmäßige Streuung der Residuen auf verschiedenen Ebenen einer Antwortvariablen in einem Regressionsmodell, was gegen eine der Schlüsselannahmen der linearen Regression verstößt, dass Residuen auf jeder Ebene der Antwortvariablen gleichmäßig verteilt sind.
In diesem Tutorial wird erläutert, wie Sie den White-Test in R durchführen, um festzustellen, ob Heteroskedastizität in einem bestimmten Regressionsmodell ein Problem darstellt oder nicht.
Beispiel: Weißtest in R
In diesem Beispiel passen wir ein multiples lineares Regressionsmodell mithilfe des in mtcars integrierten R-Datensatzes an.
Sobald wir das Modell angepasst haben, verwenden wir die Funktion bptest aus der lmtest- Bibliothek, um den White-Test durchzuführen und festzustellen, ob Heteroskedastizität vorliegt.
Schritt 1: Passen Sie ein Regressionsmodell an.
Zunächst passen wir ein Regressionsmodell an, das mpg als Antwortvariable und disp und hp als zwei erklärende Variablen verwendet.
#load the dataset data(mtcars) #fit a regression model model <- lm(mpg~disp+hp, data=mtcars) #view model summary summary(model) Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 30.735904 1.331566 23.083 < 2nd-16 *** available -0.030346 0.007405 -4.098 0.000306 *** hp -0.024840 0.013385 -1.856 0.073679 . --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 3.127 on 29 degrees of freedom Multiple R-squared: 0.7482, Adjusted R-squared: 0.7309 F-statistic: 43.09 on 2 and 29 DF, p-value: 2.062e-09
Schritt 2: Führen Sie den White-Test durch.
Als Nächstes verwenden wir die folgende Syntax, um den White-Test durchzuführen, um festzustellen, ob Heteroskedastizität vorliegt:
#load lmtest library library(lmtest) #perform White's test bptest(model, ~ disp*hp + I(disp^2) + I(hp^2), data = mtcars) studentized Breusch-Pagan test data: model BP = 7.0766, df = 5, p-value = 0.215
So interpretieren Sie das Ergebnis:
- Die Teststatistik ist X2 = 7,0766 .
- Die Freiheitsgrade betragen 5 .
- Der entsprechende p-Wert beträgt 0,215 .
Der White-Test verwendet die folgenden Null- und Alternativhypothesen:
- Null (H 0 ) : Homoskedastizität liegt vor.
- Alternative ( HA ): Heteroskedastizität liegt vor.
Da der p-Wert nicht kleiner als 0,05 ist, können wir die Nullhypothese nicht ablehnen. Wir haben keine ausreichenden Beweise, um zu behaupten, dass Heteroskedastizität im Regressionsmodell vorhanden ist.
Was macht man als nächstes
Wenn Sie die Nullhypothese des White-Tests nicht ablehnen, liegt keine Heteroskedastizität vor und Sie können mit der Interpretation des Ergebnisses der ursprünglichen Regression fortfahren.
Wenn Sie jedoch die Nullhypothese ablehnen, bedeutet dies, dass in den Daten Heteroskedastizität vorliegt. In diesem Fall sind die in der Regressionsausgabetabelle angezeigten Standardfehler möglicherweise unzuverlässig.
Es gibt mehrere gängige Möglichkeiten, dieses Problem zu lösen, darunter:
1. Transformieren Sie die Antwortvariable.
Sie können versuchen, eine Transformation an der Antwortvariablen durchzuführen, indem Sie beispielsweise den Logarithmus, die Quadratwurzel oder die Kubikwurzel der Antwortvariablen ziehen. Im Allgemeinen kann dies dazu führen, dass die Heteroskedastizität verschwindet.
2. Verwenden Sie eine gewichtete Regression.
Die gewichtete Regression weist jedem Datenpunkt basierend auf der Varianz seines angepassten Werts eine Gewichtung zu. Im Wesentlichen werden dadurch Datenpunkte mit höheren Varianzen niedrig gewichtet, wodurch ihre Restquadrate reduziert werden. Wenn die entsprechenden Gewichte verwendet werden, kann das Problem der Heteroskedastizität beseitigt werden.