Làm thế nào để sửa các ngoại lệ một khi được phát hiện cho dự báo dữ liệu chuỗi thời gian?


10

Tôi đang cố gắng tìm cách sửa lỗi ngoại lệ một khi tôi tìm / phát hiện chúng trong dữ liệu chuỗi thời gian. Một số phương thức, như nnetar trong R, đưa ra một số lỗi cho chuỗi thời gian với các ngoại lệ lớn / lớn. Tôi đã cố gắng sửa các giá trị còn thiếu, nhưng các ngoại lệ vẫn đang làm hỏng dự báo của tôi ...


"sửa" nghĩa là gì?
rbatt

Thay thế hoặc thay thế ... Hoặc chỉ nên trừ ...?
Mila

3
Là những ngoại lệ "thực sự"? Điều này có nghĩa là những ngoại lệ gây ra bởi sự bất lực của mô hình để dự đoán các sự kiện hoặc cú sốc cực đoan? Hay chúng là "lỗi" như vấn đề nhập dữ liệu?
xác suất

Câu trả lời:


9

Hiện tại có một cơ sở trong gói dự báo cho R để xác định và thay thế các ngoại lệ. (Nó cũng xử lý các giá trị còn thiếu.) Vì rõ ràng bạn đang sử dụng gói dự báo, đây có thể là một giải pháp thuận tiện cho bạn. Ví dụ:

fit <- nnetar(tsclean(x))

Các tsclean()chức năng sẽ phù hợp với một xu hướng mạnh mẽ sử dụng hoàng thổ (đối với hàng loạt phi theo mùa), hay xu hướng mạnh mẽ và linh kiện theo mùa sử dụng STL (đối với hàng loạt theo mùa). Phần dư được tính toán và các giới hạn sau được tính:

U=q0.9+2(q0.9q0.1)L=q0.12(q0.9q0.1)
q0.1q0.9

UL

Đối với chuỗi thời gian không theo mùa, các ngoại lệ được thay thế bằng phép nội suy tuyến tính. Đối với chuỗi thời gian theo mùa, thành phần theo mùa từ phù hợp STL được loại bỏ và chuỗi điều chỉnh theo mùa được nội suy tuyến tính để thay thế các ngoại lệ, trước khi kết quả lại theo mùa.


1
Xây dựng của bạn ở đây là hữu ích quá: stats.stackexchange.com/questions/1142/... (cuộc gọi tsclean tsoutliers)

4

Khi bạn xác định mô hình ARIMA, bạn nên đồng thời xác định Xung / Chuyển mức / Xung theo mùa và / hoặc Xu hướng thời gian địa phương. Bạn có thể nhận được một số tài liệu đọc về các quy trình Phát hiện Can thiệp tại http://www.ebay.com/ctg/Time-Series-Analysis-Univariate-and-Multivariate-Methods-David-P-Reilly-and-William-Wei-1999 - / 85697http://www.unc.edu/~jbhill/tsay.pdf . Bạn có thể phải theo đuổi phần mềm thương mại như SAS / SPSS / AUTOBOX để có được bất kỳ kết quả hữu ích nào như phần mềm miễn phí mà tôi thấy đang muốn. Để vượt qua, tôi đã đóng góp những cải tiến kỹ thuật lớn trong lĩnh vực này cho AUTOBOX.

BIÊN TẬP:

Một cách tiếp cận thậm chí tốt hơn là xác định các ngoại lệ bằng cách sử dụng phương pháp ARIMA nghiêm ngặt cộng với các quy trình Phát hiện Can thiệp dẫn đến các thông số ARIMA mạnh mẽ và dự báo tốt. Bây giờ hãy xem xét việc phát triển các dự báo mô phỏng kết hợp các phần dư được lấy mẫu lại không có hiệu ứng xung. Theo cách này, bạn có được mô hình tốt nhất của cả hai thế giới, một mô hình tốt và các tuyên bố không chắc chắn thực tế hơn cho các dự báo không cho rằng các tham số mô hình ước tính là các giá trị dân số.


1

