Tôi có bốn chuỗi thời gian đo khác nhau theo giờ:
- Tiêu thụ nhiệt trong nhà
- Nhiệt độ bên ngoài nhà
- Bức xạ mặt trời
- Tốc độ gió
Tôi muốn có thể dự đoán mức tiêu thụ nhiệt trong nhà. Có một xu hướng theo mùa rõ ràng, cả trên cơ sở hàng năm và hàng ngày. Vì có một mối tương quan rõ ràng giữa các loạt khác nhau, tôi muốn điều chỉnh chúng bằng mô hình ARIMAX. Điều này có thể được thực hiện trong R, sử dụng hàm arimax từ gói TSA.
Tôi đã cố gắng đọc tài liệu về chức năng này và để đọc các chức năng chuyển giao, nhưng cho đến nay, mã của tôi:
regParams = ts.union(ts(dayy))
transferParams = ts.union(ts(temp))
model10 = arimax(heat,order=c(2,1,1),seasonal=list(order=c(0,1,1),period=24),xreg=regParams,xtransf=transferParams,transfer=list(c(1,1))
pred10 = predict(model10, newxreg=regParams)
đưa cho tôi:
trong đó đường màu đen là dữ liệu đo thực tế và đường màu xanh là mô hình được trang bị của tôi so sánh. Không chỉ không phải là một mô hình tốt, mà rõ ràng có điều gì đó không ổn.
Tôi sẽ thừa nhận rằng kiến thức của tôi về các mô hình ARIMAX và các chức năng chuyển bị hạn chế. Trong hàm arimax (), (theo như tôi đã hiểu), xtransf là chuỗi thời gian ngoại sinh mà tôi muốn sử dụng (sử dụng các hàm truyền) để dự đoán chuỗi thời gian chính của mình. Nhưng sự khác biệt giữa xreg và xtransf thực sự là gì?
Tổng quát hơn, tôi đã làm gì sai? Tôi muốn có thể có được một sự phù hợp tốt hơn so với cái đạt được từ lm (nhiệt ~ temp radi gió * thời gian).
Chỉnh sửa: Dựa trên một số ý kiến, tôi đã xóa chuyển và thêm xreg thay vào đó:
regParams = ts.union(ts(dayy), ts(temp), ts(time))
model10 = arimax(heat,order=c(2,1,1),seasonal=list(order=c(0,1,1),period=24),xreg=regParams)
trong đó dayy là "ngày số trong năm" và thời gian là giờ trong ngày. Nhiệt độ lại là nhiệt độ bên ngoài. Điều này cho tôi kết quả như sau:
đó là tốt hơn, nhưng không gần như những gì tôi mong đợi để xem.