Как выполнить тест Уайта в R (с примерами)


Тест Уайта используется для определения наличия гетероскедастичности в регрессионной модели.

Гетероскедастичность относится к неравному разбросу остатков на разных уровнях переменной отклика в регрессионной модели, что нарушает одно из ключевых предположений линейной регрессии о том, что остатки одинаково разбросаны на каждом уровне переменной отклика.

В этом руководстве объясняется, как выполнить тест Уайта в R, чтобы определить, является ли гетероскедастичность проблемой в данной регрессионной модели.

Пример: Тест Уайта в R

В этом примере мы подберем модель множественной линейной регрессии, используя встроенный набор данных R mtcars.

Как только мы подгоним модель, мы будем использовать функцию bptest из библиотеки lmtest , чтобы выполнить тест Уайта, чтобы определить, присутствует ли гетероскедастичность.

Шаг 1: Подберите регрессионную модель.

Во-первых, мы подгоним регрессионную модель, используя mpg в качестве переменной отклика и disp и hp в качестве двух независимых переменных.

#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 < 2e-16 \*\*\*
disp -0.030346 0.007405 -4.098 0.000306 \*\*\*
hp -0.024840 0.013385 -1.856 0.073679.
---
Signif. 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

Шаг 2: Проведите тест Уайта.

Далее мы будем использовать следующий синтаксис для выполнения теста Уайта, чтобы определить, присутствует ли гетероскедастичность:

#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

Вот как интерпретировать вывод:

  • Тестовая статистика X 2 = 7,0766 .
  • Степеней свободы 5 .
  • Соответствующее значение p равно 0,215 .

В тесте Уайта используются следующие нулевая и альтернативная гипотезы:

  • Null (H 0 ) : присутствует гомоскедастичность.
  • Альтернатива ( HA ): присутствует гетероскедастичность.

Поскольку p-значение не меньше 0,05, мы не можем отвергнуть нулевую гипотезу. У нас нет достаточных доказательств того, что в регрессионной модели присутствует гетероскедастичность.

Что делать дальше

Если вы не можете отвергнуть нулевую гипотезу теста Уайта, то гетероскедастичность отсутствует, и вы можете приступить к интерпретации результатов исходной регрессии.

Однако если вы отвергаете нулевую гипотезу, это означает, что в данных присутствует гетероскедастичность. В этом случае стандартные ошибки, показанные в выходной таблице регрессии, могут быть ненадежными.

Есть несколько распространенных способов решить эту проблему, в том числе:

1. Преобразуйте переменную ответа.

Вы можете попробовать выполнить преобразование переменной ответа, например, взять логарифм, квадратный корень или кубический корень из переменной ответа. Как правило, это может привести к исчезновению гетероскедастичности.

2. Используйте взвешенную регрессию.

Взвешенная регрессия присваивает вес каждой точке данных на основе дисперсии ее подобранного значения. По сути, это дает небольшие веса точкам данных с более высокой дисперсией, что уменьшает их квадраты невязок. Когда используются правильные веса, это может устранить проблему гетероскедастичности.

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.