R で wmape を計算する方法 (例あり)


モデルの予測精度を測定するために最も一般的に使用されるメトリックの 1 つは、加重平均絶対パーセント誤差を表すWMAPEです。

WMAPE を計算する式は次のとおりです。

WMAPE = (Σ|y i – ŷ i |*wi ) / (Σy i * wi ) * 100

金:

  • Σ – 「和」を意味する記号
  • y ii 番目の観測値の実数値
  • ŷ 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 で他の一般的なタスクを実行する方法について説明します。

RでMAPEを計算する方法
RでSMAPEを計算する方法
R で RMSE を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です