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

अभी अपनी विंटर कोट मत निकालिए

आखिर में, आप ARMA(1,1) मॉडल का उपयोग करके अगले 30 वर्षों का तापमान फोरकास्ट करेंगे, और उस अनुमान के आसपास कॉन्फिडेंस बैंड भी दिखाएँगे। ध्यान रखें कि ड्रिफ्ट का अनुमान, लंबी अवधि के फोरकास्ट पर ARMA पैरामीटरों की तुलना में कहीं अधिक प्रभाव डालता है.

पहले, आपने तय किया था कि तापमान डेटा एक रैंडम वॉक का अनुसरण करता है और आपने डेटा का फर्स्ट डिफरेंसिंग देखा था। इस अभ्यास में, आप तापमान डेटा (डिफरेंसिंग से पहले) पर ARIMA मॉड्यूल का उपयोग करेंगे, जो तापमान में हुए बदलावों पर ARMA मॉड्यूल लगाने और फिर इन बदलावों के क्यूमलेटिव सम्स लेकर तापमान का फोरकास्ट पाने के बराबर है.

क्योंकि समय के साथ तापमान ऊपर की ओर ट्रेंड कर रहा है, इसलिए ARIMA मॉडल परिभाषित करते समय आपको एक ट्रेंड कंपोनेंट भी जोड़ना होगा। इस अभ्यास में, आप trend='t' आर्ग्यूमेंट सेट करके समय के साथ एक लीनियर ट्रेंड का उपयोग करेंगे। आप अन्य ट्रेंड मॉडल भी आज़मा सकते हैं ताकि देख सकें कि फोरकास्ट कैसे बदलते हैं। उदाहरण के लिए, क्वाड्रेटिक ट्रेंड \(\small a+ bt + ct^2\) के लिए, trend=[0,1,1] सेट करें, ताकि मॉडल में लीनियर टर्म \(\small bt\) और क्वाड्रेटिक टर्म \(\small ct^2\) दोनों शामिल हों.

डेटा temp_NY नाम के DataFrame में प्रीलोड किया गया है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Time Series Analysis

पाठ्यक्रम देखें

अभ्यास निर्देश

  • इंटीग्रेटेड ARMA(1,1) मॉडल, अर्थात् ARIMA(1,1,1) मॉडल के लिए ARIMA क्लास का एक इंस्टेंस mod बनाएँ
    • order(p,d,q) में d एक है, क्योंकि हमने फर्स्ट डिफरेंसिंग एक बार की है
    • .fit() मेथड का उपयोग करके mod को फिट करें और रिजल्ट को res कहें
  • res पर plot_predict() मेथड का उपयोग करके सीरीज़ का फोरकास्ट करें
    • स्टार्ट डेट 1872 और एंड डेट 2046 चुनें

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

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

# Import the ARIMA module from statsmodels
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.graphics.tsaplots import plot_predict

# Forecast temperatures using an ARIMA(1,1,1) model
mod = ARIMA(temp_NY, trend='t', order=(1,1,1))
___ = ___.fit()

# Plot the original series and the forecasted series
fig, ax = plt.subplots()
temp_NY.plot(ax=ax)
plot_predict(___, start='1872', end='2046', ax=ax)
plt.show()
कोड संपादित करें और चलाएँ