मॉडल का ऑर्डर अनुमान: PACF
AR मॉडल का ऑर्डर पहचानने के लिए एक उपयोगी तरीका है Partial Autocorrelation Function (PACF) देखना। इस अभ्यास में, आप दो टाइम सीरीज़ सिमुलेट करेंगे — एक AR(1) और एक AR(2) — और प्रत्येक के लिए सैंपल PACF निकालेंगे। आप देखेंगे कि AR(1) के लिए PACF में lag-1 का मान महत्वपूर्ण होगा और उसके बाद के मान लगभग शून्य होंगे। वहीं AR(2) के लिए सैंपल PACF में lag-1 और lag-2 के मान महत्वपूर्ण होंगे और उसके बाद शून्य होंगे।
जैसे आपने पहले के अभ्यासों में plot_acf फंक्शन इस्तेमाल किया था, यहाँ आप statsmodels मॉड्यूल का plot_pacf फंक्शन इस्तेमाल करेंगे।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Time Series Analysis
अभ्यास निर्देश
- डेटा सिमुलेट करने और PACF प्लॉट करने वाले मॉड्यूल इम्पोर्ट करें
- \(\small \phi=0.6\) के साथ AR(1) सिमुलेट करें (ध्यान रखें कि AR पैरामीटर का साइन उल्टा होता है)
plot_pacfफंक्शन का उपयोग करकेsimulated_data_1के लिए PACF प्लॉट करें- \(\small \phi_1=0.6, \phi_2=0.3\) के साथ AR(2) सिमुलेट करें (फिर से साइन उल्टा रखें)
plot_pacfफंक्शन का उपयोग करकेsimulated_data_2के लिए PACF प्लॉट करें
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Import the modules for simulating data and for plotting the PACF
from statsmodels.tsa.arima_process import ArmaProcess
from statsmodels.graphics.tsaplots import plot_pacf
# Simulate AR(1) with phi=+0.6
ma = np.array([1])
ar = np.array([1, -0.6])
AR_object = ArmaProcess(ar, ma)
simulated_data_1 = ___.generate_sample(nsample=5000)
# Plot PACF for AR(1)
plot_pacf(___, lags=20)
plt.show()
# Simulate AR(2) with phi1=+0.6, phi2=+0.3
ma = np.array([1])
ar = np.array([1, ___, ___])
AR_object = ArmaProcess(ar, ma)
simulated_data_2 = ___.generate_sample(nsample=5000)
# Plot PACF for AR(2)
plot_pacf(___, lags=20)
plt.show()