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 AR(1)

Bạn sẽ mô phỏng và vẽ một vài chuỗi thời gian AR(1), mỗi chuỗi với một tham số \(\small \phi\) khác nhau, bằng mô-đun arima_process trong statsmodels. Trong bài này, bạn sẽ xem xét mô hình AR(1) với \(\small \phi\) dương lớn và \(\small \phi\) âm lớn; bạn cũng có thể thử các tham số khác theo ý muốn.

Có một vài quy ước khi dùng mô-đun arima_process cần được giải thích. Thứ nhất, các hàm này được thiết kế khá tổng quát để xử lý cả mô hình AR và MA. Chúng ta sẽ học mô hình MA ở phần tiếp theo, nên hiện tại hãy bỏ qua phần MA. Thứ hai, khi nhập các hệ số, bạn phải bao gồm hệ số ở độ trễ 0 bằng 1, và dấu của các hệ số còn lại sẽ ngược với cách chúng ta đã dùng (để nhất quán với tài liệu chuỗi thời gian trong xử lý tín hiệu). Ví dụ, với quá trình AR(1) có \(\small \phi=0.9\), mảng biểu diễn các tham số AR sẽ là ar = 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 AR được mô phỏng:
    • Đặt ar1 là mảng tham số AR [1, \(\small -\phi\)] như đã giải thích ở trên. Tạm thời, mảng tham số MA, ma1, chỉ chứa 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à AR_object1.
    • Mô phỏng 1000 điểm dữ liệu từ đối tượng bạn vừa tạo, AR_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ố AR còn lại.