Python で mape を計算する方法


平均絶対パーセント誤差 (MAPE) は、モデルの予測精度を測定するために一般的に使用されます。次のように計算されます。

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

金:

  • Σ – 「和」を意味する記号
  • n – サンプルサイズ
  • real – データの実際の値
  • 予測– 予測されたデータの値

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

MAPE 値が低いほど、モデルは値をより適切に予測できます。たとえば、MAPE が 5% のモデルは、MAPE が 10% のモデルよりも正確です。

Python で MAPE を計算する方法

MAPE を計算するための組み込みの Python 関数はありませんが、それを行うための簡単な関数を作成できます。

 import numpy as np

def mape( actual , pred ): 
    actual, pred = np.array(actual), np.array(pred)
    return np.mean(np.abs((actual - pred) / actual)) * 100

次に、この関数を使用して 2 つのテーブル (実際のデータ値を含むテーブルと予測データ値を含むテーブル) の MAPE を計算できます。

 actual = [12, 13, 14, 15, 15,22, 27]
pred = [11, 13, 14, 14, 15, 16, 18]

map(actual, pred)

10.8009

結果から、このモデルの平均絶対パーセント誤差は10.8009%であることがわかります。つまり、予測値と実際の値の平均差は 10.8009% です。

MAPE使用上の注意

MAPE は計算と解釈が簡単ですが、その使用には 2 つの潜在的な欠点があります。

1.絶対パーセント誤差を計算する式は |実際の予測| であるため、 / |本物|これは、実際の値のいずれかがゼロの場合、MAPE は定義されないことを意味します。

2. MAPE は、少量のデータでは使用しないでください。たとえば、品目の実際の需要が 2 で、予測が 1 の場合、絶対パーセント誤差値は |2-1| になります。 / |2| = 50% であるため、たとえ予測が 1 単位だけ外れていたとしても、予測誤差はかなり大きくなります。

コメントを追加する

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