将预测模型的预测值作为矩阵返回
Returning predicted values of a forecasting model as a matrix
我有一个数据集,我正在使用预测包中的 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
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)
library(forecast)
model <- auto.arima(x)
pred <- as.data.frame(forecast(model, h=7, level=c(50,80)))
我有一个数据集,我正在使用预测包中的 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
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)
library(forecast)
model <- auto.arima(x)
pred <- as.data.frame(forecast(model, h=7, level=c(50,80)))