2017-07-03 47 views
0

我下面羅布海德門的日常預報例如這裏用我自己的數據集,我得到了以下錯誤消息:auto.arima數不匹配的擬合模型

錯誤forecast.Arima (配合,XREG = cbind(ZF,數據$假期[157:256], H = 100)):迴歸量的數不匹配擬合模型

我Google'd錯誤消息,尋找潛在解決方案,但沒有任何建議的修補程序爲我工作。以下是我正在使用的代碼。我正在使用索引,因此我可以使用一些數據來訓練模型,並查看預測是否給實際結果以合理的結果。

library(forecast) 

data <- read.csv("path", header = TRUE, stringsAsFactors = FALSE) 

y <- ts(data$numbers[57:156], frequency=7) 
z <- fourier(ts(data$numbers[57:156], frequency = 365.25), K=5) 
zf <- fourier(ts(data$numbers[57:156], frequency = 365.25), K=5, h=100) 
fit <- auto.arima(y, xreg = cbind(z, data$holidays[57:156]), seasonal=FALSE) 
fc <- forecast(fit, xreg = cbind(zf, data$future_holidays[157:256], h=100)) 

在此先感謝您的幫助!

+0

請使用dput()附上您的數據。 –

+0

@ShahabEinabadi我的文件有近1000行和4列。包括在這裏不是很重要嗎?我應該只包括一部分還是其他的東西? – erik7970

回答

0

我遇到了同樣的問題,但幸運的是我也是Datacamp的一位用戶,教授Hyndman教授時間序列建模。在他的博客文章中,他兩次使用時間範圍參數,因爲他也包含了外部的迴歸器,而你並不是。 Horizo​​n術語已經在fourier步驟中指定,並且不需要在預測命令中重複。以下是Hyndman教授的課程中的一個例子,其效果很好。這個例子來自一個練習。由於您只創建了更高級的術語,因此H已經被指定。如果您決定包含其他變量(如假日標誌),則他的博客帖子代碼將起作用。僅供參考,Datacamp是一個令人難以置信的資源,我建議訂閱。

成立的次諧波迴歸量13

`harmonics <- fourier(gasoline, K = 13)` 

擬合迴歸模型ARIMA錯誤

`fit <- auto.arima(gasoline, xreg = harmonics, seasonal = FALSE)` 

預測未來3年

`newharmonics <- fourier(gasoline, K = 13, h = 156) 
fc <- forecast(fit, xreg = newharmonics)` 

劇情預測FC

`autoplot(fc)`