Autocorrelación:
Como discutimos en este artículo, la Autocorrelación se define como la medida del grado de similitud entre una serie de tiempo dada y la versión retrasada de esa serie de tiempo en períodos de tiempo sucesivos. La autocorrelación mide el grado de similitud entre una serie temporal y la versión retrasada de esa serie temporal en diferentes intervalos.
Función de autocorrelación:
Supongamos que tenemos una serie de tiempo {X t } que tiene la siguiente media:
y las funciones de autocovarianza
en t=0,
y la función de autocorrelación se define como:
El valor de la autocorrelación varía de -1 para la autocorrelación perfectamente negativa y 1 para la autocorrelación perfectamente positiva. El valor más cercano a 0 se denomina sin autocorrelación.
Autocorrelación positiva:
Autocorrelación positiva
A continuación se muestra el gráfico del conjunto de datos que representa la autocorrelación positiva en lag=1:
Autocorrelación negativa:
Autocorrelación negativa
A continuación se muestra el gráfico de la serie de tiempo que representa la autocorrelación negativa en lag=1:
Autocorrelación fuerte
Podemos concluir que los datos tienen una fuerte autocorrelación si el gráfico de autocorrelación es similar a los siguientes gráficos:
La gráfica de autocorrelación comienza con una autocorrelación muy alta en el desfase 1, pero disminuye lentamente hasta que se vuelve negativa y comienza a mostrar una autocorrelación negativa creciente. Este tipo de patrón indica una fuerte autocorrelación , que puede ser útil para predecir tendencias futuras.
El siguiente paso sería estimar los parámetros para el modelo autorregresivo:
La suposición de aleatoriedad para el ajuste por mínimos cuadrados se aplica a los residuos del modelo. Es decir, aunque los datos originales muestran no aleatoriedad, los residuos después de ajustar Y i contra Y i-1 deberían dar como resultado residuos aleatorios.
Autocorrelación débil
Podemos concluir que los datos tienen una autocorrelación débil si la gráfica de autocorrelación es similar a la siguiente gráfica con retraso = 1:
El gráfico anterior muestra que hay algo de autocorrelación en lag=1 porque si no hay autocorrelación, la gráfica será similar a esta gráfica en valores aleatorios con lag=1
La conclusión se puede sacar de la gráfica anterior.
- Un modelo autorregresivo subyacente con autocorrelación positiva/negativa moderada.
- Hubo muy pocos valores atípicos.
El gráfico de autocorrelación débil anterior tiene algún modelo autorregresivo que se puede representar de tal forma
en Y i =0, podemos obtener el residual de los estimadores.
Es fácil realizar una estimación en el gráfico de retardo debido a que Y i+1 e Y i son sus ejes.
Implementación
- En esta implementación, veremos cómo generar gráficos de correlación y gráficos de retraso. Usaremos el conjunto de datos de parpadeo y algunas muestras generadas aleatoriamente para este propósito.
python3
# Necessary imports import numpy as np from numpy.random import random_sample import pandas as pd import matplotlib.pyplot as plt import statsmodels.api as sm from statsmodels.graphics.tsaplots import plot_acf # Generate Autocorrelation plot at different lags # with a given level of significance. weak_Corr_df = pd.read_csv('flicker.csv', sep ='\n', header=None) plot_acf(weak_Corr_df, alpha = 0.05) # Generate Lag plots for a particular lag value pd.plotting.lag_plot(weak_Corr_df, lag = 1) # Generate 200 random numbers and plot lag plot and autocorrelation plot for that random_Series = pd.Series(random_sample(200)) pd.plotting.lag_plot(random_Series, lag = 1) plot_acf(random_Series, alpha = 0.05)
- Para el conjunto de datos de Flicker, los gráficos son los siguientes:
- Para conjuntos de datos aleatorios normales, las gráficas son las siguientes