Як виконати тест брейша-годфрі в r
Одним із ключових припущень лінійної регресії є відсутність кореляції між залишками, тобто залишки незалежні.
Щоб перевірити автокореляцію першого порядку, ми можемо виконати тест Дарбіна-Ватсона . Однак, якщо ми хочемо перевірити автокореляцію вищих порядків, нам потрібно виконати тест Брейша-Годфрі .
У цьому тесті використовуються такі припущення :
H 0 (нульова гіпотеза): немає автокореляції порядку, меншого або рівного p .
H A (альтернативна гіпотеза): існує автокореляція певного порядку, менша або рівна p .
Тестова статистика відповідає розподілу хі-квадрат із p ступенями свободи.
Якщо p-значення , яке відповідає цій тестовій статистиці, є нижчим за певний рівень значущості (наприклад, 0,05), тоді ми можемо відхилити нульову гіпотезу та зробити висновок, що існує автокореляція між залишками в певному нижчому порядку або дорівнює p .
Щоб виконати тест Брейша-Годфрі в R, ми можемо використати функцію bgtest(y ~ x, order = p) із бібліотеки lmtest .
Цей посібник містить приклад використання цього синтаксису в 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