R'de durbin-watson 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.
Bu varsayımın karşılanıp karşılanmadığını belirlemenin bir yolu, bir regresyonun artıklarında otokorelasyonun varlığını tespit etmek için kullanılan Durbin-Watson testinin yapılmasıdır. Bu test aşağıdaki varsayımları kullanır:
H 0 (sıfır hipotezi): Artıklar arasında korelasyon yoktur.
H A (alternatif hipotez): Artıklar otokorelasyonludur.
Bu eğitimde R’de Durbin-Watson testinin nasıl gerçekleştirileceği açıklanmaktadır.
Örnek: R’de Durbin-Watson testi
Durbin-Watson testini gerçekleştirmek için öncelikle doğrusal bir regresyon modelini oturtmamız gerekir. Mtcars entegre R veri kümesini kullanacağız ve tahmin değişkeni olarak mpg’yi ve açıklayıcı değişkenler olarak disp ve wt’yi kullanarak bir regresyon modeli uygulayacağız.
#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)
Daha sonra paketteki durbinWatsonTest() fonksiyonunu kullanarak bir Durbin-Watson testi gerçekleştirebiliriz çünkü :
#load car package library(car) #perform Durbin-Watson test durbinWatsonTest(model) Loading required package: carData lag Autocorrelation DW Statistic p-value 1 0.341622 1.276569 0.034 Alternative hypothesis: rho != 0
Sonuçtan test istatistiğinin 1,276569 ve karşılık gelen p değerinin 0,034 olduğunu görebiliriz. Bu p değeri 0,05’ten küçük olduğundan sıfır hipotezini reddedebilir ve bu regresyon modelinin artıklarının otokorelasyonlu olduğu sonucuna varabiliriz.
Otokorelasyon tespit edilirse ne yapılmalı
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.