Ước lượng mô hình MA
Bạn sẽ ước lượng tham số MA(1), \(\small \theta\), của một trong các chuỗi mô phỏng mà bạn đã tạo ở bài trước. Vì các tham số của chuỗi mô phỏng là đã biết, đây là cách tốt để hiểu quy trình ước lượng trước khi áp dụng cho dữ liệu thực.
Với simulated_data_1 có \(\small \theta\) thật bằng -0.9, bạn sẽ in ra ước lượng của \(\small \theta\). Ngoài ra, bạn cũng sẽ in ra toàn bộ đầu ra khi bạn khớp một mô hình chuỗi thời gian, để thấy các kiểm định và thống kê tóm tắt khác có trong statsmodels.
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
ARIMAtrong modulestatsmodels.tsa.arima.model. - Tạo một instance của lớp
ARIMAtên làmodsử dụng dữ liệu mô phỏngsimulated_data_1và bộ tham số 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). - Khớp mô hình
modbằng phương thức.fit()và lưu vào đối tượng kết quả tênres. - In toàn bộ phần tóm tắt kết quả bằng phương thức
.summary(). - Chỉ in ước lượng của tham số theta bằng thuộc tính
.params[1].
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 module from statsmodels
from statsmodels.tsa.arima.model import ARIMA
# Fit an MA(1) model to the first simulated data
mod = ARIMA(___, order=___)
res = mod.___
# Print out summary information on the fit
print(res.___)
# Print out the estimate for the constant and for theta
print("When the true theta=-0.9, the estimate of theta is:")
print(res.___)