1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Dự báo bằng R

Connected

Bài tập

So sánh auto.arima() và ets() trên dữ liệu theo mùa

Điều gì xảy ra khi bạn muốn tạo tập huấn luyện và kiểm tra cho dữ liệu có tần suất cao hơn theo năm? Khi cần, bạn có thể dùng một vector dạng c(year, period) cho các tham số start và/hoặc end trong hàm window(). Bạn cũng phải đảm bảo dùng giá trị h phù hợp trong các hàm dự báo. Nhớ rằng h phải bằng độ dài dữ liệu tạo thành tập kiểm tra của bạn.

Ví dụ, nếu dữ liệu của bạn kéo dài 15 năm, tập huấn luyện gồm 10 năm đầu, và bạn muốn dự báo 5 năm cuối, bạn sẽ dùng h = 12 * 5 chứ không phải h = 5 vì tập kiểm tra sẽ gồm 60 quan sát theo tháng. Nếu thay vào đó tập huấn luyện gồm 9,5 năm đầu và bạn muốn dự báo 5,5 năm cuối, bạn sẽ dùng h = 66 để tính cả 6 tháng bổ sung.

Trong bài tập cuối của chương này, bạn sẽ so sánh các mô hình ARIMA theo mùa và ETS áp dụng cho dữ liệu sản lượng xi măng theo quý qcement. Vì chuỗi rất dài, bạn có thể dùng tập huấn luyện và tập kiểm tra thay vì cross-validation chuỗi thời gian. Cách này nhanh hơn nhiều.

Dữ liệu qcement đã có sẵn trong không gian làm việc của bạn.

Hướng dẫn

100 XP
  • Tạo một tập huấn luyện tên train gồm 20 năm dữ liệu qcement bắt đầu từ năm 1988 và kết thúc ở quý cuối của năm 2007; bạn phải dùng một vector cho end. Phần dữ liệu còn lại là tập kiểm tra.
  • Khớp các mô hình ARIMA và ETS cho dữ liệu huấn luyện và lưu lần lượt vào fit1 và fit2.
  • Giống như các bài trước, kiểm tra xem cả hai mô hình đều có phần dư là nhiễu trắng.
  • Tạo dự báo cho phần dữ liệu còn lại từ cả hai mô hình và lưu lần lượt vào fc1 và fc2. Đặt h bằng tổng số quý trong tập kiểm tra của bạn. Hãy cẩn thận — quan sát cuối trong qcement không phải là quý cuối cùng của năm!
  • Dùng hàm accuracy() để tìm mô hình tốt hơn dựa trên giá trị RMSE và lưu nó vào bettermodel.