SES so với naive
Trong bài tập này, bạn sẽ vận dụng kiến thức về tập huấn luyện và tập kiểm tra, hàm subset(), và hàm accuracy()—tất cả đều đã học ở Chương 2—để so sánh dự báo SES và naive cho dữ liệu marathon.
Bạn đã làm một việc rất tương tự để so sánh dự báo naive và dự báo trung bình trong bài tập trước đó “Đánh giá độ chính xác dự báo của các phương pháp phi mùa vụ”.
Hãy điểm lại quy trình:
- Trước tiên, nhập và nạp dữ liệu. Xác định tỷ lệ dữ liệu dành cho huấn luyện và cho kiểm tra; các tập này không được chồng lấp.
- Tách dữ liệu để tạo tập huấn luyện, tập này sẽ được dùng làm đối số trong (các) hàm dự báo của bạn. Tùy chọn, bạn cũng có thể tạo tập kiểm tra để dùng sau.
- Tính các dự báo từ tập huấn luyện bằng (các) hàm dự báo bạn chọn, và đặt
hbằng số giá trị bạn muốn dự báo, cũng chính là độ dài của tập kiểm tra. - Để xem kết quả, dùng hàm
accuracy()với dự báo là đối số thứ nhất và dữ liệu gốc (hoặc tập kiểm tra) là đối số thứ hai. - Chọn một chỉ số trong đầu ra, như RMSE hoặc MAE, để đánh giá (các) dự báo; sai số nhỏ hơn nghĩa là chính xác hơn.
Dữ liệu marathon đã được nạp vào không gian làm việc của bạn.
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
- Dùng
subset()để tạo tập huấn luyện chomarathongồm toàn bộ dữ liệu trừ 20 năm cuối, phần này bạn sẽ giữ lại để kiểm tra. - Tính các dự báo SES và naive từ tập huấn luyện này và lưu lần lượt vào
fcsesvàfcnaive. - Tính các thước đo độ chính xác dự báo cho hai bộ dự báo bằng hàm
accuracy()trong console của bạn. - Gán bộ dự báo tốt nhất (hoặc
fcseshoặcfcnaive) dựa trên RMSE vàofcbest.
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.
# Create a training set using subset()
train <- ___(___, end = length(marathon) - ___)
# Compute SES and naive forecasts, save to fcses and fcnaive
fcses <- ses(___, h = ___)
fcnaive <- naive(___, h = ___)
# Calculate forecast accuracy measures
accuracy(___, ___)
accuracy(___, ___)
# Save the best forecasts as fcbest
fcbest <- ___