Как выполнить тест бреуша-годфри в r


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

Чтобы проверить автокорреляцию первого порядка, мы можем выполнить тест Дурбина-Ватсона . Однако, если мы хотим проверить автокорреляцию более высоких порядков, нам нужно выполнить тест Бреуша-Годфри .

В этом тесте используются следующие предположения :

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

H A (альтернативная гипотеза): существует автокорреляция определенного порядка, меньшего или равного p .

Статистика теста соответствует распределению Хи-квадрат с p степенями свободы.

Если значение p , соответствующее этой тестовой статистике, ниже определенного уровня значимости (например, 0,05), то мы можем отвергнуть нулевую гипотезу и заключить, что существует автокорреляция между остатками определенного более низкого порядка или равными p .

Чтобы выполнить тест Бреуша-Годфри в R, мы можем использовать функцию bgtest(y ~ x, order = p) из библиотеки lmtest .

В этом руководстве представлен пример использования этого синтаксиса в R.

Пример: тест Бреуша-Годфри в R

Во-первых, давайте создадим поддельный набор данных, содержащий две переменные-предикторы (x1 и x2) и переменную ответа (y).

 #create dataset
df <- data. frame (x1=c(3, 4, 4, 5, 8, 9, 11, 13, 14, 16, 17, 20),
                 x2=c(7, 7, 8, 8, 12, 4, 5, 15, 9, 17, 19, 19),
                  y=c(24, 25, 25, 27, 29, 31, 34, 34, 39, 30, 40, 49))

#view first six rows of dataset
head(df)

  x1 x2 y
1 3 7 24
2 4 7 25
3 4 8 25
4 5 8 27
5 8 12 29
6 9 4 31

Далее мы можем выполнить тест Бреуша-Годфри, используя функцию bgtest() из пакета lmtest .

В этом примере мы проверим автокорреляцию между остатками в порядке p = 3:

 #load lmtest package
library (lmtest)

#perform Breusch-Godfrey test
bgtest(y ~ x1 + x2, order= 3 , data=df)

	Breusch-Godfrey test for serial correlation of order up to 3

data: y ~ x1 + x2
LM test = 8.7031, df = 3, p-value = 0.03351

Из результата мы видим, что статистика теста равна X2 = 8,7031 с 3 степенями свободы. Соответствующее значение p составляет 0,03351 .

Поскольку это значение p меньше 0,05, мы можем отвергнуть нулевую гипотезу и заключить, что существует автокорреляция между остатками порядка меньше или равного 3.

Как бороться с автокорреляцией

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

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

Дополнительные ресурсы

Как выполнить простую линейную регрессию в R
Как выполнить множественную линейную регрессию в R
Как выполнить тест Дурбина-Ватсона в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *