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

Đừng Vội C cất Áo Khoác Mùa Đông

Cuối cùng, bạn sẽ dự báo nhiệt độ trong 30 năm tới bằng mô hình ARMA(1,1), kèm theo các dải tin cậy quanh ước lượng đó. Hãy nhớ rằng ước lượng của xu hướng trôi (drift) sẽ ảnh hưởng lớn hơn nhiều đến các dự báo dài hạn so với các tham số ARMA.

Trước đó, bạn đã xác định dữ liệu nhiệt độ đi theo quy luật random walk và đã xét việc sai phân bậc một. Trong bài này, bạn sẽ dùng module ARIMA trên dữ liệu nhiệt độ (trước khi sai phân), điều này tương đương với việc dùng module ARMA trên các thay đổi của nhiệt độ, rồi lấy tổng tích lũy của các thay đổi này để thu được dự báo nhiệt độ.

Vì nhiệt độ có xu hướng tăng theo thời gian, bạn cũng cần thêm thành phần xu hướng khi định nghĩa mô hình ARIMA. Trong bài tập, bạn sẽ dùng xu hướng tuyến tính theo thời gian bằng cách đặt đối số trend='t'. Bạn cũng có thể thử các mô hình xu hướng khác để xem dự báo thay đổi ra sao. Ví dụ, với xu hướng bậc hai \(\small a+ bt + ct^2\), đặt trend=[0,1,1] để bao gồm cả hạng tuyến tính, \(\small bt\), và hạng bậc hai, \(\small ct^2\), trong mô hình.

Dữ liệu đã được nạp sẵn trong DataFrame tên là temp_NY.

Hướng dẫn

100 XP
  • Tạo một instance của lớp ARIMA tên mod cho mô hình ARMA tích phân (integrated) (1,1), tức mô hình ARIMA(1,1,1)
    • Tham số d trong order(p,d,q) là một, vì ta đã sai phân bậc một
    • Fit mod bằng phương thức .fit() và gọi kết quả là res
  • Dự báo chuỗi bằng phương thức plot_predict() trên res
    • Chọn ngày bắt đầu là 1872 và ngày kết thúc là 2046