来自预测包的预测(模型),它返回点预测以及上下预测间隔。有没有办法提取每个预测值的确切分布,以便我可以为每一行预测制作直方图?间隔不足以使直方图如下所示。
> forecast(mod,12)
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
12 0.000284821 0.0002356356 0.0003340064 2.095985e-04 0.0003600435
13 0.000284821 0.0002237453 0.0003458967 1.914137e-04 0.0003782283
14 0.000284821 0.0002138190 0.0003558230 1.762328e-04 0.0003934092
15 0.000284821 0.0002051195 0.0003645225 1.629281e-04 0.0004067140
16 0.000284821 0.0001972803 0.0003723617 1.509390e-04 0.0004187030
17 0.000284821 0.0001900876 0.0003795544 1.399388e-04 0.0004297033
18 0.000284821 0.0001834037 0.0003862383 1.297167e-04 0.0004399253
19 0.000284821 0.0001771339 0.0003925081 1.201278e-04 0.0004495142
20 0.000284821 0.0001712096 0.0003984324 1.110674e-04 0.0004585746
21 0.000284821 0.0001655793 0.0004040627 1.024565e-04 0.0004671855
22 0.000284821 0.0001602030 0.0004094390 9.423428e-05 0.0004754077
23 0.000284821 0.0001550494 0.0004145927 8.635240e-05 0.0004832896
答案 0 :(得分:1)
如果残差是正态分布的,则所有ARIMA模型的分布都是正常的。因此,您可以轻松地从点预测和上/下限获得所有未来时间段的均值和方差。
如果您不愿意假设残差是正常的,您可以按如下方式模拟未来的分布。
library(forecast)
nsim <- 1000
mod <- auto.arima(WWWusage)
sim <- matrix(NA, nrow=9, ncol=nsim)
for(i in 1:nsim)
sim[,i] <- simulate(mod, nsim=9, future=TRUE, bootstrap=TRUE)
par(mfrow=c(3,3))
for(i in 1:9)
hist(sim[i,], breaks="FD", main=paste("h=",i))