在很多时间序列中测量R中的最佳预测方法

时间:2016-08-14 13:45:09

标签: r list loops dataframe time-series

我正在努力解决R中的问题。我想用不同的方法评估很多时间序列的最佳预测指标,例如ME, RMSE, MAE, etc.

测量数据存储在一个列表中,该列表保存了这些数据框:ME, RMSE, MAE ...为了评估最佳方法,我想要总结不同方法的所有值,并将它们除以residuen_overall

例如,长度为2(ME):

( - 1 + 0.26)/ 2 - > -0.37

residuen_overall[[1]]
#      ME  RMSE  MAE    MPE  MAPE
#naive -1 10.15 3.93 -22.69 40.14

residuen_overall[[2]]
#        ME RMSE  MAE  MPE  MAPE
#naive 0.26 7.84 6.33 -3.1 19.61

我的想法是创建一个循环,但它不起作用:

methods <- list("ME", "RMSE", "MAE", "MPE", "MAPE")

for(i in 1:length(residuen_overall)) {
  cumsum(residuen_overall[[i]]$methods[i]) 
  }

我希望有人可以帮助我,拜托! :)

1 个答案:

答案 0 :(得分:1)

以下是您的数据(如果您将来使用dput(),则可以更轻松地重新构建它们以用于测试目的):

residuen_overall <- list(
  c(ME=-1,RMSE=10.16,MAE=3.93,MPE=-22.69,MAPE=40.14),
  c(ME=0.26,RMSE=7.84,MAE=6.33,MPE=-3.1,MAPE=19.61))

“总结所有值并除以长度”只是计算平均值。

将您的列表收集到矩阵中:

r2 <- do.call(rbind,residuen_overall)

计算每列的平均值:

colMeans(r2)
##     ME    RMSE     MAE     MPE    MAPE 
## -0.370   9.000   5.130 -12.895  29.875 

我仍然不清楚这将如何帮助你找出最好的方法......