पायथन में ऑटोसहसंबंध की गणना कैसे करें


ऑटोसहसंबंध एक समय श्रृंखला और क्रमिक समय अंतराल पर स्वयं के विलंबित संस्करण के बीच समानता की डिग्री को मापता है।

इसे कभी-कभी “सीरियल सहसंबंध” या “लैग्ड सहसंबंध” भी कहा जाता है क्योंकि यह एक चर के वर्तमान मूल्यों और उसके ऐतिहासिक मूल्यों के बीच संबंध को मापता है।

जब किसी समय श्रृंखला में स्वत:सहसंबंध अधिक होता है, तो केवल पिछले मूल्यों का संदर्भ देकर भविष्य के मूल्यों की भविष्यवाणी करना आसान हो जाता है।

पायथन में ऑटोसहसंबंध की गणना कैसे करें

मान लीजिए कि हमारे पास पायथन में निम्नलिखित समय श्रृंखला है जो 15 अलग-अलग अवधियों के लिए एक निश्चित चर का मान दिखाती है:

 #define data
x = [22, 24, 25, 25, 28, 29, 34, 37, 40, 44, 51, 48, 47, 50, 51]

हम स्टेटमॉडल लाइब्रेरी से acf() फ़ंक्शन का उपयोग करके समय श्रृंखला में प्रत्येक अंतराल के लिए ऑटोसहसंबंध की गणना कर सकते हैं:

 import statsmodels.api as sm

#calculate autocorrelations
sm.tsa.acf(x)

array([ 1. , 0.83174224, 0.65632458, 0.49105012, 0.27863962,
        0.03102625, -0.16527446, -0.30369928, -0.40095465, -0.45823389,
       -0.45047733])

परिणाम की व्याख्या करने का तरीका इस प्रकार है:

  • अंतराल 0 पर स्वत:सहसंबंध 1 है।
  • लैग 1 पर स्वसहसंबंध 0.8317 है।
  • लैग 2 पर स्वसहसंबंध 0.6563 है।
  • लैग 3 पर स्वसहसंबंध 0.4910 है।

और इसी तरह।

हम nlags तर्क के साथ उपयोग करने के लिए लैग की संख्या भी निर्दिष्ट कर सकते हैं:

 sm.tsa.acf(x, nlags= 5 )

array([1.0, 0.83174224, 0.65632458, 0.49105012, 0.27863962, 0.03102625])

पायथन में ऑटोसहसंबंध फ़ंक्शन को कैसे प्लॉट करें

हम statsmodels लाइब्रेरी से tsaplots.plot_acf() फ़ंक्शन का उपयोग करके पायथन में एक समय श्रृंखला के लिए ऑटोसहसंबंध फ़ंक्शन को प्लॉट कर सकते हैं:

 from statsmodels.graphics import tsaplots
import matplotlib.pyplot as plt

#plot autocorrelation function
fig = tsaplots.plot_acf(x, lags=10)
plt.show() 

पायथन में ऑटोसहसंबंध फ़ंक्शन

x-अक्ष लैग की संख्या प्रदर्शित करता है और y-अक्ष लैग की उस संख्या पर स्वतःसहसंबंध प्रदर्शित करता है। डिफ़ॉल्ट रूप से, प्लॉट लैग = 0 पर शुरू होता है और ऑटोसहसंबंध हमेशा लैग = 0 पर 1 होगा।

हम लैग्स तर्क के साथ कम लैग्स का उपयोग चुनकर पहले लैग्स पर भी ज़ूम इन कर सकते हैं:

 from statsmodels.graphics import tsaplots
import matplotlib.pyplot as plt

#plot autocorrelation function
fig = tsaplots.plot_acf(x, lags= 5 )
plt.show() 

पायथन में ऑटोसहसंबंध फ़ंक्शन को प्लॉट करना

आप शीर्षक और रंग तर्कों के साथ कथानक में प्रयुक्त वृत्तों का शीर्षक और रंग भी बदल सकते हैं:

 from statsmodels.graphics import tsaplots
import matplotlib.pyplot as plt

#plot autocorrelation function
fig = tsaplots.plot_acf(x, lags= 5, color='g', title='Autocorrelation function' )
plt.show() 

कस्टम शीर्षक के साथ पायथन में ऑटोसहसंबंध फ़ंक्शन

आप इस पेज पर अधिक पायथन ट्यूटोरियल पा सकते हैं।

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *