Granger nedensellik testi için gecikme sırası


11

Geliştirdiğim bir ARIMAX modeline olası dahil etmek için birkaç bağımsız değişken düşündüğümü varsayalım. Farklı değişkenleri yerleştirmeden önce, bir Granger testi kullanarak ters nedensellik sergileyen değişkenleri taramak istiyorum ( R'deki paketten granger.testgelen işlevi kullanıyorum MSBVAR, ancak diğer uygulamaların benzer şekilde çalıştığına inanıyorum). Kaç gecikmenin test edilmesi gerektiğini nasıl belirlerim?

R işlevi şöyledir: granger.test(y, p)burada ybir veri çerçevesi veya matris ve pgecikmelerdir.

Boş hipotez, X'in geçmiş değerlerinin Y değerini tahmin etmede yardımcı olmamasıdır .pXY

Burada çok yüksek bir gecikme seçmemek için herhangi bir neden var mı (gözlem kaybı dışında)?

Bağımlı zaman serilerimin entegrasyon sırasına göre veri çerçevemdeki her zaman serisini zaten farklı bulduğumu unutmayın . (Örneğin, bağımlı zaman serilerimi farklılaştırmak bir zamanlar durağan hale getirdi. Bu nedenle, tüm "bağımsız" zaman serilerini de bir kez farklılaştırdım.)


1
Durağanlık elde etmek için farklılaşma stratejinizin eşbütünleşme yokluğuna tabi olduğunu unutmayın. Ayrıntılar için Dave Giles'ın "Granger Causality için Test Etme" adlı mükemmel blog yayınına bakın.
Richard Hardy

Yanıtlar:


12

Ödünleşim yanlılık ve güç arasındadır. Çok az gecikme, artık oto-korelasyon nedeniyle taraflı bir testiniz var. Çok fazla, null değerinin potansiyel olarak sahte reddine izin veriyorsunuz - bazı rastgele korelasyonlar Y'yi tahmin etmesine yardımcı olabilir gibi görünebilir . Bunun pratik bir kaygı olup olmadığı verilerinize bağlıdır, tahminim daha yüksek eğilmek olacaktır, ancak gecikme uzunluğu her zaman aşağıdaki gibi belirlenebilir:XY

Granger nedensellik her zaman bazı model bağlamında test edilmelidir. granger.testR'deki fonksiyonun spesifik durumunda , model iki değişkenli testteki iki değişkenin her birinin p geçmiş değerlerine sahiptir. Yani kullandığı model:

yben,t=α+Σl=1pβlyben,t-l+γlxben,t-l+εben,t

Bu model için seçmenin geleneksel bir yolu, bu regresyonu çeşitli p değerleri ile denemek ve her gecikme uzunluğu için AIC veya BIC'yi takip etmek olacaktır. Sonra regresyonlarınızda en düşük IC değerine sahip olan p değerini kullanarak testi tekrarlayın .ppp

xygranger.testnxmy

Sadece ekstra bir kelime - Granger testi modele bağlı olduğundan, atlanan değişkenlerin sapması Granger nedensellik için bir sorun olabilir. Modelinizdeki tüm değişkenleri dahil etmek ve daha sonra granger.testsadece çift olarak test yapan işlevi kullanmak yerine bloklarını hariç tutmak için Granger nedenselliğini kullanabilirsiniz .


Bunu doğru anlayıp anlamadığımı göreyim ... Yani, y'nin x1'de değişikliklere neden olup olmadığını kontrol edersem, o zaman birkaç uyum gerçekleştiririm: x1 ~ L (y, 1), x1 ~ L (y, 1) + L (y, 2), x1 ~ L (y, 1) + L (y, 2) + L (y, 3) ... O zaman, en iyi IC'ye sahip olanı Granger testi için kullanmayı seçtiğim gecikmedir mi?
ch-pub

1
Evet, ancak gecikmeli x değerleri de dahil edilmelidir.
jayk

O kısmı anladığımdan emin değilim. Bunun gibi bir şey mi ifade etmeye çalışıyorsun? x1 karşı x1 uL (y, 1) + L (x1,1) uL (y, 1) + L (x1,1) + L (y l, 2) + (L x1,2) karşı ...
ch-pub

2
Evet. Genel olarak bu şekilde yapmak zorunda değilsiniz çünkü gecikme uzunlukları x ve y için aynı olmak zorunda değildir. Bakınız: en.wikipedia.org/wiki/Granger_causality#Mathematical_statement x ve y değerleri son Ancak R komut granger.test kullanımları s. Testin altında yatan bu spesifikasyonla birlikte, x ve y'nin n geçmiş değerlerine sahip IC'ye karşı IC ve x VE y'nin n + 1 geçmiş değerlerine sahip IC'yi kullanmayı denemeniz gerekir.
jayk

Sorun değil! Orijinal cevabımı biraz daha az opak hale getirmek için düzenledim.
jayk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.