पायथन में ऑटोसहसंबंध की गणना कैसे करें
ऑटोसहसंबंध एक समय श्रृंखला और क्रमिक समय अंतराल पर स्वयं के विलंबित संस्करण के बीच समानता की डिग्री को मापता है।
इसे कभी-कभी “सीरियल सहसंबंध” या “लैग्ड सहसंबंध” भी कहा जाता है क्योंकि यह एक चर के वर्तमान मूल्यों और उसके ऐतिहासिक मूल्यों के बीच संबंध को मापता है।
जब किसी समय श्रृंखला में स्वत:सहसंबंध अधिक होता है, तो केवल पिछले मूल्यों का संदर्भ देकर भविष्य के मूल्यों की भविष्यवाणी करना आसान हो जाता है।
पायथन में ऑटोसहसंबंध की गणना कैसे करें
मान लीजिए कि हमारे पास पायथन में निम्नलिखित समय श्रृंखला है जो 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()
आप इस पेज पर अधिक पायथन ट्यूटोरियल पा सकते हैं।