मॉडल का ऑर्डर आँकें: Information Criteria
मॉडल का ऑर्डर पहचानने का एक और तरीका Akaike Information Criterion (AIC) और Bayesian Information Criterion (BIC) को देखना है। ये माप अनुमानित पैरामीटर्स के साथ goodness of fit निकालते हैं, लेकिन मॉडल में पैरामीटर्स की संख्या पर एक पेनल्टी फ़ंक्शन भी लगाते हैं। आप पिछले अभ्यास के AR(2) सिम्युलेटेड डेटा, simulated_data_2, का उपयोग करेंगे और AR(p) में p को 0 से 6 तक बदलते हुए BIC की गणना करेंगे।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Time Series Analysis
अभ्यास निर्देश
- पैरामीटर्स के अनुमान और BIC निकालने के लिए ARIMA मॉड्यूल इम्पोर्ट करें।
- एक numpy array
BICइनिशियलाइज़ करें, जिसका उपयोग हम प्रत्येक AR(p) मॉडल के BIC स्टोर करने के लिए करेंगे। - ऑर्डर p के लिए p = 0,…,6 तक लूप चलाएँ।
- हर p के लिए, डेटा को ऑर्डर p के AR मॉडल पर फिट करें।
- हर p के लिए,
resके.bicएट्रिब्यूट (बिना कोष्ठक) से BIC का मान सेव करें।
- BIC को p के फ़ंक्शन के रूप में प्लॉट करें (प्लॉट के लिए, p=0 को छोड़ें और p=1,…,6 के लिए प्लॉट करें)।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Import the module for estimating an ARIMA model
from statsmodels.tsa.arima.model import ARIMA
# Fit the data to an AR(p) for p = 0,...,6 , and save the BIC
BIC = np.zeros(7)
for p in range(7):
mod = ARIMA(simulated_data_2, order=(___,___,___))
res = mod.fit()
# Save BIC for AR(p)
BIC[p] = res.___
# Plot the BIC as a function of p
plt.plot(range(1,7), BIC[1:7], marker='o')
plt.xlabel('Order of AR Model')
plt.ylabel('Bayesian Information Criterion')
plt.show()