Autocorrelación
Una vez que nuestros datos sean estacionarios, podemos investigar otros atributos clave de las series de tiempo: autocorrelación parcial y autocorrelación. En términos formales:
El función de autocorrelación (ACF) Mide la relación lineal entre valores rezagados de una serie de tiempo. En otras palabras, mide la correlación de la serie temporal consigo misma. [2]
El función de autocorrelación parcial (PACF) Mide la correlación entre valores rezagados en una serie de tiempo cuando eliminamos la influencia de los valores rezagados correlacionados en el medio. Se les conoce como variables de confusión. [3]
Ambas métricas se pueden visualizar con gráficos estadísticos conocidos como correlogramas. Pero primero, es importante desarrollar una mejor comprensión de ellos.
Dado que este artículo se centra en el análisis exploratorio y estos conceptos son fundamentales para los modelos de pronóstico estadístico, mantendré la explicación breve, pero tenga en cuenta que estas son ideas muy importantes sobre las que construir una intuición sólida cuando se trabaja con series de tiempo. Para una lectura completa, recomiendo el gran kernel “Series temporales: interpretación de ACF y PACF”por el gran maestro de los cuadernos Kaggle Leonie Monigatti.
Como se señaló anteriormente, la autocorrelación mide cómo la serie temporal se correlaciona consigo misma en períodos anteriores. q retrasos. Puede considerarlo como una medida de la relación lineal de un subconjunto de sus datos con una copia de sí mismo desplazada hacia atrás por q períodos. La autocorrelación, o ACF, es una métrica importante para determinar el orden q de los modelos de media móvil (MA).
Por otro lado, la autocorrelación parcial es la correlación de la serie temporal con su pag versión retrasada, pero ahora únicamente con respecto a su efectos directos. Por ejemplo, si quiero comprobar la autocorrelación parcial de la t-3 a t-1 período de tiempo con mi actual t0 valor, no me importará cómo t-3 influencias t-2 y t-1 o como t-2 influencias t-1. Me centraré exclusivamente en los efectos directos de t-3, t-2y t-1 en mi marca de tiempo actual, t0. La autocorrelación parcial, o PACF, es una métrica importante para determinar el orden pag de modelos autorregresivos (AR).
Una vez aclarados estos conceptos, ahora podemos volver a nuestros datos. Dado que las dos métricas a menudo se analizan juntas, nuestra última función combinará los gráficos PACF y ACF en un gráfico de cuadrícula que devolverá correlogramas para múltiples variables. Hará uso de modelos de estadísticas. plot_pacf() y plot_acf() funciones y asignarlas a un Matplotlib subplots() red.
Observe cómo ambas funciones de statsmodels usan los mismos argumentos, excepto el method parámetro exclusivo del plot_pacf() trama.
Ahora puede experimentar con diferentes agregaciones de sus datos, pero recuerde que al volver a muestrear la serie temporal, cada retraso representará un salto diferente hacia atrás en el tiempo. Con fines ilustrativos, analicemos el PACF y el ACF de las cuatro estaciones en el mes de enero de 2016, con un conjunto de datos agregados de 6 horas.
Los correlogramas devuelven coeficientes de correlación que van de -1,0 a 1,0 y un área sombreada que indica el umbral de significancia. Cualquier valor que se extienda más allá de eso debe considerarse estadísticamente significativo.
De los resultados anteriores, finalmente podemos concluir que en una agregación de 6 horas:
- Los rezagos 1, 2, 3 (t-6h, t-12h y t-18h) y, a veces, 4 (t-24h) tienen PACF significativo.
- Los retardos 1 y 4 (t-6h y t-24h) muestran un ACF significativo en la mayoría de los casos.
Y toma nota de algunas buenas prácticas finales:
- Se debe evitar trazar correlogramas para períodos largos de series temporales con alta granularidad (por ejemplo, trazar un correlograma de un año completo para un conjunto de datos con mediciones horarias), ya que el umbral de significancia se reduce a cero con tamaños de muestra cada vez más altos.
- definí un
x_labelparámetro a nuestra función para que sea más fácil anotar el eje X con el período de tiempo representado por cada retraso. Es común ver correlogramas sin esa información, pero tener fácil acceso a ella puede evitar malas interpretaciones de los resultados. - Modelos de estadísticas
plot_acf()yplot_pacf()Los valores predeterminados están configurados para incluir el coeficiente de correlación de retraso 0 en el gráfico. Dado que la correlación de un número consigo mismo es siempre uno, he configurado nuestros gráficos para que comiencen desde el primer desfase con el parámetrozero=False. También mejora la escala del eje Y, lo que hace que los retrasos que realmente necesitamos analizar sean más legibles.