MulaiMulai sekarang secara gratis

Simulasikan Deret Waktu MA(1)

Anda akan mensimulasikan dan memplot beberapa deret waktu MA(1), masing-masing dengan parameter \(\small \theta\) yang berbeda, menggunakan modul arima_process di statsmodels, seperti yang Anda lakukan pada bab sebelumnya untuk model AR(1). Anda akan melihat model MA(1) dengan \(\small \theta\) positif besar dan \(\small \theta\) negatif besar.

Seperti pada bab sebelumnya, saat memasukkan koefisien, Anda harus menyertakan koefisien lag-nol bernilai 1, tetapi berbeda dengan bab sebelumnya tentang model AR, tanda koefisien MA sesuai dengan yang diharapkan. Sebagai contoh, untuk proses MA(1) dengan \(\small \theta=-0.9\), array yang merepresentasikan parameter MA adalah ma = 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 MA(1) hasil simulasi
    • Biarkan ma1 merepresentasikan array parameter MA [1, \(\small \theta\)] seperti dijelaskan di atas. Array parameter AR hanya akan memuat koefisien lag-nol bernilai satu.
    • Dengan parameter ar1 dan ma1, buat instance kelas ArmaProcess(ar,ma) bernama MA_object1.
    • Simulasikan 1000 titik data dari objek yang baru Anda buat, MA_object1, menggunakan metode .generate_sample(). Plot data hasil simulasi dalam sebuah subplot.
  • Ulangi untuk parameter MA 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: MA parameter = -0.9
plt.subplot(2,1,1)
ar1 = np.array([1])
ma1 = np.array([1, ____])
MA_object1 = ArmaProcess(____, ____)
simulated_data_1 = MA_object1.generate_sample(nsample=1000)
plt.plot(simulated_data_1)

# Plot 2: MA parameter = +0.9
plt.subplot(2,1,2)
ar2 = np.array([1])
ma2 = np.array([1, ____])
MA_object2 = ArmaProcess(____, ____)
simulated_data_2 = MA_object2.generate_sample(nsample=1000)
plt.plot(simulated_data_2)

plt.show()
Edit dan Jalankan Kode