Dự báo với mô hình MA
Giống như bạn đã làm với các mô hình AR, bạn sẽ dùng mô hình MA để dự báo dữ liệu trong mẫu và ngoài mẫu bằng hàm plot_predict() trong statsmodels.
Với chuỗi mô phỏng simulated_data_1 có \(\small \theta=-0.9\), bạn sẽ vẽ dự báo trong mẫu và ngoài mẫu. Một khác biệt lớn giữa dự báo ngoài mẫu với mô hình MA(1) so với AR(1) là với MA(1), các dự báo từ hơn một bước trong tương lai đơn giản là bằng giá trị trung bình của mẫu.
Bài tập này là một phần của khóa học
Phân tích chuỗi thời gian với Python
Hướng dẫn bài tập
- Import lớp
ARIMAvà cả hàmplot_predict - Tạo một thể hiện của lớp
ARIMAđặt tên làmodsử dụng dữ liệu mô phỏngsimulated_data_1và bậc (p,d,q) của mô hình (trong trường hợp này, với MA(1)) làorder=(0,0,1) - Fit mô hình
modbằng phương thức.fit()và lưu vào đối tượng kết quả tênres - Vẽ dữ liệu trong mẫu bắt đầu từ điểm dữ liệu 950
- Vẽ dự báo ngoài mẫu và khoảng tin cậy bằng hàm
plot_predict(), bắt đầu từ điểm dữ liệu 950 và kết thúc dự báo tại điểm 1010
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Import the ARIMA and plot_predict from statsmodels
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.graphics.tsaplots import plot_predict
# Forecast the first MA(1) model
mod = ARIMA(___, order=___)
res = mod.fit()
# Plot the data and the forecast
fig, ax = plt.subplots()
simulated_data_1.loc[950:].plot(ax=ax)
plot_predict(res, start=___, end=___, ax=ax)
plt.show()