講演会や金子研オンラインサロンにおいて、よくある質問の中に、
- r2 はいくつ以上だったら良いモデルですか?
- RMSE や MAE がいくつ以下だったら良いモデルですか?
といったものがあります。結論からいえば、r2, RMSE (Root-Mean-Squared Error), MAE (Mean Absolute Error) それぞれ、モデルの良し悪しを判断できる目安の値はありません。このあたりについて説明します。
こちらのモデルの検証にも式があるように
r2 は、目的変数 y の値のばらつき (分散) の中でモデルが説明できたばらつきの割合を意味します。例えば、r2 が 0.8 でしたら、y のばらつきの80% をモデルの予測値によって説明できた、ということになります。y のばらつきは r2 を計算したデータセットによって異なりますし、モデルが y のばらつきを何割以上説明できれば実用的なモデルといえるかどうかは、モデルを使用する対象や目的によって異なります。さらにいえば、モデルを使用する目的を考えたとき、その目的の達成度合いを考えるためには r2 という指標では不適切な場合もあるはずです。
RMSE や MAE も同様で、それぞれ誤差の平均のような意味合いはありますが、誤差の平均がいくつ以下であれば実用的なモデルかどうかは、モデルを使用する対象やモデルの目的によって異なります。もちろん誤差の平均だけでなく、誤差の最大値のような値を小さくしないと使えない、といった状況もあります。RMSE や MAE だけ見ればよい、というわけではないこともあります。
r2, RMSE, MAE はあくまで手法やモデルを比較するための指標であり、絶対値自身を一人歩きさせてはいけません。テストデータなどデータセットを固定したときに、たとえば PLS と SVR のどちらが今回のデータセットに向いているかを比較するために、r2 の値を比較にすることは問題ないですが、データセットが異なるときに、例えばトレーニングデータとテストデータの間で r2 を比較することは全く意味がありません。
MAE では誤差の絶対値の平均という意味合いから、データセットが異なっていても誤差の平均という意味で比較できると思いますが、あくまで比較するための指標ですので、MAE の値がいくつ以下であればモデルの予測精度は高い、といったことには使えません。r2, RMSE, MAE はあくまで一つの比較指標として用いることが重要です。モデルを使う目的を達成できるかどうかを判断する指標は、その目的に応じて、別途設ける必要があります。複数の指標で評価することもあります。先にも述べたような、誤差の平均だけでなく誤差の最大値をいくつ以下にしないといけない、といった状況もあるわけです。
もちろん、何らかの指標だけでなく、y の実測値 vs. 予測値プロットを見ることが重要です。指標では全体の結構しかつかめないため、サンプルごとの誤差を検討するためにも、実測値 vs. 予測値プロットをみるようにしましょう。
これらを踏まえて、モデルの目的に応じてデータ解析の結果も解釈するようにしましょう!
以上です。
質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。