提高有效期中误差项的影响

时间:2016-03-11 05:04:03

标签: r forecasting

我的预测幅度远小于实际数据。我可以在auto.arima中使用一个参数来增加预测的幅度吗?

我一直在阅读Rob Hyndman的预测教科书。似乎表明增加误差项的影响将增加预测变化的幅度而不改变模式。

我尝试过使用Arima并更改p,q和d值,但没有运气。此外,我尝试设置Allowmean = FALSE,这似乎将预测下调到x轴,而不是以数据的平均值为中心。将预测乘以标量确实会增加幅度。我想我更喜欢一种对实际数据更敏感的解决方案。我对auto.arima和预测都很陌生,因此非常感谢任何提示。

我在下面有代码和示例数据。

代码:

tsTrain <-tsTiTo[1:60]
tsTest <- tsTiTo[61:100]

LagXreg<-c(NA,ds[1:99,]$CustCount)

##Lagged Predictors
xregTrain2 <- LagXreg[1:60]
xregTest2 <- LagXreg[61:100]


Arima.fit2 <- auto.arima(tsTrain, xreg = xregTrain2,stepwise=FALSE,        approximation=FALSE, allowmean = FALSE)

Acast2<-forecast(Arima.fit2, h=40, xreg = xregTest2)

##Other Attempts
Arima.fit8 <- auto.arima(tsTrain, xreg = xregTrain2,stepwise=FALSE, approximation=FALSE,allowmean = FALSE)
Arima.fit9 <- Arima(tsTrain, xreg = xregTrain2,order=c(1,0,10))

数据:

dput(ds$CustCount[1:100])

c(3,3,1,4,1,3,2,3,2,4,1,1,5,6,8,5,2,7,7,3, 2,2,2,3,3,3,3,1,1,2,1,1,3,2,2,2,3,7,5,6,8, 7,3,5,6,6,8,4,2,1,2,1,NA,NA,4,2,2,4,11,2,8, 1,4,7,11,5,3,10,7,1,1,NA,2,NA,NA,2,NA,NA,1, 2,3,5,9,5,9,6,6,1,5,3,7,5,8,3,2,6,3,2,3,1 )

dput(tsTiTo[1:100])

c(45,34,11,79,102,45,21,45,104,20,2,207,45,2,3,153,8,2,173,11,207,79,45 ,153,192,173,130,4,173,174,173,130,79,154,4,104,192,153,192,104,28,173,52,45,11,29,22,81 ,7,79,193,104,1,1,46,130,45,154,153,7,17​​4,21,193,45,79,173,45,153,45,173,2,1,2 ,1,1,8,1,1,79,45,79,173,45,2,173,130,104,19,4,34,2,192,42,41,31,39,11,79 ,4,79)

1 个答案:

答案 0 :(得分:0)

有几件事,我做了一个情节而且X似乎与Y没有关联。你确定该变量描述了Y吗?Y vs X  Standardized Scatter Plot

我查看了前60个观察结果。在第13期和向前,方差开始增加。你需要调整它。我应用了Tsay测试来识别这个,你可以在这里阅读更多相关信息。您最终使用加权最小二乘法来加权数据。 https://www.researchgate.net/publication/227763540_Outliers_Level_Shifts_and_Variance_Changes_in_Time_Series

您的时间序列有两个级别的转换,ARIMA无法充分处理。在此处了解更多有关等级转换的信息http://dallasfed.org/assets/documents/research/papers/1991/wp9109.pdf

对于1到12期间的权重为1.9,对于13到60期间的权重为1.0。

Y(T)= 42.412
       + [X1(T)] [(+ 82.5882)]:LEVEL SHIFT 19        + [X2(T)] [( - 60.5556)]:LEVEL SHIFT 43        + [X3(T)] [(+ 164.59)]:PULSE 12       + + [A(T)]