Thực hành tốt khi thực hiện dự báo chuỗi thời gian


10

Tôi đã làm việc trong nhiều tháng về dự báo tải ngắn hạn và sử dụng dữ liệu khí hậu / thời tiết để cải thiện độ chính xác. Tôi có nền tảng khoa học máy tính và vì lý do này, tôi đang cố gắng không mắc sai lầm lớn và so sánh không công bằng khi làm việc với các công cụ thống kê như mô hình ARIMA. Tôi muốn biết ý kiến ​​của bạn về một vài điều:

  1. Tôi đang sử dụng cả hai mô hình ARIMA (S) ARIMA và (S) để điều tra ảnh hưởng của dữ liệu thời tiết đối với dự báo, bạn có nghĩ cần phải sử dụng các phương pháp Làm mịn theo cấp số nhân không?

  2. Có chuỗi thời gian 300 mẫu hàng ngày Tôi bắt đầu từ hai tuần đầu tiên và tôi thực hiện dự báo trước 5 ngày bằng các mô hình được xây dựng với chức năng auto.arima R (gói dự báo). Sau đó, tôi thêm một mẫu khác vào bộ dữ liệu của mình và tôi hiệu chỉnh lại các mô hình và tôi thực hiện dự báo 5 ngày nữa và cứ thế cho đến khi kết thúc dữ liệu có sẵn. Bạn có nghĩ rằng cách này để hoạt động là chính xác?

Cảm ơn bạn đã góp ý, mặc dù mục tiêu công việc của chúng tôi là một bài báo trên tạp chí kỹ thuật, tôi muốn thực hiện một công việc nghiêm ngặt nhất có thể theo quan điểm thống kê.


1
Câu hỏi này dường như liên quan chặt chẽ: stats.stackexchange.com/questions/16915/...
whuber

1
Đây là một câu trả lời cũ stats.stackexchange.com/questions/6513/ từ
bill_080

Câu trả lời:


9
  1. Tôi nghĩ rằng nó cũng đáng để khám phá các mô hình làm mịn theo cấp số nhân. Các mô hình làm mịn theo cấp số nhân là một loại mô hình khác nhau cơ bản so với các mô hình ARIMA và có thể mang lại kết quả khác nhau trên dữ liệu của bạn.

  2. Điều này nghe có vẻ như là một cách tiếp cận hợp lệ và rất giống với phương pháp xác thực chéo chuỗi thời gian được đề xuất bởi Rob Hyndman .

Tôi sẽ tổng hợp lỗi xác thực chéo từ mỗi dự báo (làm mịn theo cấp số nhân, ARIMA, ARMAX) và sau đó sử dụng lỗi tổng thể để so sánh 3 phương pháp.

Bạn cũng có thể muốn xem xét "tìm kiếm lưới" cho các tham số ARIMA, thay vì sử dụng auto.arima. Trong tìm kiếm dạng lưới, bạn sẽ khám phá từng tham số có thể cho mô hình arima và sau đó chọn tham số "tốt nhất" bằng độ chính xác dự báo.


Cảm ơn bạn đã trả lời, tôi đang sử dụng auto.arima với tìm kiếm STEPWISE bị vô hiệu hóa và tôi nghĩ rằng bằng cách này, nó sẽ khám phá tất cả các tham số giữa phạm vi tối thiểu (Tôi chưa đọc bài báo Hyndman & Kandahar 2008)
Matteo De Felice

@Matteo De Felice: điều này là, nó đang tối ưu hóa các tham số dựa trên AIC. Tôi đã đề xuất rằng có thể đáng để tối ưu hóa các tham số đó bằng hiệu suất ngoài mẫu của chúng, mà bạn có thể đánh giá bằng cách xác thực chéo. Hơn nữa, nếu bạn muốn so sánh các mô hình khác (như ETS), bạn sẽ cần một số liệu hiệu suất ngoài mẫu, vì bạn không thể so sánh AIC giữa các loại mô hình khác nhau (như auto.arima và ets).
Zach

tại thời điểm này, tôi đã thực hiện tìm kiếm dạng lưới (sử dụng auto.arima với stepwise = FALSE) và sau đó tôi đã thử các mô hình thường xuyên nhất để đánh giá hiệu suất của chúng.
Matteo De Felice

@Matteo De Felice: Nếu bạn gặp khó khăn khi thực hiện xác thực chéo chuỗi thời gian, bài đăng trên blog này có thể giúp: robjhyndman.com/researchtips/tscvexample
Zach

Cần lưu ý rằng các mô hình ARIMA và ETS không khác nhau về cơ bản. Trong thực tế, các mô hình làm mịn theo cấp số nhân tuyến tính là trường hợp đặc biệt của các mô hình ARIMA. Xem tại đây: otexts.org/fpp/8/10 .
Mụn cóc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.