【ファイナンス機械学習の勉強メモ】MDA (Mean Decrease Accuracy) とは

関連記事

【ファイナンス機械学習の勉強メモ】RANSAC (Random Sample Consensus) とは | Quant College

【ファイナンス機械学習 解説】著者の解説スライドを日本語でまとめてみる(1/10) | Quant College

【ファイナンス機械学習 解説】著者の解説スライドを日本語でまとめてみる (4/10) | Quant College

ざっくり説明

MDA (Mean Decrease Accuracy, Mean Decrease in Accuracy, 平均正解率減少量) は特徴量の重要度を示す指標の一つ。

発想としては、ある特徴量の重要度を知りたければ「その特徴量を除いて予測を行った場合に正解率 (Accuracy) がどれだけ低下するか」を見ればよい、というものだ。「予測するうえで仮にその特徴量が重要なものであれば、その特徴量無しで予測すると間違いが増えるはずだ」という考え方に基づいている。逆に言うと、その特徴量をモデルに含めることで精度がどれだけ向上するか、を見ているともいえる。

計算の手順は以下。

  1. 何らかの評価指標(MDAの場合は正解率(Accuracy))に従って、分類器のout of sampleでのパフォーマンスを求める
  2. 特徴量マトリックスの特定の列(=特定の特徴量)について、異なる行(=異なるサンプル)の間でランダムに並べ替えて、out of sampleでのパフォーマンスを求める
  3. その特徴量の並べ替えによって、out of sampleでのパフォーマンスがどれだけ低下したかを求める
  4. 手順2と3を、全ての列(全ての特徴量)について繰り返すと、全ての特徴量についてMDAが求まる

手順2の、重要度を求めたい特徴量の列の値をランダムに並べ替える、という処理が、その特徴量をモデルから除去することに対応している。これによって、モデルから特定の特徴量を除去することでパフォーマンスがどれだけ低下したかを求めている。

わかりにくいのは、「重要度を求めたい特徴量の列の値をランダムに並べ替える」という処理である。

例えば、企業のデフォルトを予測するうえで、信用格付という特徴量が占める重要度を調べたいとしよう。特徴量が全部で5つあった場合、そのうちの1つである信用格付を除去して、正解率がどれだけ低下するかを見たい。ランダムに並べ替える処理というのは、例えばデータが、

サンプル1の信用格付がAA、業種がテクノロジー、・・・
サンプル2の信用格付がBBB、業種がエネルギー、・・・
サンプル3の信用格付がA、業種が金融、・・・

となっていたとすると、信用格付の列をランダムに並べ替えるとはつまり、

サンプル1の信用格付がA、業種がテクノロジー、・・・
サンプル2の信用格付がAA、業種がエネルギー、・・・
サンプル3の信用格付がBBB、業種が金融、・・・

のように、信用格付のラベルをサンプル間でシャッフルするということだ。この並べ替えやシャッフルがランダムであれば、もはや信用格付は企業のデフォルトを説明する能力は持たないはずだ。

上の例でサンプル1の信用格付であるシングルAは、実際にはサンプル1とは関係のないサンプル3の信用格付なので、サンプル1のデフォルト予測に寄与しないだろう。

低格付けはデフォルトが起こりやすいはずだが、本当は低格付けの企業であっても、シャッフルによって、データ上は高格付けの企業とみなされてしまうので、データ上は高格付けの企業にもある程度デフォルトが発生することになる。このシャッフルの仕方に偏りがなければ、信用格付にデフォルトを説明する能力がなくなるだろう。

特徴量を除去したいなら、データの特定の列だけシャッフルすれば、データマトリックスのサイズ(列の数)は変わらず、モデルの定式化も変える必要がない。

「並べ替える」に対応する名詞が Permutation であり、このように特定の特徴量についてサンプル間で値を並べ替えて求める特徴量重要度を、 Permutation Importance と言うことがある。

この方法は Random Forest などツリーベースの分類器だけでなく、どんな分類器にも応用できる。
MDAは評価指標として Accuracy を用いているが、同じ方法を他の評価指標に使うことも可能だ。

MDAの注意点は、互いに相関の高い特徴量を同時にモデルに使っている場合、それらの片方もしくは両方の重要度が小さく出てしまうことである。
例えば互いに相関の高い特徴量として、外部格付と内部格付を同時にモデルに使っている場合、外部格付をランダムに並べ替えても、モデルの予測精度はあまり下がらない。なぜなら、外部格付に含まれる情報の多くが内部格付にも含まれているので、外部格付が特徴量から除去されても、内部格付が外部格付とほぼ同じ役割を果たしてしまう(代替効果)からである。その特徴量だけをランダムに並べ替えても予測精度が下がらないのであれば、この特徴量は無くても変わらない、よって重要ではないとみなされてしまうわけである。

参考資料

Permutation Importanceを使ってモデルがどの特徴量から学習したかを定量化する | DataRobot

あわせて読みたい

【ファイナンス機械学習 解説】著者の解説スライドを日本語でまとめてみる(1/10) | Quant College

【ファイナンス機械学習 解説】著者の解説スライドを日本語でまとめてみる(2/10) | Quant College

【ファイナンス機械学習 解説】著者の解説スライドを日本語でまとめてみる (3/10) | Quant College

【ファイナンス機械学習 解説】著者の解説スライドを日本語でまとめてみる (4/10) | Quant College

【ファイナンス機械学習 解説】著者の解説スライドを日本語でまとめてみる (5/10) | Quant College

【ファイナンス機械学習 解説】著者の解説スライドを日本語でまとめてみる (6/10) | Quant College

【ファイナンス機械学習】著者によるNumerai解説スライドを日本語でまとめてみる | Quant College

『アセットマネージャーのためのファイナンス機械学習』の詳細目次 | Quant College