2016-08-14 9 views
1

私はRの問題に苦しんでいます。さまざまな方法で多くの時系列の予測を評価したいと思います。例えばME, RMSE, MAE, etc.多くの時系列のRの中で最良の予測方法を測定する

測定されたデータはリストに格納され、これらのデータフレームを保存しました:ME, RMSE, MAE ...最良の方法を評価するために、さまざまな方法のすべての値を合計し、長さをresiduen_overallで割ります。両者の長さ(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

は(あなたが将来的に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 

をそれは、これはあなたが最良の方法を見つけ出す手助けするために起こっているか、まだ私にははっきりしていません...

+0

作業中です!どうもありがとうございます。私のアイデアは最良の方法の背後にあります。あなたが数千の異なる時系列を持ち、それらをすべて平均で計算することができれば、実際のデータと平均のデータとの間の偏差を見ることができます。しかし、私はそれを理解しなければなりません。どうもありがとうございます! – Daniel

関連する問題