Tôi đồng ý với @Aksakal. Thay vì loại bỏ các ngoại lệ, một cách tiếp cận tốt hơn sẽ là sử dụng một số loại thủ tục thống kê để đối phó với các ngoại lệ. Tôi đề nghị bạn thắng dữ liệu của bạn. Nếu được thực hiện đúng cách, winorisation có thể tương đối mạnh mẽ để vượt trội hơn. Trên trang này: http://www.r-bloggers.com/winsorization/ , bạn sẽ tìm thấy mã R để thực hiện chiến thắng. Nếu bạn xem xét chiến thắng dữ liệu của mình, bạn sẽ cần suy nghĩ cẩn thận về các đuôi của phân phối. Là các ngoại lệ dự kiến ​​sẽ cực kỳ thấp, hoặc họ dự kiến ​​sẽ cực kỳ cao, hoặc có thể cả hai. Điều này sẽ ảnh hưởng đến việc bạn thắng ở mức 5% hay 10% và / hoặc 95% hoặc 99%.


1
Winsorization, với mục đích ước tính trung bình tổng thể, có thể có ý nghĩa trong trường hợp không có bất kỳ xu hướng hoặc thành phần theo mùa nào trong dữ liệu, nhưng nếu không thì đe dọa phá hủy thông tin quan trọng.
whuber

0

Trong bối cảnh dự báo, loại bỏ các ngoại lệ là rất nguy hiểm. Chẳng hạn, bạn đang dự báo doanh số của một cửa hàng tạp hóa. Giả sử có một vụ nổ gas ở tòa nhà lân cận, khiến bạn phải đóng cửa hàng trong vài ngày. Đây là lần duy nhất cửa hàng đóng cửa sau 10 năm. Vì vậy, bạn có được chuỗi thời gian, phát hiện ngoại lệ, loại bỏ nó và dự báo. Bạn âm thầm cho rằng không có gì như thế này sẽ xảy ra trong tương lai. Trong ý nghĩa thực tế, bạn đã nén phương sai quan sát được của bạn và phương sai hệ số co lại. Vì vậy, nếu bạn hiển thị các dải tin cậy cho dự báo của mình, chúng sẽ hẹp hơn so với trước đây nếu bạn không xóa ngoại lệ.

Tất nhiên, bạn có thể giữ ngoại lệ và tiếp tục như bình thường, nhưng đây cũng không phải là một cách tiếp cận tốt. Lý do là ngoại lệ này sẽ làm lệch các hệ số.

Tôi nghĩ rằng một cách tiếp cận tốt hơn trong trường hợp này là cho phép phân phối lỗi với đuôi béo, có thể là phân phối ổn định. Trong trường hợp này, ngoại lệ của bạn sẽ không làm lệch các hệ số quá nhiều. Chúng sẽ gần với các hệ số bị loại bỏ ngoại lệ. Tuy nhiên, ngoại lệ sẽ hiển thị trong phân phối lỗi, phương sai lỗi. Về cơ bản, bạn sẽ kết thúc với các dải tin cậy dự báo rộng hơn.

Các dải tin cậy truyền tải một phần thông tin rất quan trọng. Nếu bạn dự báo doanh số sẽ là 1.000.000 đô la trong tháng này, nhưng có 5% khả năng họ sẽ là 10.000 đô la, điều này ảnh hưởng đến quyết định chi tiêu, quản lý tiền mặt của bạn, v.v.


-1

Để thực hiện dự báo bằng cách sử dụng (hoặc không) một mô hình với các ngoại lệ bị loại bỏ tùy thuộc vào xác suất của các ngoại lệ xảy ra trong tương lai và phân phối dự kiến ​​về hiệu ứng của nó, nếu nó thực sự xảy ra. Là dữ liệu đào tạo đủ để làm sáng tỏ điều này?. Một cách tiếp cận Bayes sẽ giúp ...


1
Điều này là không chính xác. dự báo của bạn có thể không chính xác nếu bạn không điều chỉnh các ngoại lệ, đặc biệt nếu các ngoại lệ của bạn ở cuối chuỗi.
dự báo
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.