Ordine di ritardo per il test di causalità di Granger


11

Supponiamo che sto prendendo in considerazione diverse variabili indipendenti per la possibile inclusione in un modello ARIMAX che sto sviluppando. Prima di adattare variabili diverse, vorrei selezionare le variabili che mostrano causalità inversa usando un test di Granger (sto usando la granger.testfunzione del MSBVARpacchetto in R, anche se credo che altre implementazioni funzionino in modo simile). Come faccio a determinare quanti ritardi dovrebbero essere testati?

La funzione R è:, granger.test(y, p)dove yè un frame di dati o una matrice, ed pè in ritardo.

L'ipotesi nulla è che gli ultimi valori di non aiutano nel predire il valore di .X YpXY

C'è qualche motivo per non selezionare un ritardo molto elevato qui (diverso dalla perdita di osservazioni)?

Nota che ho già differenziato ogni serie temporale nel mio frame di dati, in base all'ordine di integrazione delle mie serie storiche dipendenti. (Ad esempio, differenziare le mie serie temporali dipendenti una volta le ha rese stazionarie. Pertanto, ho anche differenziato tutte le serie storiche "indipendenti" una volta.)


1
Nota che la tua strategia di differenziazione per ottenere la stazionarietà è soggetta all'assenza di cointegrazione. Per i dettagli, vedi l'eccellente post sul blog "Testing for Granger Causality" di Dave Giles.
Richard Hardy,

Risposte:


12

Il compromesso è tra pregiudizio e potere. Troppi ritardi, hai un test distorto a causa della correlazione automatica residua. Troppi, si consente di rifiuti potenzialmente spuri del nulla - una certa correlazione casuale potrebbe far sembrare aiuta a prevedere Y . Indipendentemente dal fatto che questa sia una preoccupazione pratica dipende dai tuoi dati, la mia ipotesi sarebbe quella di inclinarsi più in alto, ma la lunghezza del ritardo può sempre essere determinata come segue:XY

La causalità di Granger deve sempre essere testata nel contesto di alcuni modelli. Nel caso specifico della granger.testfunzione in R, il modello ha p valori passati di ciascuna delle due variabili nel test bivariato. Quindi il modello che utilizza è:

yi,t=α+l=1pβlyi,tl+γlxi,tl+ϵi,t

Un modo convenzionale di scegliere per questo modello sarebbe provare questa regressione con vari valori di p e usare tenere traccia di AIC o BIC per ogni lunghezza di ritardo. Quindi eseguire nuovamente il test utilizzando il valore di p che aveva l'IC più basso nelle regressioni.ppp

xygranger.testnxmy

Solo una parola in più: poiché il test di Granger dipende dal modello, la distorsione da variabili omesse può essere un problema per la causalità di Granger. È possibile che si desideri includere tutte le variabili nel modello e quindi utilizzare la causalità di Granger per escluderne i blocchi anziché utilizzare la granger.testfunzione che esegue solo test in coppia.


Fammi vedere se lo capisco correttamente ... Quindi, se sto controllando se y causa cambiamenti in x1, allora eseguo diversi adattamenti: x1 ~ L (y, 1), x1 ~ L (y, 1) + L (y, 2), x1 ~ L (y, 1) + L (y, 2) + L (y, 3) ... Quindi, quello con il miglior IC è il ritardo che scelgo di usare per il test Granger?
ch-pub,

1
Sì, anche se dovrebbero essere inclusi anche i valori ritardati di x.
Jay

Non sono sicuro di aver capito quella parte. Intendi qualcosa di simile? x1 ~ L (y, 1) + L (x1,1) contro x1 ~ L (y, 1) + L (x1,1) + L (y, 2) + L (x1,2) contro ...
ch-pub,

2
Sì. In generale non è necessario farlo in questo modo perché le lunghezze di ritardo non devono essere le stesse per xey. Vedi: en.wikipedia.org/wiki/Granger_causality#Mathematical_statement Tuttavia il comando R granger.test utilizza i valori p passati di x AND y. Con questa specifica alla base del test è necessario provare a utilizzare IC con n valori passati di x AND y rispetto a IC con n + 1 valori passati di x AND y.
Jay

Nessun problema! Ho appena modificato la mia risposta originale per renderla un po 'meno opaca.
Jay
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.