Tương đương giữa AR(1) và MA(vô hạn)
Để hiểu rõ hơn mối quan hệ giữa mô hình MA và mô hình AR, bạn sẽ chứng minh rằng một mô hình AR(1) tương đương với mô hình MA(\(\small \infty\)) nếu chọn tham số phù hợp.
Bạn sẽ mô phỏng một mô hình MA với các tham số \(\small 0.8, 0.8^2, 0.8^3, \ldots \) cho số lượng độ trễ lớn (30) và cho thấy nó có Hàm Tự tương quan (Autocorrelation Function) giống như mô hình AR(1) với \(\small \phi=0.8\).
Lưu ý: để nâng một số x lên lũy thừa n, hãy dùng cú pháp x**n.
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 các mô-đun để mô phỏng dữ liệu và vẽ ACF từ statsmodels
- Dùng list comprehension để tạo một danh sách tham số MA suy giảm theo hàm mũ: \(\small 1, 0.8, 0.8^2, 0.8^3, \ldots\)
- Mô phỏng 5000 quan sát từ mô hình MA(30)
- Vẽ ACF của chuỗi đã mô phỏng
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 modules for simulating data and plotting the ACF
from statsmodels.tsa.arima_process import ArmaProcess
from statsmodels.graphics.tsaplots import plot_acf
# Build a list MA parameters
ma = [___ for i in range(30)]
# Simulate the MA(30) model
ar = np.array([1])
AR_object = ArmaProcess(ar, ___)
simulated_data = ___.generate_sample(nsample=5000)
# Plot the ACF
plot_acf(___, lags=30)
plt.show()