Dự báo ARIMA với `dự ​​đoán` so với dự báo` trong R [đã đóng]


8

Dữ liệu bao gồm 30 giá trị được lưu trữ trong một chuỗi thời gian time.
Sau khi áp dụng mô hình ARIMA trên time, tôi đã sử dụng forecastchức năng để dự đoán các giá trị trong tương lai:

model = arima(time, order = c(3,2,1))
prediction = forecast.Arima(model,h=10)
prediction step is not working and showing error 
Error in ts(x) : object is not a matrix

Như bạn thấy ở trên, tôi nhận được một thông báo lỗi. Nhưng nếu tôi làm

model = arima(time[1:25], order = c(3,2,1))
prediction = forecast.Arima(model,h=10)

nó hoạt động Tại sao nó như vậy?

Khi tôi sử dụng predictchức năng

model = arima(time, order = c(3,2,1))
prediction=predict(model,n.ahead=10)

nó cũng hoạt động.

Hàm nào sẽ tốt hơn để sử dụng, predicthoặc forecast, cho các mô hình ARIMA trong R, và tại sao ?


2
Luôn luôn đề cập đến ngôn ngữ bạn sử dụng. Vẫn chưa đúng khi toàn bộ thế giới thống kê sử dụng R.
Nick Cox

Câu trả lời:


7

Họ sẽ cho bạn câu trả lời tương tự. Nhưng sự kết hợp của Arima(không arima) và forecasttừ gói dự báo là các phiên bản nâng cao với chức năng bổ sung.

Arimagọi stats::arimađể ước tính, nhưng lưu trữ nhiều thông tin hơn trong đối tượng trả về. Nó cũng cho phép một số chức năng mô hình bổ sung như bao gồm một thuật ngữ trôi dạt trong một mô hình với một đơn vị gốc.

forecastcác cuộc gọi stats::predictđể tạo ra các dự báo. Nó sẽ tự động xử lý các hạn trôi từ Arima. Nó trả về một đối tượng dự báo (chứ không phải là một danh sách đơn giản) hữu ích cho việc vẽ, hiển thị, tóm tắt và phân tích kết quả.

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.