Gráfica de autocorrelación usando Matplotlib

Los gráficos de autocorrelación son una herramienta de uso común para verificar la aleatoriedad en un conjunto de datos. Esta aleatoriedad se determina calculando las autocorrelaciones de los valores de los datos en intervalos de tiempo variables.

Características de la gráfica de autocorrelación: 

  • Mide un conjunto de valores actuales contra un conjunto de valores pasados ​​y encuentra si se correlacionan.
  • Es la correlación de los datos de una serie de tiempo con los datos de otra serie de tiempo que tiene un retraso en el tiempo.
  • Varía de +1 a -1.
  • Una autocorrelación de +1 indica que si la serie de tiempo uno aumenta en valor, la serie de tiempo 2 también aumenta en proporción al cambio en la serie de tiempo 1.
  • Una autocorrelación de -1 indica que si la serie de tiempo uno aumenta en valor, la serie de tiempo 2 disminuye en proporción al cambio en la serie de tiempo 1.

Aplicación de Autocorrelación:  

  • Reconocimiento de patrones.
  • Detección de señal.
  • Procesamiento de la señal.
  • Estimación de tono.
  • Análisis técnico de stocks.

Trazar el gráfico de autocorrelación

Para trazar el gráfico de autocorrelación, podemos usar matplotlib y trazarlo fácilmente usando la función matplotlib.pyplot.acorr(). 

Sintaxis: matplotlib.pyplot.acorr(x, *, data=Ninguno, **kwargs)
Parámetros: 

  • ‘x’: este parámetro es una secuencia de escalares.
  • ‘detrend’ : este parámetro es un parámetro opcional. Su valor predeterminado es mlab.detrend_none.
  • ‘normed’ : este parámetro también es un parámetro opcional y contiene el valor bool. Su valor predeterminado es Verdadero.
  • ‘usevlines’: este parámetro también es un parámetro opcional y contiene el valor bool. Su valor predeterminado es Verdadero.
  • ‘maxlags’ : este parámetro también es un parámetro opcional y contiene el valor entero. Su valor por defecto es 10.
  • ‘linestyle’: este parámetro también es un parámetro opcional y se usa para trazar los puntos de datos, solo cuando usevlines es False.
  • ‘marcador’: este parámetro también es un parámetro opcional y contiene la string. Su valor por defecto es ‘o’.

Devuelve: (retrasos, c, línea, b) 
Donde:

  • los retrasos son un vector de retraso de longitud 2`maxlags+1.
  • c es el vector de correlación automática 2`maxlags+1.
  • line es una instancia de Line2D devuelta por plot.
  • b es el eje x.

Ejemplo 1:  

Python3

# Importing the libraries.
import matplotlib.pyplot as plt
import numpy as np
   
# Data for which we plot Autocorrelation.
data = np.array([12.0, 24.0, 7., 20.0,
                 7.0, 22.0, 18.0,22.0,
                 6.0, 7.0, 20.0, 13.0,
                 8.0, 5.0, 8])
   
# Adding plot title.
plt.title("Autocorrelation Plot")
 
# Providing x-axis name.
plt.xlabel("Lags")
 
# Plotting the Autocorrelation plot.
plt.acorr(data, maxlags = 10)
 
# Displaying the plot.
print("The Autocorrelation plot for the data is:")
plt.grid(True)
 
plt.show()

Producción: 

Ejemplo 2: 

Python3

# Importing the libraries.
import matplotlib.pyplot as plt
import numpy as np
   
# Setting up the rondom seed for
# fixing the random state.
np.random.seed(42)
   
# Creating some random data.
data = np.random.randn(25)
   
# Adding plot title.
plt.title("Autocorrelation Plot")
 
# Providing x-axis name.
plt.xlabel("Lags")
 
# Plotting the Autocorrelation plot.
plt.acorr(data, maxlags = 20)
 
# Displaying the plot.
print("The Autocorrelation plot for the data is:")
plt.grid(True)
 
plt.show()

Producción: 

Publicación traducida automáticamente

Artículo escrito por VishwashVishwakarma y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *