Contenido de este artículo
- 0
- 0
- 0
- 0
La autocorrelación mide el grado de similitud entre una serie de tiempo y una versión retrasada de sí misma en intervalos de tiempo sucesivos.
A veces también se lo denomina «correlación en serie» o «correlación rezagada», ya que mide la relación entre los valores actuales de una variable y sus valores históricos.
Cuando la autocorrelación en una serie de tiempo es alta, resulta fácil predecir valores futuros simplemente haciendo referencia a valores pasados.
Cómo calcular la autocorrelación en Python
Supongamos que tenemos la siguiente serie de tiempo en Python que muestra el valor de una determinada variable durante 15 períodos de tiempo diferentes:
#define data x = [22, 24, 25, 25, 28, 29, 34, 37, 40, 44, 51, 48, 47, 50, 51]
Podemos calcular la autocorrelación para cada retraso en la serie de tiempo usando la función acf () de la biblioteca statsmodels:
importar statsmodels.api como sm #calcular autocorrelaciones sm.tsa.acf (x) matriz ([1., 0.83174224, 0.65632458, 0.49105012, 0.27863962, 0.03102625, -0.16527446, -0.30369928, -0.40095465, -0.45823389, -0,45047733])
La forma de interpretar la salida es la siguiente:
- La autocorrelación en el retraso 0 es 1 .
- La autocorrelación en el retraso 1 es 0,8317 .
- La autocorrelación en el retraso 2 es 0,6563 .
- La autocorrelación en el retardo 3 es 0,4910 .
Y así.
También podemos especificar el número de retrasos a usar con el argumento nlags :
sm.tsa.acf (x, nlags = 5 ) matriz ([1.0, 0.83174224, 0.65632458, 0.49105012, 0.27863962, 0.03102625])
Cómo trazar la función de autocorrelación en Python
Podemos trazar la función de autocorrelación para una serie de tiempo en Python usando la función tsaplots.plot_acf () de la biblioteca statsmodels:
de statsmodels.graphics importar tsaplots importar matplotlib.pyplot como plt #plot función de autocorrelación fig = tsaplots.plot_acf (x, rezagos = 10) plt.show ()
El eje x muestra el número de retrasos y el eje y muestra la autocorrelación en ese número de retrasos. De forma predeterminada, la gráfica comienza en lag = 0 y la autocorrelación siempre será 1 en lag = 0.
También podemos acercarnos a los primeros retrasos eligiendo usar menos retrasos con el argumento de retrasos :
de statsmodels.graphics importar tsaplots importar matplotlib.pyplot como plt #plot autocorrelation function fig = tsaplots.plot_acf (x, lags = 5 ) plt.show ()
También podemos cambiar el título y el color de los círculos utilizados en la trama con el título y los argumentos de color :
de statsmodels.graphics importar tsaplots importar matplotlib.pyplot como plt #plot función de autocorrelación fig = tsaplots.plot_acf (x, lags = 5, color = 'g', title = 'Función de autocorrelación' ) plt.show ()
Puede encontrar más tutoriales de Python en esta página .
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: