R で wmape を計算する方法 (例あり)
モデルの予測精度を測定するために最も一般的に使用されるメトリックの 1 つは、加重平均絶対パーセント誤差を表すWMAPEです。
WMAPE を計算する式は次のとおりです。
WMAPE = (Σ|y i – ŷ i |*wi ) / (Σy i * wi ) * 100
金:
- Σ – 「和」を意味する記号
- y i – i 番目の観測値の実数値
- ŷ i – i番目の観測値の予測値
- w i – i番目の観測値の重み
R で WMAPE を計算する次の関数を定義できます。
find_WMAPE <- function (y, yhat, w){ return (sum(abs(y-yhat)*w)/sum(y*w)*100) }
次の例は、この関数を実際に使用する方法を示しています。
例: R での WMAPE の計算
R に、小売店の実際の売上と予測売上に関する情報を含む次のデータ フレームがあるとします。
#create dataset data <- data. frame (actual=c(23, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24), forecast=c(37, 40, 46, 44, 46, 50, 45, 44, 34, 30, 22, 23)) #view dataset data current forecast 1 23 37 2 37 40 3 44 46 4 47 44 5 48 46 6 48 50 7 46 45 8 43 44 9 32 34 10 27 30 11 26 22 12 24 23
実際の売上と予測売上の差の WMAPE を計算するには、使用する重みのベクトルを定義し、前に定義した WMAPE 関数を使用します。
#define function to calculate WMAPE find_WMAPE <- function (y, yhat, w){ return (sum(abs(y-yhat)*w)/sum(y*w)*100) } #define weights for each month weights <- c(20, 20, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6) #calculate WMAPE find_WMAPE(df$actual, df$predicted, weights) [1] 13.27635
このモデルの WMAPE は13.27635%であることがわかります。
つまり、予測販売値と実際の販売値の間の加重平均絶対パーセント誤差は 13.27635% です。
この例では、1 月と 2 月の値にはるかに大きな重みを割り当てていることに注意してください。
特定の問題に応じて、モデル内の各エラーの重要性に基づいて、さまざまな観測値に大きいまたは小さい重みを割り当てることができます。
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。