Có nên auto.arima trong R bao giờ báo cáo một mô hình có AIC, AICC và BIC cao hơn các mô hình khác được xem xét không?


8

Tôi đã sử dụng auto.arima để phù hợp với mô hình chuỗi thời gian (hồi quy tuyến tính với lỗi ARIMA, như được mô tả trên trang web của Rob Hyndman ) Khi kết thúc - báo cáo đầu ra rằng mô hình tốt nhất có (5,1,0) với cấu trúc trôi - và báo cáo lại các giá trị của tiêu chí thông tin như

AIC: 2989.2 AICC: 2989.3 BIC: 3261.2

Khi tôi sử dụng Arima để phù hợp với một mô hình có cấu trúc trôi (1,1,1) - kết quả đầu ra báo cáo lại IC thấp hơn đáng kể

AIC: 2510.3 AICC: 2510.4 BIC: 2759

Tôi có thể buộc auto.arima xem xét (1,1,1) với mô hình drift (sử dụng tham số start.p và start.q) và khi tôi làm điều đó và đặt "dấu vết = TRUE" - tôi thấy điều đó (1,1,1) với mô hình drift được xem xét, nhưng bị từ chối bởi auto.arima. Nó vẫn báo cáo lại (5,1,0) với mô hình drift là kết quả tốt nhất.

Có trường hợp nào khi auto.arima sử dụng các tiêu chí khác để lựa chọn giữa các mô hình không?

Chỉnh sửa để thêm (đáp ứng yêu cầu)

Dữ liệu cho ví dụ này có thể được tìm thấy tại bảng tính Google này

và mã R để tái tạo ví dụ là

repro = read.csv("mindata.csv")
reprots = ts(repro, start=1, frequency=24)
fitauto = auto.arima(reprots[,"lnwocone"],
xreg=cbind(fourier(reprots[,"lnwocone"], K=11),
reprots[,c("temp","sqt","humidity","windspeed","mist","rain")]),
start.p=1, start.q=1, trace=TRUE, seasonal=FALSE)
fitdirect <- Arima(reprots[,"lnwocone"], order=c(1,1,1), seasonal=c(0,0,0),
xreg=cbind(fourier(reprots[,"lnwocone"], K=11),
reprots[,c("temp","sqt","humidity","windspeed","mist","rain")]), include.drift=TRUE)
summary(fitauto)
summary(fitdirect)

Xin lỗi nếu dữ liệu tài liệu của Google - mã nội tuyến không phải là cách tốt nhất để cung cấp ví dụ. Tôi nghĩ rằng tôi đã thấy trong các hướng dẫn trước đây về cách tốt nhất để làm điều này - nhưng không thể tìm thấy các hướng dẫn đó trong tìm kiếm sáng nay.


1
Vui lòng cung cấp một ví dụ tái sản xuất.
Rob Hyndman

Câu trả lời:


9

auto.arimasử dụng một số phép tính gần đúng để tăng tốc độ xử lý. Mô hình cuối cùng được trang bị bằng MLE đầy đủ, nhưng trên đường đi, các mô hình được ước tính bằng CSS trừ khi bạn sử dụng đối số approximation=FALSE. Điều này được giải thích trong tệp trợ giúp:

xấp xỉ Nếu TRUE, ước lượng là thông qua các tổng bình phương có điều kiện và các tiêu chí thông tin được sử dụng để lựa chọn mô hình là gần đúng. Mô hình cuối cùng vẫn được tính toán bằng cách sử dụng ước tính khả năng tối đa. Xấp xỉ nên được sử dụng cho chuỗi thời gian dài hoặc thời gian cao theo mùa để tránh thời gian tính toán quá mức.

Cài đặt mặc định là approximation=(length(x)>100 | frequency(x)>12), một lần nữa, điều này được chỉ định trong tệp trợ giúp. Khi bạn có 17544 quan sát, cài đặt mặc định sẽ cung cấp approximation=TRUE.

Sử dụng các xấp xỉ, mô hình tốt nhất được tìm thấy là hồi quy với các lỗi ARIMA (5,1,0) với AICc là 2989,33. Nếu bạn tắt các giá trị gần đúng, mô hình tốt nhất có lỗi ARIMA (2,1,1) với AICc là 2361,40.

> fitauto = auto.arima(reprots[,"lnwocone"], approximation=FALSE,
                xreg=cbind(fourier(reprots[,"lnwocone"], K=11),
                reprots[,c("temp","sqt","humidity","windspeed","mist","rain")]),
                start.p=1, start.q=1, trace=TRUE, seasonal=FALSE)
> fitauto
Series: reprots[, "lnwocone"] 
ARIMA(2,1,1) with drift         
...
sigma^2 estimated as 0.08012:  log likelihood=-1147.63
AIC=2361.27   AICc=2361.4   BIC=2617.76

1
Cảm ơn rất nhiều vì đã phản hồi. Mô hình đó không chỉ phù hợp hơn - mà còn có ý nghĩa hơn theo nhiều cách.
Don Dresser LatentView
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.