Как выполнить тест Уайта в 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. Используйте взвешенную регрессию.

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