R'de granger nedensellik testi nasıl yapılır


Granger nedensellik testi, bir zaman serisinin diğerini tahmin etmede yararlı olup olmadığını belirlemek için kullanılır.

Bu test aşağıdaki boş ve alternatif hipotezleri kullanır:

Boş hipotez (H 0 ): x zaman serisi, y zaman serisinin Granger’a gitmesine neden olmaz

Alternatif hipotez ( HA ): Zaman serisi x Granger’ın zaman serisi y’ye neden olur

“Granger nedenleri” terimi, x zaman serisinin değerini belirli bir gecikmeyle bilmenin, y zaman serisinin değerini daha sonraki bir dönemde tahmin etmek için yararlı olduğu anlamına gelir.

Bu test, karşılık gelen p değerine sahip bir F testi istatistiği üretir. Eğer p değeri belirli bir anlamlılık seviyesinin altındaysa (yani α = 0,05), o zaman sıfır hipotezini reddedebilir ve x Granger zaman serisinin y zaman serisine neden olduğunu iddia etmek için yeterli kanıta sahip olduğumuz sonucuna varabiliriz.

R’de Granger-Nedensellik testi gerçekleştirmek için lmtest paketindeki aşağıdaki sözdizimini kullanan grangertest() işlevini kullanabiliriz:

grangertest(x, y, sıra = 1)

Altın:

  • x: ilk zaman serisi
  • y: ikinci zaman serisi
  • sıra: ilk zaman serisinde kullanılacak ofsetlerin sayısı. Varsayılan değer 1’dir.

Aşağıdaki adım adım örnek, bu işlevin pratikte nasıl kullanılacağını gösterir.

1. Adım: İki zaman serisini tanımlayın

Bu örnek için lmtest paketine önceden yüklenmiş ChickEgg veri kümesini kullanacağız. Bu veri seti değerleri, 1930’dan 1983’e kadar Amerika Birleşik Devletleri’nde yapılan yumurta sayısını ve tavuk sayısını içerir:

 #load lmtest package
library (lmtest)

#load ChickEgg dataset
data(ChickEgg)

#view first six rows of dataset
head(ChickEgg)

     chicken egg
[1,] 468491 3581
[2,] 449743 3532
[3,] 436815 3327
[4,] 444523 3255
[5,] 433937 3156
[6,] 389958 3081

Adım 2: Granger nedensellik testini gerçekleştirin

Daha sonra, yapılan yumurta sayısının gelecekteki tavuk sayısını tahmin edip etmediğini görmek amacıyla Granger nedensellik testi gerçekleştirmek için grangertest() fonksiyonunu kullanacağız. Testi üç ofset kullanarak gerçekleştireceğiz:

 #perform Granger-Causality test
grangertest(chicken ~ egg, order = 3 , data = ChickEgg)

Granger causality test

Model 1: chicken ~ Lags(chicken, 1:3) + Lags(egg, 1:3)
Model 2: chicken ~ Lags(chicken, 1:3)
  Res.Df Df F Pr(>F)   
1 44                     
2 47 -3 5.405 0.002966 **
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Sonucun nasıl yorumlanacağı aşağıda açıklanmıştır:

  • Model 1: Bu model, önceki üç yıldaki tavuk sayısını ve önceki üç yıldaki yumurta sayısını yordayıcı değişkenler olarak kullanarak tavuk sayısını tahmin etmeye çalışmaktadır.
  • Model 2: Bu model, yordayıcı değişken olarak yalnızca önceki üç yıldaki tavuk sayısını kullanarak tavuk sayısını tahmin etmeye çalışmaktadır.
  • F: Bu F testi istatistiğidir. 5.405 olduğu ortaya çıktı.
  • Pr(>F): F testi istatistiğine karşılık gelen p değeridir. 0,002966 olduğu ortaya çıktı.

P değeri 0,05’ten küçük olduğundan testin sıfır hipotezini reddedebilir ve yumurta sayısını bilmenin gelecekteki tavuk sayısını tahmin etmede faydalı olduğu sonucuna varabiliriz.

Adım 3: Granger Nedensellik Testini Tersine Yapın

Testin sıfır hipotezini reddetmiş olsak da aslında ters nedensellik durumunun ortaya çıkması mümkündür. Yani tavuk sayısının yumurta sayısında değişikliğe neden olması mümkündür.

Bu olasılığı dışlamak için, öngörücü değişken olarak tavukları ve yanıt değişkeni olarak yumurtaları kullanarak Granger-Nedensellik testini tersten uygulamamız gerekir:

 #perform Granger-Causality test in reverse
grangertest(egg ~ chicken, order = 3 , data = ChickEgg)

Granger causality test

Model 1: egg ~ Lags(egg, 1:3) + Lags(chicken, 1:3)
Model 2: egg ~ Lags(egg, 1:3)
  Res.Df Df F Pr(>F)
1 44                 
2 47 -3 0.5916 0.6238

Testin p değeri 0,6238’dir. Bu 0,05’ten küçük olmadığından sıfır hipotezini reddedemeyiz. Başka bir deyişle, tavuk sayısı gelecekteki yumurta sayısını öngörmemektedir.

Dolayısıyla yumurta sayısını bilmenin gelecekteki tavuk sayısını tahmin etmede faydalı olduğu sonucuna varabiliriz.

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir