Saturday, July 19, 2025
HomeLanguagesAutocorrelation plot using Matplotlib

Autocorrelation plot using Matplotlib

Autocorrelation plots are a commonly used tool for checking randomness in a data set. This randomness is ascertained by computing autocorrelations for data values at varying time lags.

Characteristics Of Autocorrelation Plot : 

  • It measures a set of current values against a set of past values and finds whether they correlate.
  • It is the correlation of one-time series data to another time series data which has a time lag.
  • It varies from +1 to -1.
  • An autocorrelation of +1 indicates that if time series one increases in value the time series 2 also increases in proportion to the change in time series 1.
  • An autocorrelation of -1 indicates that if time series one increases in value the time series 2 decreases in proportion to the change in time series 1.

Application of Autocorrelation:  

  • Pattern recognition.
  • Signal detection.
  • Signal processing.
  • Estimating pitch.
  • Technical analysis of stocks.

Plotting the Autocorrelation Plot

To plot the Autocorrelation Plot we can use matplotlib and plot it easily by using matplotlib.pyplot.acorr() function. 

Syntax: matplotlib.pyplot.acorr(x, *, data=None, **kwargs)
Parameters: 

  • ‘x’ : This parameter is a sequence of scalar.
  • ‘detrend’ : This parameter is an optional parameter. Its default value is mlab.detrend_none.
  • ‘normed’ : This parameter is also an optional parameter and contains the bool value. Its default value is True.
  • ‘usevlines’ : This parameter is also an optional parameter and contains the bool value. Its default value is True.
  • ‘maxlags’ : This parameter is also an optional parameter and contains the integer value. Its default value is 10.
  • ‘linestyle’ : This parameter is also an optional parameter and used for plotting the data points, only when usevlines is False.
  • ‘marker’ : This parameter is also an optional parameter and contains the string. Its default value is ‘o’.

Returns: (lags, c, line, b) 
Where:

  • lags are a length 2`maxlags+1 lag vector.
  • c is the 2`maxlags+1 auto correlation vector.
  • line is a Line2D instance returned by plot.
  • b is the x-axis.

Example 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()


Output: 

Example 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()


Output: 

 

RELATED ARTICLES

Most Popular

Dominic
32154 POSTS0 COMMENTS
Milvus
67 POSTS0 COMMENTS
Nango Kala
6529 POSTS0 COMMENTS
Nicole Veronica
11677 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11735 POSTS0 COMMENTS
Shaida Kate Naidoo
6623 POSTS0 COMMENTS
Ted Musemwa
6899 POSTS0 COMMENTS
Thapelo Manthata
6590 POSTS0 COMMENTS
Umr Jansen
6583 POSTS0 COMMENTS