Задержка заказа на тест причинности Грейнджер

11

Предположим, я рассматриваю несколько независимых переменных для возможного включения в разрабатываемую модель ARIMAX. Прежде чем подгонять различные переменные, я бы хотел отобрать переменные, которые проявляют обратную причинность, с помощью теста Грейнджера (я использую granger.testфункцию из MSBVARпакета в R, хотя, я полагаю, другие имплиментации работают аналогично). Как определить, сколько лагов нужно проверить?

Функция R: granger.test(y, p)где yфрейм данных или матрица, и pэто лаги.

Нулевая гипотеза состоит в том, что последние значение не помогает при прогнозировании величины .pXY

Есть ли причина не выбирать здесь очень большое отставание (кроме потери наблюдений)?

Обратите внимание, что я уже различал каждый временной ряд в моем фрейме данных, основываясь на порядке интеграции моих зависимых временных рядов. (Например, дифференцирование моего зависимого временного ряда однажды сделало его стационарным. Следовательно, я также один раз дифференцировал все «независимые» временные ряды.)

ч-паб
источник
1
Обратите внимание, что ваша стратегия дифференциации для получения стационарности зависит от отсутствия коинтеграции. См. Отличный пост в блоге "Тестирование на причинность Грейнджера" Дейва Джайлса для деталей.
Ричард Харди

Ответы:

12

Компромисс между смещением и властью. Слишком мало лагов, у вас есть предвзятый тест из-за остаточной автокорреляции. Слишком много, вы позволяете для потенциально ложных отказов в нуле - некоторая случайная корреляция может заставить это выглядеть как помогает предсказать . Независимо от того, является ли это практической проблемой, зависит от ваших данных, я бы предпочел наклониться выше, но длину лага всегда можно определить следующим образом:XY

Причинность Грейнджера всегда должна быть проверена в контексте некоторой модели. В конкретном случае granger.testфункции в R модель имеет p прошлых значений каждой из двух переменных в двумерном тесте. Таким образом, модель, которую он использует:

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

Обычный способ выбрать для этой модели - попробовать эту регрессию с различными значениями и использовать отслеживание AIC или BIC для каждой длины лага. Затем снова запустите тест, используя значение которое имеет самую низкую IC в ваших регрессиях.ppp

В общем, число лагов в модели может быть разным для и и тест Грейнджера все еще будет уместным. Именно в конкретном случае реализации вы ограничены одинаковым количеством лагов для обоих. Это вопрос удобства, а не теоретическая необходимость. С разной длиной лага для двух переменных вы все равно можете использовать AIC или BIC для выбора вашей модели, вам просто нужно сравнить множество комбинаций лагов и лагов . Смотрите это .xygranger.testnxmy

Просто лишнее слово - поскольку тест Грейнджера зависит от модели, смещение пропущенных переменных может стать проблемой для причинности Грейнджера. Возможно, вы захотите включить все переменные в вашу модель, а затем использовать причинность Грейнджера, чтобы исключить их блоки вместо использования granger.testфункции, которая выполняет только парные тесты.

jayk
источник
Давайте посмотрим, правильно ли я это понимаю ... Итак, если я проверяю, вызывает ли y изменения в x1, я выполняю несколько подгонок: x1 ~ L (y, 1), x1 ~ L (y, 1) + L (y, 2), x1 ~ L (y, 1) + L (y, 2) + L (y, 3) ... Тогда, какое из лучших значений IC - это задержка, которую я выбрал для теста Грейнджер?
ch-pub
1
Да, хотя должны быть включены и запаздывающие значения x.
Джейк
Я не уверен, что понимаю эту часть. Вы имеете в виду что-то вроде этого? x1 ~ L (y, 1) + L (x1,1) против x1 ~ L (y, 1) + L (x1,1) + L (y, 2) + L (x1,2) против ...
Ч-паб
2
Да. В общем, вам не нужно делать это таким образом, потому что длины лагов не должны быть одинаковыми для x и y. См .: en.wikipedia.org/wiki/Granger_causality#Mat математический_statement Однако команда R granger.test использует p прошлых значений x AND y. С этой спецификацией, лежащей в основе теста, вам нужно попробовать использовать IC с n прошлых значений x AND y по сравнению с IC с n + 1 прошлыми значениями x AND y.
Джейк
Нет проблем! Я только что отредактировал свой оригинальный ответ, чтобы сделать его немного менее прозрачным.
Джейк