Simulasikan Deret Waktu AR(1)
Anda akan mensimulasikan dan memplot beberapa deret waktu AR(1), masing-masing dengan parameter \(\small \phi\) yang berbeda, menggunakan modul arima_process di statsmodels. Pada latihan ini, Anda akan melihat model AR(1) dengan \(\small \phi\) positif besar dan \(\small \phi\) negatif besar, tetapi silakan bereksperimen dengan parameter Anda sendiri.
Ada beberapa konvensi saat menggunakan modul arima_process yang perlu penjelasan. Pertama, rutin ini dibuat secara umum untuk menangani model AR dan MA. Kita akan membahas model MA selanjutnya, jadi untuk sekarang, abaikan bagian MA. Kedua, saat memasukkan koefisien, Anda harus menyertakan koefisien lag-nol bernilai 1, dan tanda koefisien lainnya berlawanan dengan yang telah kita gunakan (agar selaras dengan literatur deret waktu dalam pemrosesan sinyal). Sebagai contoh, untuk proses AR(1) dengan \(\small \phi=0.9\), array yang merepresentasikan parameter AR adalah ar = np.array([1, -0.9])
Latihan ini adalah bagian dari kursus
Analisis Deret Waktu dengan Python
Petunjuk latihan
- Impor kelas
ArmaProcessdalam modularima_process. - Plot proses AR hasil simulasi:
- Biarkan
ar1merepresentasikan array parameter AR [1, \(\small -\phi\)] seperti dijelaskan di atas. Untuk saat ini, array parameter MA,ma1, hanya akan berisi koefisien lag-nol bernilai satu. - Dengan parameter
ar1danma1, buat instance dari kelasArmaProcess(ar,ma)bernamaAR_object1. - Simulasikan 1000 titik data dari objek yang baru Anda buat,
AR_object1, menggunakan metode.generate_sample(). Plot data simulasi tersebut dalam sebuah subplot.
- Biarkan
- Ulangi untuk parameter AR lainnya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# import the module for simulating data
from statsmodels.tsa.arima_process import ArmaProcess
# Plot 1: AR parameter = +0.9
plt.subplot(2,1,1)
ar1 = np.array([1, ____])
ma1 = np.array([1])
AR_object1 = ArmaProcess(____, ____)
simulated_data_1 = AR_object1.generate_sample(nsample=1000)
plt.plot(simulated_data_1)
# Plot 2: AR parameter = -0.9
plt.subplot(2,1,2)
ar2 = np.array([1, ____])
ma2 = np.array([1])
AR_object2 = ArmaProcess(____, ____)
simulated_data_2 = AR_object2.generate_sample(nsample=1000)
plt.plot(simulated_data_2)
plt.show()