将预测模型的预测值作为矩阵返回

时间:2015-08-10 19:54:49

标签: r dataframe forecasting

我有一个数据集,我在预测包中使用auto.arima来进行预测。我想将预测结果保存到矩阵中以供进一步分析。在使用以下代码行进行分析之前,我创建了一个空数据框:

    predictions <- data.frame(point = numeric(), Lo80= numeric(), High80= numeric(), Lo95= numeric(), High95= numeric())

然后我想通过使用以下代码行为此数据框添加预测(即7天):

    model <- auto.arima(x)
    pred <- forecast(model,h=7,l=c(50,80))
    for (kk in 1:7){
    predictions <- rbind(predictions, data.frame(point = pred[kk,1], Lo50= pred[kk,2], High50= pred[kk,3], Lo80= pred[kk,4], High80= pred[kk,5])}

但是我收到错误,原因是pred值不是矩阵格式,并且没有为它们定义维度。无论如何,我可以按照我的意愿存储结果。 “pred”的样本如下:

             Point Forecast     Lo 80    Hi 80     Lo 95    Hi 95
                53.14286       19.84681  6.384444 33.30918 -0.742103      
                53.42857       24.46304 10.016633 38.90945  2.369167 

2 个答案:

答案 0 :(得分:1)

library(forecast)
model <- auto.arima(x)
pred <- as.data.frame(forecast(model, h=7, level=c(50,80)))

答案 1 :(得分:0)

summary(pred)会为您提供所需的data.frame,您可以使用as.matrix将其转换为矩阵。

library(forecast)
model <- auto.arima(WWWusage)
pred <- forecast(model, h=7, level=c(50,80))

predDF <- summary(pred)
predMatrix <- as.matrix(predDF)