Rでmapeを計算する方法


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

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

MAPE = (1/n) * Σ(|実際 – 予測| / |実際|) * 100

金:

  • Σ – 「和」を意味する派手な記号
  • n – サンプルサイズ
  • real – データの実際の値
  • 予測– データの期待値

MAPE は解釈と説明が簡単なため、一般的に使用されます。たとえば、MAPE 値 6% は、予測値と実際の値の平均差が 6% であることを意味します。

このチュートリアルでは、R で MAPE を計算するために使用できる 2 つの異なる方法を提供します。

方法 1: 独自の関数を作成する

実際のデータ値を含む列と予測データ値を含む列を含むデータセットがあるとします。

 #create dataset
data <- data. frame (actual=c(34, 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 34 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

MAPE を計算するには、次の関数を使用できます。

 #calculate MAPE
mean(abs((data$actual-data$forecast)/data$actual)) * 100

[1] 6.467108

このモデルの MAPE は6.467%であることがわかります。つまり、予測値と実際の値の間の平均絶対差は 6.467% です。

方法 2: パッケージを使用する

次の構文を使用するMLmetricsパッケージのMAPE()関数を使用して、同じデータセットの MAPE を計算することもできます。

MAPE(y_pred, y_true)

金:

  • y_pred:予測値
  • y_true:実数値

この例で使用する構文は次のとおりです。

 #load MLmetrics package
library (MLmetrics)

#calculate MAPE
MAPE(data$forecast, data$actual)

[1] 0.06467108

これにより、前の方法を使用して計算したのと同じ6.467%の MAPE 値が生成されます。

コメントを追加する

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