R中预测值(in R Forecasted values)

2019-10-17 08:33发布

我有一个关于在R.预测时间序列模型几个问题

预测值,我得到了这是::

要采取这些值: 40,60,67,80,87为百分比值。

因此,如何考虑percenatge情节的Y轴

YrTimeSeries <- c(40,60,67,80,87);

tsValue<-ts(YrTimeSeries,frequency=1,start=2006)
library(forecast)
(forecast(tsValue,h=5))
    Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
2011        86.9993 72.19680 101.8018 64.36083 109.6378
2012        86.9993 66.06645 107.9321 54.98528 119.0133
2013        86.9993 61.36233 112.6363 47.79094 126.2077
2014        86.9993 57.39653 116.6021 41.72576 132.2728
2015        86.9993 53.90256 120.0960 36.38220 137.6164
  1. 为预测值(蓝线)每年的值相同。 有人可以解释我为什么?
  2. 的95%预测区间是(36.38220,137.62) 这是什么推断?

Answer 1:

预测是平线,因为你调用forecast()与它的默认配置。 这将调用ets()forecast(tsValue,h=5)$method看被用于预测哪一种方法)中,用指定为“ZZZ”的模型。 ets()则试图找到最好的模式和结算的“ANN”:添加剂的错误,没有趋势,没有季节性(见?ets ),所以没有什么模型应该导致预测从平线偏离。 添加一些更多的数据,并调用ets()与趋势看趋势预测:

YrTimeSeries <- c(40,60,67,80,87,100,200,300,400)
tsValue<-ts(YrTimeSeries,frequency=1,start=2006)
forecast(tsValue,h=5,model="AAN")

95%的预测区间为您提供了在未来观测的95%会说谎, 假设您的模型正确指定的时间间隔。

编辑:西元评论说,他想的预测为0到100之间,并以百分比表示。 在这种情况下,我会先输入数据转换为logits(http://en.wikipedia.org/wiki/Logit),在那里我加了一些数据,所以我们得到了一个自动的趋势:

YrTimeSeries <- c(10,20,30,40,60,67,80,87)
YrTimeSeries.logit <- log((YrTimeSeries/100)/(1-YrTimeSeries/100))
tsValue<-ts(YrTimeSeries.logit,frequency=1,start=2006)

预测后,我们backtransform平均预测预报的时间间隔限制:

100*(1/(1+exp(-(forecast(tsValue,h=5)$mean))))
100*(1/(1+exp(-(forecast(tsValue,h=5)$upper))))
100*(1/(1+exp(-(forecast(tsValue,h=5)$lower))))


文章来源: in R Forecasted values
标签: r forecasting