เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ความสมมูลของโมเดล AR(1) และ MA(อนันต์)

เพื่อทำความเข้าใจความสัมพันธ์ระหว่างโมเดล MA และโมเดล AR ได้ดียิ่งขึ้น เราจะแสดงให้เห็นว่าโมเดล AR(1) มีความสมมูลกับโมเดล MA(\(\small \infty\)) ที่มีพารามิเตอร์ที่เหมาะสม

คุณจะจำลองโมเดล MA ที่มีพารามิเตอร์ \(\small 0.8, 0.8^2, 0.8^3, \ldots\) สำหรับจำนวน lag ที่มาก (30 lag) และแสดงว่ามี Autocorrelation Function เดียวกับโมเดล AR(1) ที่มี \(\small \phi=0.8\)

หมายเหตุ: หากต้องการยกกำลังตัวเลข x ด้วยเลขชี้กำลัง n ให้ใช้รูปแบบ x**n

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์อนุกรมเวลาด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นำเข้าโมดูลสำหรับจำลองข้อมูลและพล็อต ACF จาก statsmodels
  • ใช้ list comprehension เพื่อสร้างรายการที่มีพารามิเตอร์ MA ที่ลดลงแบบเอกซ์โพเนนเชียล: \(\small 1, 0.8, 0.8^2, 0.8^3, \ldots\)
  • จำลองข้อมูล 5000 ค่าสังเกตของโมเดล MA(30)
  • พล็อต ACF ของชุดข้อมูลที่จำลองได้

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# import the modules for simulating data and plotting the ACF
from statsmodels.tsa.arima_process import ArmaProcess
from statsmodels.graphics.tsaplots import plot_acf

# Build a list MA parameters
ma = [___ for i in range(30)]

# Simulate the MA(30) model
ar = np.array([1])
AR_object = ArmaProcess(ar, ___)
simulated_data = ___.generate_sample(nsample=5000)

# Plot the ACF
plot_acf(___, lags=30)
plt.show()
แก้ไขและรันโค้ด