1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Phân tích chuỗi thời gian với Python

Connected

Bài tập

Mô phỏng chuỗi thời gian MA(1)

Bạn sẽ mô phỏng và vẽ một vài chuỗi thời gian MA(1), mỗi chuỗi với một tham số \(\small \theta\) khác nhau, dùng mô-đun arima_process trong statsmodels, giống như bạn đã làm ở chương trước cho mô hình AR(1). Bạn sẽ xem xét một mô hình MA(1) với \(\small \theta\) dương lớn và \(\small \theta\) âm lớn.

Giống như ở chương trước, khi nhập các hệ số, bạn phải bao gồm hệ số độ trễ 0 bằng 1; nhưng khác với chương về mô hình AR, dấu của các hệ số MA đúng như kỳ vọng. Ví dụ, với một quá trình MA(1) có \(\small \theta=-0.9\), mảng biểu diễn các tham số MA sẽ là ma = np.array([1, -0.9])

Hướng dẫn

100 XP
  • Import lớp ArmaProcess trong mô-đun arima_process.
  • Vẽ các quá trình MA(1) được mô phỏng
    • Đặt ma1 là mảng các tham số MA [1, \(\small \theta\)] như giải thích ở trên. Mảng tham số AR chỉ gồm hệ số độ trễ 0 bằng 1.
    • Với các tham số ar1 và ma1, tạo một thể hiện của lớp ArmaProcess(ar,ma) đặt tên là MA_object1.
    • Mô phỏng 1000 điểm dữ liệu từ đối tượng bạn vừa tạo, MA_object1, bằng phương thức .generate_sample(). Vẽ dữ liệu mô phỏng trong một subplot.
  • Lặp lại cho tham số MA còn lại.