適切な誤差指標の選び方

何かしらで行った数値の「予測」と、「正解」がどれほど離れているかを評価したい時があります。
例えば、あるサッカーチームの向こう10回の試合結果を2人で予測し合って、どちらの予想が近かったかで勝負するとします。

予測が3点で正解が5点なら誤差は2・・・というようにして10回足していくだけで良いなら話は早いですが、必ずしもその計算は正しくありません。

また、この「誤差」は回帰問題を解くAIの性能評価にも必要不可欠です。
いくらAIが賢くなっても、「どう誤差を求めるか」は人間が決めなければいけません。

今回はそういった数値問題における「誤差」の求め方について整理しました。

様々な誤差の指標


誤差の指標にも色々ありますが、今回はその中から代表的なものを6つご紹介します。

ここから、\(n\)個のデータにおける\(i\)番目のデータの正解値を\(a_i\)、予測値を\(f_i\)と置きます。

ME(平均誤差)

MEは「Mean Error」の略で、全データの「正解値-予測値」の平均になります。

\[ME=\frac{1}{n}\sum_{i=1}^{n} (a_i-f_i)\]

MAE(平均絶対誤差)

MAEは「Mean Absolute Error」の略で、全データの「正解値-予測値」の絶対値の平均になります。

\[MAE=\frac{1}{n}\sum_{i=1}^{n} |a_i-f_i|\]

RMSE(平均平方二乗誤差)

RMSEは「Root Mean Squared Error」の略で、全データの「正解値-予測値」の2乗の平均を計算し、最後に平方根を取ったものになります。

\[RMSE=\sqrt{\frac{1}{n}\sum_{i=1}^{n} (a_i-f_i)^2}\]

MPE(平均誤差率)

MPEは「Mean Percentage Error」の略で、全データの「正解値-予測値」を正解値で割った値の平均になります。

\[MPE=\frac{1}{n}\sum_{i=1}^{n} \frac{a_i-f_i}{a_i}\]

MAPE(平均絶対誤差率)

MAPEは「Mean Absolute Percentage Error」の略で、全データの「正解値-予測値」を正解値で割った値の絶対値の平均になります。

\[MAPE=\frac{1}{n}\sum_{i=1}^{n} \Bigl|\frac{a_i-f_i}{a_i}\Bigl|\]

RMSPE(平均平方二乗誤差率)

RMSPEは「Root Mean Squared Percentage Error」の略で、全データの「正解値-予測値」を正解値で割った値の2乗の平均を計算し、最後に平方根を取ったものになります。

\[RMSPE=\sqrt{\frac{1}{n}\sum_{i=1}^{n} \Bigl(\frac{a_i-f_i}{a_i}\Bigl)^2}\]

6手法の整理

これらを整理すると、以下のようにまとめられます。

単純差分 絶対値 二乗誤差
誤差 ME MAE RMSE
誤差率 MPE MAPE RMSPE

実際の誤差をサンプルデータで計算してみました。

実際に、使う手法によって予測Aが優れるのか、予測Bが優れるのか、結果が変わっています。
無論、6つ結果を並べて自分にとって都合の良い指標を選択してはいけません。
続いては適切な誤差の選び方について考えていきます。

誤差の指標の選び方

適切の指標を選ぶためには、まず、扱うデータがどんなデータであるかを確認します。

どういった「誤差」が現れるか?

まずは、誤差をどう評価したいかについて、以下の方針で検討します。

「予測より大きく間違えたか、小さく間違えたかで評価が変わる」場合、プラスマイナス関係を損なわない「単純差分」の誤差を選んだ方が良いでしょう。
間違いがマイナスにぶれているのか、プラスにぶれているのかが一目瞭然です。

「誤差が大きいほどペナルティを大きくしたい」場合、「2乗誤差」の誤差を選んだ方が良いでしょう。
誤差を2乗することにより、誤差が大きければ大きいほどそのペナルティも大きくなります。

どちらにも当てはまらない場合は、「絶対値」の誤差を選んだ方が良いでしょう。
どれほど正解とずれているのか数値を見ただけで分かります。

これらの選択が難しい場合、標準偏差の計算と似ているためか2乗誤差が好まれるように思います。

数値のばらつきは大きいか?

予測値の分布が小さいと考えられるのか、それとも1だったり100だったりするような幅広い数値となるのかを確認します。

例えば、正解が10で9と予測した場合、誤差は1です。
正解が100で90と予測した場合、誤差は10になってしまいます。
しかし、割合で見ればどちらも同じだけの差になります。
誤差を単純に足し合わせていくだけだと、正解値が大きいものの誤差に全体が引っ張られてしまいますので、それが相応しくない場合は「誤差率」の方を使うべきです。

この2点が決まれば、上の表に従えば適切な指標をひとつ決めることができます。

まとめ

誤差の指標はこの6つが全てではありませんが、タスクによって適切な誤差指標は変わってきます。
適当に決めるのではなく、きちんと意図を持って適切と考えられる誤差指標を選択してください。