Как выполнить тест Дарбина-Ватсона в R


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

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

H 0 (нулевая гипотеза): между остатками нет корреляции.

H A (альтернативная гипотеза): остатки автокоррелированы.

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

Пример: тест Дарбина-Ватсона в R

Чтобы выполнить тест Дарбина-Ватсона, нам сначала нужно подобрать модель линейной регрессии. Мы будем использовать встроенный набор данных R mtcars и подгоним регрессионную модель, используя mpg в качестве переменной-предиктора и disp и wt в качестве независимых переменных.

#load mtcars dataset
data(mtcars)

#view first six rows of dataset
head(mtcars)

 mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1

#fit regression model
model <- lm(mpg ~ disp+wt, data=mtcars)

Затем мы можем выполнить тест Дарбина-Ватсона, используя функцию durbinWatsonTest() из пакета car :

#load car package
library(car)

#perform Durbin-Watson test
durbinWatsonTest(model)

Loading required package: carData
 lag Autocorrelation D-W Statistic p-value
 1 0.341622 1.276569 0.034
 Alternative hypothesis: rho != 0

Из вывода мы видим, что статистика теста равна 1,276569 , а соответствующее значение p равно 0,034.Поскольку это p-значение меньше 0,05, мы можем отклонить нулевую гипотезу и сделать вывод, что остатки в этой регрессионной модели автокоррелированы.

Что делать, если обнаружена автокорреляция

Если вы отвергаете нулевую гипотезу и заключаете, что в остатках присутствует автокорреляция, то у вас есть несколько различных вариантов исправления этой проблемы, если вы считаете ее достаточно серьезной:

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