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