Jak wykonać test breuscha-godfreya w r


Jednym z kluczowych założeń regresji liniowej jest to, że pomiędzy resztami nie ma korelacji, co oznacza, że reszty są niezależne.

Aby sprawdzić autokorelację pierwszego rzędu, możemy wykonać test Durbina-Watsona . Jeśli jednak chcemy przetestować autokorelację przy wyższych rzędach, musimy wykonać test Breuscha-Godfreya .

W tym teście przyjęto następujące założenia :

H 0 (hipoteza zerowa): Nie ma autokorelacji rzędu mniejszego lub równego p .

H A (hipoteza alternatywna): Istnieje autokorelacja pewnego rzędu mniejszego lub równego p .

Statystyka testowa ma rozkład chi-kwadrat z p stopniami swobody.

Jeżeli wartość p odpowiadająca tej statystyce testowej jest poniżej pewnego poziomu istotności (np. 0,05), wówczas możemy odrzucić hipotezę zerową i stwierdzić, że istnieje autokorelacja pomiędzy resztami na pewnym niższym poziomie lub równymi p .

Aby wykonać test Breuscha-Godfreya w R, możemy użyć funkcji bgtest(y ~ x, Order = p) z biblioteki lmtest .

W tym samouczku przedstawiono przykład użycia tej składni w języku R.

Przykład: test Breuscha-Godfreya w R

Najpierw utwórzmy fałszywy zbiór danych zawierający dwie zmienne predykcyjne (x1 i x2) oraz zmienną odpowiedzi (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

Następnie możemy wykonać test Breuscha-Godfreya, korzystając z funkcji bgtest() z pakietu lmtest .

W tym przykładzie przetestujemy autokorelację między resztami rzędu 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

Z wyniku widzimy, że statystyka testowa wynosi X2 = 8,7031 z 3 stopniami swobody. Odpowiednia wartość p wynosi 0,03351 .

Ponieważ ta wartość p jest mniejsza niż 0,05, możemy odrzucić hipotezę zerową i stwierdzić, że istnieje autokorelacja między resztami rzędu mniejszego lub równego 3.

Jak sobie radzić z autokorelacją

Jeśli odrzucisz hipotezę zerową i dojdziesz do wniosku, że w resztach występuje autokorelacja, masz kilka możliwości rozwiązania tego problemu, jeśli uznasz go za wystarczająco poważny:

  • Aby uzyskać dodatnią korelację szeregową, należy rozważyć dodanie do modelu opóźnień zmiennej zależnej i/lub niezależnej.
  • W przypadku ujemnej korelacji szeregowej upewnij się, że żadna ze zmiennych nie jest nadmiernie opóźniona .
  • Aby uzyskać korelację sezonową, rozważ dodanie do modelu manekinów sezonowych.

Dodatkowe zasoby

Jak wykonać prostą regresję liniową w R
Jak wykonać wielokrotną regresję liniową w R
Jak wykonać test Durbina-Watsona w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *