शुरू करेंमुफ़्त में शुरू करें

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 पैरामीटर के लिए भी यही दोहराएँ।

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# 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()
कोड संपादित करें और चलाएँ