回帰分析における評価指標 ―④SMAPE―
評価指標
SMAPE
対称平均絶対パーセント誤差(SMAPE)はMAPEの有効な代替手段です。
次の定義となります。
絶対誤差を実測値の絶対値で割るMAPEと異なり、SMAPEは絶対誤差を実測値と予測値の絶対値を平均したもので割ります。
この性質は実測値がゼロもしくはゼロ付近の場合に起こるMAPEの欠点を補います。ただほとんど使われることは無いため、簡単に紹介することにします。
ポイント
- MAPEほど人気でないです。みんなSMAPEを利用するより、MAPEの欠点に苦戦してどうにか利用する方が良いみたいです。公平を期するならSMAPEも欠点が無いわけではないですが。
- 小さいほうが良い結果です。SMAPEは実測と予測値のどちらも含むため、SMAPEは200%より大きくはなりません。
- 外れ値に強いです。最悪、予測値に対して大きい実測値でも、実測値に対して大きい予測値でも200%が上限なためです。
- ターゲット変数の変動にあまり反応しません。MAPEの7つ目の説明にあるように、上限を設けたMAPEのような仕様になります。分母に予測値を食わることで、最適化ロジックは"ゆるく"なり、目的変数内のばらつきに大きな重みを与えません。
- 最適化が難しいです。例えば、予測値や実測値がゼロの場合は微分不可能です。
- 有名なパッケージでもSMAPEの最適化ロジックの搭載例は多くありません(正直、全く知らないです。)。有効な手段としてMAEかMAPEの自然対数に1を加えた変換をかけることで、高い実測値の影響を削減するのと似た影響があります。こちらに興味があるなら、Kaggleのディスカッションをどうぞ。結局のところ、現実的にはこのようなターゲット変数の変換をハイパーパラメータとしてチューニングする必要があります。
どのような場合に使うか
MAPEが上手く機能しないけれど、より利用しやすく理解しやすいパーセンテージとして表現できるSMAPEを利用したいとき。
原題
(公式)H2O.ai Blog
Regression Metrics'Guide
Marios Michailidis