6 votos

Interpretación de las correlaciones entre dos series temporales

He simulado el comportamiento de dos variables a lo largo de tres semanas:

var_1 <- ts(c(25.1,21.8,15.6,28.0,25.8,26.2,29.9,30.6,28.3,22.1,20.2,20.5,18.4,12.0,8.1,8.6,8.2,9.17,8.8,9.7,10.4))

var_2<-ts(c(-13.1,-7.5,0.1,-3.4,-6.0,-4.6,-0.1,4.8,4.3,-1.1,-6.5,-10.0,-9.2,-7.8,-7.6,-7.1,-11.4,-14.2,-19.6,-22.9,-23.5))

var_1 es la variable independiente y me gustaría ver si var_2 está influenciada por sus fluctuaciones.

A: var_1 and var_2. B: running correlation

En la figura anterior (A), var_1 está en negro y var_2 en rojo. Si nos fijamos en las curvas, diría que existe una relación al menos hasta el día 12 aproximadamente, momento en el que se produce un desfase importante.

Mi primera idea para poner de relieve cualquier similitud fue aplicar una prueba de correlación en funcionamiento (fig. B anterior). Utilicé la función running() de la biblioteca R gtools .

running(var_1, var_2, fun=cor, width=5)

La ventana de solapamiento tiene una anchura de 5 días. Los límites de significación del 95% (líneas rojas discontinuas) se calculan realizando 999 simulaciones de conjuntos de datos generados aleatoriamente con la misma estructura.

La correlación es bastante buena entre el día 6 y el 12, pero nunca es estadísticamente significativa. ¿Hay alguna forma más adecuada de señalar algún comportamiento común?

Además, intenté aplicar una función de correlación cruzada para comprobar si había rezagos significativos (función R ccf() ).

ccf(var_1,var_2, main="")

cross-correlation

Muestra una fuerte correlación para los rezagos de -3 a 0 con una disminución en ambas direcciones. Si lo interpreto correctamente, supongo que podría decirse que var_2 tarda de 0 a 3 días en reaccionar a cualquier cambio en var_1.

Aunque este resultado es sumamente interesante, creo que no describe bien toda la dinámica entre las dos curvas, como la buena correlación limitada a los días 6 y 12. Pero, como se ha visto anteriormente, la prueba que podría hacerlo no muestra ninguna significación estadística. Así que estoy un poco desconcertado en cuanto a lo que puede ser el método más adecuado para describir estos datos.

2voto

MozenRath Puntos 182

Usted parece haber buscado resultados espurios fijándose en correlaciones de valores absolutos en lugar de correlaciones de cambios.

Si es así, consulte estos dos enlaces para obtener una explicación (ignore los demás): quant.stackexchange.com/questions/489/correlación-entre-precios-o-rendimientos & stats.stackexchange.com/a/133171/114856 .

Escribo "parece" porque no has facilitado tu código y no puedo reproducir tus cifras.

#Attempt to reproduce
var_1 <- ts(c(25.1,21.8,15.6,28.0,25.8,26.2,29.9,30.6,28.3,22.1,20.2,20.5,18.4,12.0,8.1,8.6,8.2,9.17,8.8,9.7,10.4))
var_2 <- ts(c(-13.1,-7.5,0.1,-3.4,-6.0,-4.6,-0.1,4.8,4.3,-1.1,-6.5,-10.0,-9.2,-7.8,-7.6,-7.1,-11.4,-14.2,-19.6,-22.9,-23.5))
running(var_1, var_2, fun=cor, width=5, by=1, allow.fewer=TRUE, align=c("right"), simplify=TRUE)

#Same thing but on changes   (use non-log approach as neg values)
chg_1 <- diff(var_1)/var_1[-length(var_1)] 
chg_2 <- diff(var_2)/var_2[-length(var_2)] 
running(chg_1, chg_2, fun=cor, width=5, by=1, allow.fewer=TRUE, align=c("right"), simplify=TRUE)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X