データサイエンティストの備忘録

外資系コンサルティングファームでデータサイエンティストとして働く筆者がコンサルティング関連の知見やデータ解析技術を活用するために学んだ内容の備忘録

【読書メモ】機械学習を解釈する技術

 

読んだ目的

  • 業務内で機械学習の分析技術を使いたいがクライアントに対する説明が難しいため、どんな特徴から予測が成り立っているかの学びを得るため
  • SHAP値をなんとなく理解しているが、業務で使い他人に説明できるほど習熟していないため、体系的に学ぶため

得られた学び

機械学習の解釈手法について、本書では4つ紹介されている。マクロな解釈手法から順に、PFI、PD、ICE、SHAPの4つの手法で、あらゆる予測モデルに対して適応できる。それぞれの手法について、簡単にまとめる。

PFI:Permutation Feature Importance

特徴量の重要度を計算する手法で、特徴量の値をシャッフルして予測誤差の大きくなる特徴量を重要度の高い特徴量として計算する。

強い相関がある特徴量がある場合は重要度の食い合いが発生して、低く計算されるため、1つのグループにまとめて値をシャッフルする。

PD:Partial Dependence

特徴量とモデルの予測値の平均的な関係を計算する手法である。特徴量の値が変化すると、予測値がどう変化するかを明らかにする、特徴量と予測値の関係を大枠でとらえる目的に使える手法である。他の特徴量の影響を除いた上で特徴量と目的変数の関係を明らかにすることができる。特徴量の値が大きくなった時に、目的変数が大きくなるのか、関係が線形/非線形な関係なのかを明らかにする。

あくまで平均的な関係のため、インスタンス(例:ユーザー単位)別の異質性を考慮できていないことに注意する。例えば、ユーザー属性ごとに影響が異なる特徴量であっても、その影響は分からない。

ICE:Individual Conditional Expectation

モデルの予測値をインスタンスごとの異質性をとらえて計算できる手法で、PDではできない、特徴量の交互作用をとらえることができる。

インスタンスごとに計算するため、可視化する時はCPD(Conditional Partial Dependence)という交互作用のある特徴量で条件付けたPDを計算することで可視化が可能となる。交互作用のある特徴量でグルーピングすることが分かっていれば良いが、分からない場合はデータ探索・可視化を通じて調査する必要がある。

SHAP:SHapley Additive exPlanations

モデルがなぜその予測値を出したかを各特徴量の貢献度に分解して解釈することが可能な手法がSHAPである。PDやICEが特徴量を変化させた場合の予測値の変化を確認することが目的であることに対し、予測値の理由付けをする手法がSHAPである。インスタンス別に計算するミクロ手法であるが、インスタンス別貢献度を集計することで変数重要度のようなマクロな解釈手法にも使える。計算量が多いので、インスタンスを限定する工夫が必要となる。

予測値の理由を説明する時には使えるが、特徴量が変化した場合の反応は計算することができない。

今後のToDo

  • 今業務で作成している予測モデルを作成し、実際に実装しながら挙動を確認する