我正在尝试使用 arima(0,1,1) 预测值。在执行predict(mod,n.ahead=5)(in R) 之后,所有预测的值都相同:
5947.681 5947.681 5947.681 5947.681 5947.681
这是对的吗?
我正在尝试使用 arima(0,1,1) 预测值。在执行predict(mod,n.ahead=5)(in R) 之后,所有预测的值都相同:
5947.681 5947.681 5947.681 5947.681 5947.681
这是对的吗?
将来请为您的问题提供一个可重复的示例,因为我对您的数据集的特征一无所知。正如@Irishstat 所提到的,您的数据可能没有趋势/模式,并且可能有水平偏移。
扩展我的评论:
arima(0,1,1) 是一个简单的指数平滑。预测水平将是平坦的,即实际值的最后一个值。
以下是说明我的评论的示例。
library("fma")
library("forecast")
## Without Drift
fit.m <- Arima(eggs,order = c(0,1,1))
forecast.m <- plot(forecast(fit.m,h=10))
#with Drift
fit.t <- Arima(eggs,order = c(0,1,1),include.drift=TRUE)
forecast.t <- plot(forecast(fit.t,h=10))
如您所见,第一个没有漂移的模型没有捕捉到下降趋势。预测持平。
forecast.m$mean
Time Series:
Start = 1994
End = 2003
Frequency = 1
[1] 62.87244 62.87244 62.87244 62.87244 62.87244 62.87244 62.87244 62.87244 62.87244 62.87244

带有漂移项的第二个模型捕获了下降趋势,因为它包括漂移项:
forecast.t$mean
Time Series:
Start = 1994
End = 2003
Frequency = 1
[1] 60.13606 57.75869 55.38132 53.00396 50.62659 48.24922 45.87186 43.49449 41.11712 38.73976

正如您所注意到的,您的 $\text{ARIMA}(0,1,1)$ 的预测是不变的。没有什么不对劲。 are constant. Nothing is amiss.
让我们从考虑差分序列开始。这是 $\text{MA}(1)$ 模型的简单情况,$0$ 均值:$y(t) = \varepsilon(t) + θ\, \varepsilon(t-1)$。 model with mean: .
如果我们在时间 $T$,我们有 $T+1$ 的观测预测:, we have for the forecast of the observation at :
最后一项,$\hat{\varepsilon}$,是数据的函数,但它的确切形式对我们目前的目的并不重要;这只是一些预测值。, is a function of the data, but its exact form doesn't matter for our present purpose; it's just some forecasted value.
现在,让我们预测下一个:
... 同样,所有后续预测都是 0 美元。.
现在对于集成的 $\text{MA}$,这些是该系列的预测差异。所以对于无差预测,一旦你有了第一个预测,所有额外的预测都等于它。, those are the predicted differences of the series. So for the undifferenced predictions, once you have the first forecast, all additional forecasts are equal to it.
同样,例如,如果您有一个 $\text{ARIMA}(0,1,2)$ 模型,那么第二个预测将与第一个不同,然后所有后续预测都将保持不变。 model, then the second forecast would differ from the first and then all subsequent forecasts would be constant.
您正在使用的模型(简单指数平滑)的一个特征是,无论 ma(1) 系数的特定值如何,未来每个时期的预测都是相同的。对于仅具有常数(均值模型)或最近水平偏移(最后局部均值)的模型也是如此
我认为您需要将数据转换为时间序列格式。预测是平坦的,因为模型无法知道预测是针对哪个月/年/时间段以及从中学习的模式。