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

कौन‑सा ARMA मॉडल सबसे बेहतर है?

अध्याय 3 से याद कीजिए कि Akaike Information Criterion (AIC) अलग‑अलग पैरामीटरों वाले मॉडलों की तुलना करने में काम आता है। यह goodness‑of‑fit मापता है, लेकिन अधिक पैरामीटरों वाले मॉडलों पर पेनल्टी लगाता है ताकि overfitting न हो। AIC जितना कम, उतना बेहतर।

टेम्परेचर डेटा पर AR(1), AR(2), और ARMA(1,1) फिट कीजिए और AIC मानदंड का उपयोग करके देखिए कि कौन‑सा मॉडल सबसे अच्छा फिट है। ध्यान दें, AR(2) और ARMA(1,1) में AR(1) की तुलना में एक अतिरिक्त पैरामीटर होता है।

वार्षिक तापमान परिवर्तन एक DataFrame chg_temp में है।

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

Python में Time Series Analysis

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

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

  • हर ARMA मॉडल के लिए ARIMA क्लास का एक इंस्टेंस बनाएँ, जिसमें डेटा और order=(p,d,q) पास करें। p autoregressive ऑर्डर है; q moving average ऑर्डर है; d वह संख्या है जितनी बार सीरीज़ को differencing किया गया है।
  • मॉडल को .fit() मेथड के साथ फिट कीजिए।
  • परिणामों के .aic एलिमेंट में मिलने वाले AIC मान को प्रिंट कीजिए।

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

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

# Import the module for estimating an ARIMA model
from statsmodels.tsa.arima.model import ARIMA

# Fit the data to an AR(1) model and print AIC:
mod_ar1 = ARIMA(chg_temp, order=(___, 0, 0))
res_ar1 = mod_ar1.fit()
print("The AIC for an AR(1) is: ", res_ar1.aic)

# Fit the data to an AR(2) model and print AIC:
mod_ar2 = ARIMA(chg_temp, order=(___, ___, ___))
res_ar2 = mod_ar2.___
print("The AIC for an AR(2) is: ", res_ar2.aic)

# Fit the data to an ARMA(1,1) model and print AIC:
mod_arma11 = ___
res_arma11 = ___
print("The AIC for an ARMA(1,1) is: ", ___)
कोड संपादित करें और चलाएँ