Tôi đang sử dụng các chức năng fourier()
và fourierf()
trong tuyệt vời forecast
gói Ron Hyndman trong R. Nhìn để xác minh xem các điều khoản tương tự được lựa chọn và sử dụng trong fourier()
và fourierf()
, tôi vẽ một vài điều kiện đầu ra.Fourier() vs fourierf() chức năng trong R
Dưới đây là dữ liệu gốc sử dụng ts.plot(data)
. Có một tần số 364 trong chuỗi thời gian, FYI.
Dưới đây là cốt truyện của các cụm từ sử dụng fourier(data,3)
. Về cơ bản, nó trông giống như hình ảnh phản chiếu của dữ liệu hiện có.
Nhìn vào chỉ là hạn sin1 của đầu ra, một lần nữa, chúng tôi nhận được một số thay đổi cho thấy tương tự như mùa 364 ngày phù hợp với các dữ liệu trên.
Tuy nhiên, khi tôi âm mưu kết quả của Fourier dự báo sử dụng fourierf(data,3, 410)
tôi xem dữ liệu bên dưới. Nó xuất hiện mịn hơn nhiều so với các điều khoản được cung cấp bởi hàm fourier
gốc.
Vì vậy, tôi tự hỏi kết quả của fourier()
và fourierf()
có liên quan như thế nào. Có thể chỉ thấy một kết quả Fourier hợp nhất, để bạn có thể thấy kết quả tội lỗi hoặc cosin di chuyển qua dữ liệu hiện có và sau đó thông qua giai đoạn dự báo? Nếu không, làm thế nào tôi có thể xác nhận rằng các điều khoản được tạo bởi fourierf()
phù hợp với dữ liệu trong mẫu?
Tôi muốn sử dụng nó trong một auto.arima
hoặc glm
chức năng với hồi quy bên ngoài khác như thế này:
trainFourier<-fourier(data,3)
trainFourier<-as.data.frame(trainFourier)
trainFourier$exogenous<-exogenousData
arima.object<-auto.arima(data, xreg=trainFourier)
futureFourier<-fourierf(data,3, 410)
fourierForecast<-forecast(arima.object, xreg=futureFourier, h=410)
và muốn được hoàn toàn chắc chắn rằng auto.arima có phù hợp (sử dụng các điều khoản từ fourier()
) với những gì tôi sẽ đặt trong xreg cho forecast
(có các thuật ngữ từ một hàm khác, tức là ffourier()
).