R'de breusch-godfrey testi nasıl yapılır
Doğrusal regresyonun temel varsayımlarından biri, artıklar arasında herhangi bir korelasyonun olmaması, yani artıkların bağımsız olmasıdır.
Birinci dereceden otokorelasyonu test etmek için Durbin-Watson testi yapabiliriz. Ancak otokorelasyonu daha yüksek derecelerde test etmek istiyorsak Breusch-Godfrey testi yapmamız gerekir.
Bu test aşağıdaki varsayımları kullanır:
H 0 (sıfır hipotezi): p’den küçük veya p’ye eşit bir otokorelasyon yoktur.
HA (alternatif hipotez): p’den küçük veya p’ye eşit belirli bir düzeyde otokorelasyon vardır.
Test istatistiği, p serbestlik derecesine sahip bir Ki-kare dağılımını takip eder.
Bu test istatistiğine karşılık gelen p değeri belirli bir anlamlılık düzeyinin (örneğin 0,05) altındaysa, o zaman sıfır hipotezini reddedebilir ve artıklar arasında belirli bir düşük düzeyde veya p’ye eşit bir otokorelasyonun var olduğu sonucuna varabiliriz.
R’de Breusch-Godfrey testi gerçekleştirmek için lmtest kütüphanesindeki bgtest(y ~ x, order = p) fonksiyonunu kullanabiliriz.
Bu eğitimde bu sözdiziminin R’de kullanılmasına ilişkin bir örnek sunulmaktadır.
Örnek: R’de Breusch-Godfrey testi
Öncelikle iki öngörücü değişken (x1 ve x2) ve bir yanıt değişkeni (y) içeren sahte bir veri kümesi oluşturalım.
#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
Daha sonra lmtest paketindeki bgtest() fonksiyonunu kullanarak Breusch-Godfrey testi gerçekleştirebiliriz.
Bu örnek için, artıklar arasındaki otokorelasyonu p = 3 düzeyinde test edeceğiz:
#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
Sonuçtan test istatistiğinin 3 serbestlik derecesiyle X2 = 8,7031 olduğunu görebiliriz. Karşılık gelen p değeri 0,03351’dir .
Bu p değeri 0,05’ten küçük olduğundan sıfır hipotezini reddedebilir ve 3’ten küçük veya ona eşit olan sıradaki artıklar arasında bir otokorelasyon olduğu sonucuna varabiliriz.
Otokorelasyonla nasıl başa çıkılır?
Sıfır hipotezini reddederseniz ve artıklarda otokorelasyonun mevcut olduğu sonucuna varırsanız, yeterince ciddi olduğunu düşünüyorsanız bu sorunu düzeltmek için birkaç seçeneğiniz vardır:
- Pozitif seri korelasyon için bağımlı ve/veya bağımsız değişkenin gecikmelerini modele eklemeyi düşünün.
- Negatif seri korelasyon için değişkenlerinizden hiçbirinin aşırı gecikmediğinden emin olun.
- Mevsimsel korelasyon için modele mevsimsel kuklalar eklemeyi düşünün.
Ek kaynaklar
R’de basit doğrusal regresyon nasıl gerçekleştirilir
R’de çoklu doğrusal regresyon nasıl gerçekleştirilir
R’de Durbin-Watson testi nasıl yapılır