Załóżmy, że rozważam kilka niezależnych zmiennych w celu ewentualnego włączenia do opracowywanego modelu ARIMAX. Przed dopasowaniem różnych zmiennych chciałbym odfiltrować zmienne wykazujące odwrotną przyczynowość za pomocą testu Grangera (używam granger.test
funkcji z MSBVAR
pakietu w R, chociaż uważam, że inne wtrącenia działają podobnie). Jak ustalić, ile opóźnień należy przetestować?
Funkcja R to:, granger.test(y, p)
gdzie y
jest ramką danych lub macierzą i p
jest opóźnieniem.
Hipoteza zerowa jest to, że w ciągu ostatnich Wartości X nie pomagają w przewidywaniu wartości Y .
Czy jest jakiś powód, aby nie wybierać tutaj bardzo dużego opóźnienia (innego niż utrata obserwacji)?
Zauważ, że różnicowałem już wszystkie szeregi czasowe w mojej ramce danych, w oparciu o kolejność integracji moich zależnych szeregów czasowych. (Np. Różnicowanie moich zależnych szeregów czasowych sprawiło, że stały się stacjonarne. Dlatego też raz odróżniłem wszystkie „niezależne” szeregi czasowe.)
źródło
Odpowiedzi:
Kompromis występuje między stronniczością a mocą. Zbyt mało opóźnień, masz tendencyjny test z powodu resztkowej autokorelacji. Zbyt wiele, pozwalasz na potencjalnie fałszywe odrzucenie wartości zerowej - niektóre losowe korelacje mogą sprawić, że będzie wyglądać, jakby pomaga przewidzieć YX Y . Niezależnie od tego, czy jest to kwestia praktyczna, zależy od twoich danych, zgaduję, że należy pochylić się wyżej, ale długość opóźnienia można zawsze określić w następujący sposób:
Przyczynowość Grangera zawsze musi być testowana w kontekście jakiegoś modelu. W konkretnym przypadku
granger.test
funkcji w R model ma p przeszłości wartości każdej z dwóch zmiennych w teście dwuwymiarowym. Model, którego używa, to:granger.test
Tylko dodatkowe słowo - ponieważ test Grangera jest zależny od modelu, odchylenie pominiętych zmiennych może stanowić problem dla przyczynowości Grangera. Możesz uwzględnić wszystkie zmienne w swoim modelu, a następnie użyć przyczynowości Grangera, aby wykluczyć ich bloki zamiast używać
granger.test
funkcji, która wykonuje tylko testy parami.źródło