ETS so với seasonal naive
Tại đây, bạn sẽ so sánh dự báo ETS với phương pháp seasonal naive cho 20 năm dữ liệu cement, bao gồm sản lượng xi măng theo quý, bằng cách dùng cross-validation cho chuỗi thời gian với 4 bước dự báo trước. Vì thao tác này chạy khá lâu, một phiên bản rút gọn của chuỗi cement sẽ có sẵn trong không gian làm việc của bạn.
Tham số thứ hai của tsCV() phải trả về một đối tượng dự báo, vì vậy bạn cần một hàm để khớp mô hình và trả về dự báo. Nhớ lại:
> args(tsCV)
function (y, forecastfunction, h = 1, ...)
Trong bài tập này bạn sẽ dùng một hàm dự báo sẵn có cũng như một hàm đã được tạo sẵn cho bạn. Hãy nhớ, đôi khi các phương pháp đơn giản lại hoạt động tốt hơn các phương pháp tinh vi!
Bài tập này là một phần của khóa học
Dự báo bằng R
Hướng dẫn bài tập
- Một hàm để trả về dự báo ETS,
fets(), đã được viết sẵn cho bạn. - Áp dụng
tsCV()cho cả hai phương pháp ETS và seasonal naive trên dữ liệucementvới chân trời dự báo bằng 4. Dùng hàmfetsvừa tạo và hàmsnaivehiện có làm tham số hàm dự báo choe1vàe2, tương ứng. - Tính MSE của các sai số 4 bước thu được và loại bỏ các giá trị thiếu. Các biểu thức để tính MSE đã được cung cấp, nhưng chưa có tham số tùy chọn thứ hai (bạn đã dùng trước đó rồi).
- Lưu MSE tốt nhất vào
bestmse. Bạn có thể đơn giản sao chép toàn bộ dòng mã tạo ra MSE tốt nhất từ bước hướng dẫn trước.
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.
# Function to return ETS forecasts
fets <- function(y, h) {
forecast(ets(y), h = h)
}
# Apply tsCV() for both methods
e1 <- tsCV(___, ___, h = ___)
e2 <- tsCV(___, ___, h = ___)
# Compute MSE of resulting errors (watch out for missing values)
mean(e1^2, ___)
mean(e2^2, ___)
# Copy the best forecast MSE
bestmse <- ___