Cross-validated Permutation Feature Importance(CVPFI)~任意の回帰分析手法で、説明変数間の相関関係を考慮しながら安定的に変数重要度(特徴量重要度)を計算する手法[金子研論文]

金子研の論文が Analytical Science Advances に掲載されましたので、ご紹介します。タイトルは

 

Cross-validated permutation feature importance considering correlation between features

 

です。

分子や材料やプロセスのデータを用いて、説明変数 (分子記述子・合成条件・製造条件・プロセス条件など) x と目的変数 (物性・活性・特性など) y の間で数理モデル y = f(x) を構築し、構築されたモデルに基づいて、望ましい分子や材料やプロセスを設計します。

物性・活性・特性が発現するメカニズムを解明したり、プロセスで起きている現象を理解したりするため、構築されたモデルを解釈し、y と x の間の関係を明らかにすることも重要です。LIMESHAP などでは、あるサンプル点における、そのサンプル点回りにおける y に対する x の寄与を求めます。これらの指標は、y に対する局所的な x の寄与もしくは方向性を議論するために使用できます。例えば y が最大値をもつサンプルに対して、さらに値を向上させる x の方向を議論できます。一方で本研究では、データセット全体における x の大局的な変数 (特徴量) の重要度について着目します。

大局的な変数 (特徴量) の重要度として、ランダムフォレストで色々な重要度が計算できます。その中で、permutation feature importance (PFI) は、ランダムフォレストに限らず、非線形手法を含めて任意のモデル構築手法で変数の重要度を計算できます。scikit-learn にも実装されていて、便利に活用できます。しかし PFI を計算するためにはトレーニングデータだけでなくバリデーションデータが必要であり、サンプル数が小さいときに重要度の計算が不安定になってしまいます。さらに相関の強い x 同士の PFI が、他の変数の PFI と比較して小さく見積もられてしまいます。

そこで本研究では、これらの問題を解決して適切に変数の重要度を計算するため、cross-validated permutation feature importance (CVPFI) を提案します。クロスバリデーションに基づいて、繰り返し計算の中で変数の重要度を計算するため、サンプルが小さいときにはクロスバリデーションの分割数を大きくすることで、安定的に変数の重要度を計算できます。また、変数の値をシャッフル (CVPFI では実際にはサンプリング) するとき、変数の間の相関係数に基づいて、相関の高い他の変数の一緒にシャッフルすることで相関の強い x 同士でも適切に重要度を見積もれます。

論文では、回帰分析手法として

を対象として、以下のケースで検証し、すべて CVPFI により適切に変数の重要度を計算できることを確認しました。

  • x と y の間が線形関係
  • x と y の間が非線形関係
  • x の間の相関が高い
  • x が量子化されており値のバランスが偏っている

その後、実際の化合物のデータセットを用いて、各記述子の CVPFI について議論しました。

興味のある方は、ぜひ論文をご覧いただければと思います。

 

以上です。

質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。

タイトルとURLをコピーしました