首页 文章

预测xts对象不生成未来预测点的日期

提问于
浏览
0

我有一个数据框,其中一列代表我的每日观察值,一个日期列使用as.Dates函数格式化为“2014-10-01” .

我正在创建一个xts对象,执行以下操作:

xtsObject <- as.xts(vector$values, order.by = vector$dates)

然后我将xtsObject传递给ets预测函数,并在结果对象上调用预测来预测接下来的三个时间步骤,如下所示:

fit <- ets(xtsObject)
pred <- predict(fit,3)

结果如下:

Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
366              0     0     0     0     0
367              0     0     0     0     0
368              0     0     0     0     0

(传递的向量由全零组成,因此预测按预期工作)

我的问题是,无论如何将这三个未来的预测点与适当的日期联系起来?我的数据是每天,所以不是“366”,“367”,“368”而是最好看“10-01-2015”,“10-02-2015”,“10-03-2015”知道这些是这些预测点所属的日期 . 我已经尝试过zoo,xts和ts,并且都产生类似的输出 . 思考?

1 回答

  • 2

    使用输入zoo对象,然后将预测转换为数据帧,使用适当转换的索引行名称将该数据帧转换为zoo对象:

    library(zoo)
    
    # test input
    set.seed(123)
    z <- zoo(rnorm(25, 1:25), as.Date("2000-01-01") + 0:24)
    
    e <- ets(z)
    p <- predict(e, 3)
    
    DF <- as.data.frame(p)
    zoo(DF, as.Date(as.numeric(rownames(DF))))
    

    赠送:

    Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
    2000-01-26       25.15238 23.97099 26.33377 23.34559 26.95916
    2000-01-27       26.07805 24.89666 27.25945 24.27127 27.88484
    2000-01-28       27.00373 25.82234 28.18512 25.19695 28.81052
    

相关问题