MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Impor kelas ArmaProcess dalam modul arima_process.
  • Plot proses AR hasil simulasi:
    • Biarkan ar1 merepresentasikan 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 ar1 dan ma1, buat instance dari kelas ArmaProcess(ar,ma) bernama AR_object1.
    • Simulasikan 1000 titik data dari objek yang baru Anda buat, AR_object1, menggunakan metode .generate_sample(). Plot data simulasi tersebut dalam sebuah subplot.
  • 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()
Edit dan Jalankan Kode