Model Derecesini Tahmin Et: PACF
Bir AR modelinin derecesini belirlemek için yararlı bir araç, Kısmi Otokorelasyon Fonksiyonuna (PACF) bakmaktır. Bu egzersizde, bir AR(1) ve bir AR(2) olmak üzere iki zaman serisi simüle edecek ve her biri için örnek PACF'yi hesaplayacaksın. AR(1) için PACF'nin anlamlı bir 1. gecikme değeri ve sonrasında yaklaşık olarak sıfırlar göstermesi gerektiğini fark edeceksin. AR(2) içinse, örnek PACF'nin anlamlı 1. ve 2. gecikme değerleri ve sonrasında sıfırlar göstermesi gerekir.
Daha önceki egzersizlerde kullandığın plot_acf fonksiyonuna benzer şekilde, burada statsmodels modülündeki plot_pacf fonksiyonunu kullanacaksın.
Bu egzersiz
Python ile Zaman Serisi Analizi
kursunun bir parçasıdırEgzersiz talimatları
- Veriyi simüle etmek ve PACF'yi çizmek için gerekli modülleri içe aktar
- \(\small \phi=0.6\) ile bir AR(1) simüle et (AR parametresinin işaretinin tersine çevrildiğini unutma)
plot_pacffonksiyonunu kullanaraksimulated_data_1için PACF'yi çiz- \(\small \phi_1=0.6, \phi_2=0.3\) ile bir AR(2) simüle et (yine işaretleri tersine çevir)
plot_pacffonksiyonunu kullanaraksimulated_data_2için PACF'yi çiz
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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()