Ước lượng mô hình random walk
Với một chuỗi thời gian y, ta có thể khớp mô hình random walk có độ trôi (drift) bằng cách lấy sai phân bậc một của dữ liệu, sau đó khớp mô hình white noise (WN) cho dữ liệu đã sai phân bằng lệnh arima() với đối số order = c(0, 0, 0)).
Lệnh arima() sẽ hiển thị thông tin/đầu ra về mô hình đã khớp. Dưới tiêu đề Coefficients: là biến độ trôi ước lượng, được đặt tên là intercept. Sai số chuẩn (xấp xỉ) của nó (hoặc s.e.) được cung cấp ngay bên dưới. Phần phương sai của thành phần WN trong mô hình cũng được ước lượng dưới nhãn sigma^2.
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 bằng R
Hướng dẫn bài tập
- Chuỗi thời gian
random_walkđã được nạp sẵn và hiển thị ở hình bên. Dùngdiff()để tạo sai phân bậc một của dữ liệu. Lưu vàorw_diff. - Dùng
ts.plot()để vẽ dữ liệu đã sai phân - Dùng
arima()để khớp mô hình WN cho dữ liệu đã sai phân. Thiết lập đối sốxlàrw_diffvàorderlàc(0, 0, 0). Lưu mô hình vàomodel_wn. - Lưu giá trị
interceptcủamodel_wnvàoint_wn. Bạn có thể lấy giá trị này bằngmodel_wn$coef. - Dùng
ts.plot()để vẽ lại đồ thị gốc củarandom_walk. - Thêm xu hướng thời gian ước lượng vào đồ thị bên cạnh bằng hàm
abline(). Bạn có thể dùngint_wnlàm đối số thứ hai.
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.
# Difference your random_walk data
rw_diff <-
# Plot rw_diff
# Now fit the WN model to the differenced data
model_wn <-
# Store the value of the estimated time trend (intercept)
int_wn <-
# Plot the original random_walk data
# Use abline(0, ...) to add time trend to the figure