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 値が生成されます。