Estoy utilizando la prueba de causalidad de Granger para medir el rezago entre pares de series temporales donde ya es evidente que una sigue a la otra. Por lo tanto, no espero que esta prueba me diga si la causalidad es probable o no, sino más bien ayudarme a medir cuál es el rezago.
La pregunta es: ¿es mi método para ordenar la hipótesis de rezago óptimo? La medición arroja un resultado sensato en la mayoría de los casos, pero hay algunos donde el resultado es un rezago contra intuitivo y muy largo.
A continuación, describiré primero mi método y luego mostraré dos ejemplos, uno donde mi método funciona y otro donde no.
El método: Estoy utilizando statsmodels, que viene con un módulo de prueba de Granger. En mi método ejecuto la prueba de Granger para rezagos entre 1 y 12 días. Luego, examino los valores de la prueba F. El rezago con el valor F más alto es el óptimo. Aquí está el código en Python:
granger_test_result = grangercausalitytests(data[:, 1::-1], maxlag=12, verbose=False)
optimal_lag = -1
F_test = -1.0
for key in granger_test_result.keys():
_F_test_ = granger_test_result[key][0]['params_ftest'][0]
if _F_test_ > F_test:
F_test = _F_test_
optimal_lag = key
return optimal_lag
Ejemplo #1: Esta figura ilustra el tipo de datos que estoy analizando. Es evidente que la serie verde sigue a la serie naranja. En este caso, mi método funciona bastante bien y se encuentra que el rezago óptimo es de 1 día.
Ejemplo #2: En este caso, mi método arroja un rezago contra intuitivo y muy largo de 12 días.
Este es el resultado de la prueba F de statsmodels para cada uno de los rezagos probados. El primer elemento en la tupla corresponde al valor de la prueba F. El valor más alto es, de hecho, para 12L.
Rezago óptimo 12. Prueba F: 74.84. Valor p: 0.00
(32.153600306648876, 4.9523452120563632e-07, 57.0, 1L)
(51.600830587070561, 2.9531736086260536e-13, 54.0, 2L)
(46.061291459709828, 1.511140176815108e-14, 51.0, 3L)
(34.512420150659764, 1.4224612929215072e-13, 48.0, 4L)
(22.215895296628979, 3.7705907562143266e-11, 45.0, 5L)
(18.817209069293003, 1.7380007128923565e-10, 42.0, 6L)
(14.366562461309808, 4.6093266266687769e-09, 39.0, 7L)
(11.296513565933811, 7.9114754208643629e-08, 36.0, 8L)
(12.008824010113649, 3.9713072573193326e-08, 33.0, 9L)
(10.237915003417235, 3.1897816507786703e-07, 30.0, 10L)
(9.7564732369412628, 8.1924196528108249e-07, 27.0, 11L)
(74.843204319602407, 5.2948535623699612e-16, 24.0, 12L)
4 votos
¿Por qué no mirar la autocorrelación (ACF) y la autocorrelación parcial (PACF) en su lugar? Son medidas directas de las relaciones de avance-retroceso, mientras que la causalidad de Granger es indirecta en el mejor de los casos y irrelevante en el peor (dependiendo de las propiedades de la serie).
0 votos
¿Estás seguro de que este es realmente un caso de uso de la causalidad de Granger? ¡Corrígeme si me equivoco, pero supongamos que tienes un conjunto de series temporales que están cointegradas, ¿no existe algún teorema que diga algo acerca de que una serie de Granger causa la otra?