AR(1) टाइम सीरीज़ का सिमुलेशन
आप statsmodels के arima_process मॉड्यूल का उपयोग करके अलग-अलग \(\small \phi\) पैरामीटर वाले कुछ AR(1) टाइम सीरीज़ का सिमुलेशन करेंगे और उन्हें प्लॉट करेंगे। इस अभ्यास में, आप एक बड़े पॉज़िटिव \(\small \phi\) और एक बड़े नेगेटिव \(\small \phi\) वाले AR(1) मॉडल देखेंगे, लेकिन आप चाहें तो अपने पैरामीटर भी आज़मा सकते हैं।
arima_process मॉड्यूल का उपयोग करते समय कुछ परंपराएँ हैं जिनका स्पष्टीकरण ज़रूरी है। पहला, ये रूटीन्स बहुत सामान्य रूप से बनाए गए हैं ताकि AR और MA दोनों मॉडलों को संभाल सकें। हम अगले भाग में MA मॉडल कवर करेंगे, इसलिए फिलहाल MA हिस्से को नज़रअंदाज़ करें। दूसरा, कोएफ़िशिएंट इनपुट करते समय आपको lag-zero का कोएफ़िशिएंट 1 शामिल करना होता है, और बाकी कोएफ़िशिएंट्स का चिह्न हमारी अब तक की नोटेशन के उलट होता है (सिग्नल प्रोसेसिंग की टाइम सीरीज़ लिटरेचर के अनुरूप रहने के लिए)। उदाहरण के लिए, \(\small \phi=0.9\) वाले AR(1) प्रोसेस के लिए AR पैरामीटर्स को दर्शाने वाली array होगी ar = np.array([1, -0.9]).
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Time Series Analysis
अभ्यास निर्देश
arima_processमॉड्यूल सेArmaProcessक्लास इम्पोर्ट करें.- सिम्युलेट किए गए AR प्रोसेस प्लॉट करें:
- ऊपर बताए अनुसार,
ar1को AR पैरामीटर्स [1, \(\small -\phi\)] की array मानें। फिलहाल, MA पैरामीटर arrayma1में सिर्फ lag-zero कोएफ़िशिएंट 1 होगा. - पैरामीटर्स
ar1औरma1के साथArmaProcess(ar,ma)क्लास का एक इंस्टेंस बनाएँ, जिसका नामAR_object1रखें. - अभी-अभी बनाए गए ऑब्जेक्ट
AR_object1से.generate_sample()मेथड का उपयोग कर 1000 डेटा पॉइंट्स सिम्युलेट करें। सिम्युलेटेड डेटा को एक subplot में प्लॉट करें.
- ऊपर बताए अनुसार,
- दूसरे AR पैरामीटर के लिए भी यही दोहराएँ.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# import the module for simulating data
from statsmodels.tsa.arima_process import ArmaProcess
# Plot 1: AR parameter = +0.9
plt.subplot(2,1,1)
ar1 = np.array([1, ____])
ma1 = np.array([1])
AR_object1 = ArmaProcess(____, ____)
simulated_data_1 = AR_object1.generate_sample(nsample=1000)
plt.plot(simulated_data_1)
# Plot 2: AR parameter = -0.9
plt.subplot(2,1,2)
ar2 = np.array([1, ____])
ma2 = np.array([1])
AR_object2 = ArmaProcess(____, ____)
simulated_data_2 = AR_object2.generate_sample(nsample=1000)
plt.plot(simulated_data_2)
plt.show()