使用预测包从预测中获取预测点估计和间隔

时间:2016-03-21 15:13:14

标签: r plot prediction forecasting

我需要一种方法来打印预测中的值。

我需要打印深蓝色线条值,如果可能的话,还需要打印下图中灰色区域的值。

打印该值或打印2019预测值的代码是什么?

library(forecast)

timese <- ts(WWWusage, start = c(2008, 1), end = c(2016, 1), frequency = 12)

### Structural Time Series Model 
# Trend likelihood    
fit <- StructTS(timese, "trend")

### Make the plot
plot(forecast(fit, level = c(70, 90)), 
     sub = "Confidence Interval 70% ~ 90% or Determined by user", 
     ylab = "Y Axis Variable",
     main = "Forecast Linear Structural Model @ Trend-Wise",
     ylim = c(0, 400))

Plot

1 个答案:

答案 0 :(得分:7)

只需存储forecast对象并打印出来:

fc <- forecast(fit, level = c(70, 90))
fc
#          Point Forecast    Lo 70    Hi 70    Lo 90    Hi 90
# Feb 2016            234 230.3083 237.6917 228.1411 239.8589
# Mar 2016            240 231.7450 248.2550 226.8991 253.1009
# Apr 2016            246 232.1868 259.8132 224.0780 267.9220
# May 2016            252 231.7796 272.2204 219.9095 284.0905
# Jun 2016            258 230.6214 285.3786 214.5493 301.4507
# Jul 2016            264 228.7832 299.2168 208.1097 319.8903
# Aug 2016            270 226.3189 313.6811 200.6767 339.3233
# Sep 2016            276 223.2716 328.7284 192.3183 359.6817
# Oct 2016            282 219.6765 344.3235 183.0905 380.9095
# Nov 2016            288 215.5631 360.4369 173.0402 402.9598

要提取单个行,可能更容易将其转换为data.frame

df_fc <- as.data.frame(fc)
df_fc["Jul 2016", ]
#          Point Forecast    Lo 70    Hi 70    Lo 90    Hi 90
# Jul 2016            264 228.7832 299.2168 208.1097 319.8903