Jak wykonać test white'a w r (z przykładami)
Test White’a służy do określenia, czy w modelu regresji występuje heteroskedastyczność .
Heteroscedastyczność odnosi się do nierównomiernego rozproszenia reszt na różnych poziomachzmiennej odpowiedzi w modelu regresji, co narusza jedno z kluczowych założeń regresji liniowej , że reszty są równomiernie rozproszone na każdym poziomie zmiennej odpowiedzi.
W tym samouczku wyjaśniono, jak wykonać test White’a w języku R, aby określić, czy heteroskedastyczność jest problemem w danym modelu regresji.
Przykład: test bieli w R
W tym przykładzie dopasujemy model regresji liniowej wielokrotnej , korzystając z wbudowanego zbioru danych R mtcars.
Po dopasowaniu modelu użyjemy funkcji bptest z biblioteki lmtest do wykonania testu White’a w celu ustalenia, czy występuje heteroskedastyczność.
Krok 1: Dopasuj model regresji.
Najpierw dopasujemy model regresji, wykorzystując mpg jako zmienną odpowiedzi oraz disp i hp jako dwie zmienne objaśniające.
#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
Krok 2: Wykonaj test White’a.
Następnie użyjemy następującej składni, aby wykonać test White’a w celu ustalenia, czy występuje heteroskedastyczność:
#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
Oto jak zinterpretować wynik:
- Statystyka testowa wynosi X2 = 7,0766 .
- Stopnie swobody wynoszą 5 .
- Odpowiednia wartość p wynosi 0,215 .
W teście White’a wykorzystuje się następujące hipotezy zerowe i alternatywne:
- Null (H 0 ) : Homoskedastyczność jest obecna.
- Alternatywa ( HA ): Występuje heteroskedastyczność.
Ponieważ wartość p jest nie mniejsza niż 0,05, nie możemy odrzucić hipotezy zerowej. Nie mamy wystarczających dowodów, aby twierdzić, że heteroskedastyczność jest obecna w modelu regresji.
Co zrobic nastepnie
Jeśli nie odrzucisz hipotezy zerowej testu White’a, oznacza to, że heteroskedastyczność nie występuje i możesz przystąpić do interpretacji wyniku pierwotnej regresji.
Jeśli jednak odrzucisz hipotezę zerową, oznacza to, że w danych występuje heteroskedastyczność. W takim przypadku błędy standardowe wyświetlane w tabeli wyników regresji mogą być niewiarygodne.
Istnieje kilka typowych sposobów rozwiązania tego problemu, w tym:
1. Przekształć zmienną odpowiedzi.
Możesz spróbować przeprowadzić transformację zmiennej odpowiedzi, na przykład biorąc log, pierwiastek kwadratowy lub pierwiastek sześcienny zmiennej odpowiedzi. Ogólnie rzecz biorąc, może to spowodować zanik heteroskedastyczności.
2. Zastosuj regresję ważoną.
Regresja ważona przypisuje wagę każdemu punktowi danych na podstawie wariancji jego dopasowanej wartości. Zasadniczo nadaje to niskie wagi punktom danych o większych wariancjach, zmniejszając ich kwadraty resztowe. Zastosowanie odpowiednich wag może wyeliminować problem heteroskedastyczności.