Lỗi tối ưu khi lắp mô hình arima trong R


8

Tôi đang sử dụng phương pháp arima của gói thống kê R với chuỗi thời gian 17376 phần tử của tôi. Mục tiêu của tôi là đạt được giá trị của tiêu chí AIC, tôi đã quan sát thấy trong thử nghiệm đầu tiên của mình này:

 ts <- arima(serie[,1], order = c(2,1,1), seasonal = list(order=c(2,0,1),period = 24), 
         method = "CSS", optim.method = "BFGS",)
> ts$coef
           ar1        ar2        ma1       sar1       sar2       sma1 
     0.8883730 -0.0906352 -0.9697230  1.2047580 -0.2154847 -0.7744656 
    > ts$aic
[1] NA

Như bạn có thể thấy, AIC không được xác định. Về AIC, "Trợ giúp" trong R nói rằng nó chỉ có thể được sử dụng với "ML". Tuy nhiên, nó xảy ra:

> ts <- arima(serie[,1], order = c(2,1,1), seasonal = list(order=c(2,0,1),period = 24), 
          method = "ML", optim.method = "BFGS",)

Error en optim(init[mask], armafn, method = optim.method, hessian = TRUE,  : 
  non-finite finite-difference value [1]

Plus: warning messages lost
In log(s2) : There have been NaNs

Tôi không hiểu chuyện gì đang xảy ra. Ngoài ra tôi muốn biết thêm về tham số "phương pháp phù hợp".


1
Bạn có thể bao gồm biểu diễn đồ họa của dữ liệu của bạn?
mpiktas

3
Trích xuất các tham số từ giải pháp CSS và chuyển chúng làm giá trị bắt đầu cho bộ giải ML (thông qua optim.controlđối số) sẽ có cơ hội tốt để tránh vấn đề này. Tôi đã không kiểm tra điều này bởi vì bạn không cung cấp một ví dụ có thể lặp lại về khó khăn.
whuber

@whuber đây là hướng đi đúng. Trong một số sách kinh tế lượng, người ta nói rằng hãy lấy đầu tiên từ các giá trị tham số của giải pháp CSS làm giá trị ban đầu cho hàm mục tiêu ML đầy đủ.
Nhà phân tích

Câu trả lời:


3

Lắp mô hình ARIMA với Khả năng tối đa (phương thức = "ML") yêu cầu tối ưu hóa (tối thiểu hóa) khả năng ghi nhật ký âm của mô hình ARIMA so với các tham số. Điều này hóa ra là một vấn đề tối ưu hóa bị ràng buộc vì các tham số phải dẫn đến một mô hình đứng yên. Ràng buộc phi tuyến này được tính với khả năng log âm tính trả về Inf (vô cực) nếu ràng buộc không được thỏa mãn. Nếu MLE ở gần ranh giới của đánh giá ràng buộc về khả năng ghi nhật ký âm gần MLE có thể trả về vô hạn. Vì hessian thu được với sự khác biệt về số bằng cách đánh giá khả năng log âm gần MLE, điều này có thể dẫn đến lỗi sai phân hữu hạn không hữu hạn mà bạn thu được. Vì vậy, nếu hessian không bắt buộc, hãy đặt hessian = FALSE. Nếu không thì,


2

Đã chỉnh sửa: nếu bạn bỏ phiếu này, bạn có thể giải thích tại sao không? Tôi là người mới ở đây.

Tôi có cùng một vấn đề. Tôi đã tìm kiếm trên mạng và tìm thấy một giải pháp được đề xuất ở những nơi khác về Xác thực chéo. Tôi hình dung tôi sẽ chia sẻ ở đây trong trường hợp bất cứ ai muốn nó.

Tôi vừa thêm một "method =" CSS "" vào mô hình của mình và nó đã hoạt động. Ví dụ:

model = Arima(x, order=c(1,1,1), seasonal=list(order=c(1,1,1), period=12), xreg=xreg, 
              method="CSS") 

Đây là tài liệu tham khảo:
auto.arima và Arima (gói dự báo)


Bây giờ tôi thấy câu trả lời của bạn và có thể cho dữ liệu của bạn Nó hoạt động, nhưng đối với dữ liệu của tôi thì không, mục tiêu chính của tôi là biết Tại sao lỗi của câu hỏi của tôi xảy ra và tại sao phương thức ML không hoạt động trong trường hợp của tôi hoặc trong trường hợp khác
Cyberguille

3
Tôi thấy điều này giải quyết vấn đề nhưng làm thế nào bạn sẽ sử dụng các giá trị AIC để so sánh các mô hình khác nhau, ví dụ ARIMA (1,1,2) trừ khi bạn sử dụng phương pháp ML hoặc CSS-ML? "Lý thuyết về AIC yêu cầu rằng khả năng đăng nhập đã được tối đa hóa: trong khi AIC có thể được tính toán cho các mô hình không phù hợp với khả năng tối đa, không nên so sánh các giá trị AIC của chúng". stat.ethz.ch/R-manual/R-devel/l Library / stat / html / AIC.html OP yêu cầu giá trị AIC.
Mumbo.Jumbo

0

Bạn dường như có vấn đề với sự hội tụ thuật toán. Điều này đôi khi xảy ra với tối ưu hóa số.

Đây là liên kết đến bài viết trên wikipedia về phương pháp tối ưu hóa cụ thể này:

http://en.wikipedia.org/wiki/Broyden%E2%80%93Fletcher%E2%80%93Goldfarb%E2%80%93Shanno_alacticm


3
vâng, tôi biết điều này đôi khi xảy ra nhưng tại sao nó hoạt động với phương pháp phù hợp với css và với ml no, và tại sao css không tạo ra AIC
Cyberguille

1
@GuillermoAyranTorresLores CSS dựa trên khả năng có điều kiện và không tạo ra giá trị khả năng giống nhau mà hàm khả năng vô điều kiện tạo ra khi được tối ưu hóa cho cùng tham số.
Nhà phân tích

1
@GuillermoAyranTorresLores thử thay đổi vấn đề tối ưu hóa của bạn theo cách trước tiên lấy giá trị tham số từ giải pháp CSS làm giá trị ban đầu cho hàm mục tiêu ML đầy đủ.
Nhà phân tích
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.