6K Views
January 16, 23
スライド概要
マテリアルズ・インフォマティクス 連続セミナー 第五回
質問への回答:https://www.docswell.com/s/3465680103/Z1P1GK-2023-01-18-152055
ソースコード:https://bitbucket.org/kino_h/python_mi_seminar_2023/src/master/ .
動画:https://youtu.be/afg_2sIG3O8
右側の「ダウンロード」からpdfダウンロード可能。
マテリアルズインフォマティクスチュートリアル
2022年度 マテリアルズ・インフォマティクス 連続セミナー 第五回 木野日織(きのひおり)
今回の内容 130.説明変数重要性 140.モデル全探索による説明変数重要性
130.説明変数重要性
[A]問題背景 物理化学思考に慣れているとなぜ(原因)を考えたくなる。 教師あり学習での説明変数の“重要性”を「なぜ」と同一視するこ とが多くある。 (ただし、相関を見ているので「なぜ」は因果関係としての原因で はない。) 130ではある回帰モデルの説明変数の“重要性”を定量評価する。
[B]説明変数“重要性”の定量評価 ここでは回帰モデルとする。 モデル生成時に定量評価 1. ランダムフォレスト回帰など決定木回帰モデルのfeature importance 決定木手法のみに存在する評価指標。 2. 線形回帰の係数 線形回帰モデルのみで評価可能。 回帰係数の大きさだけでなく符号も得られる。 モデル学習後に定量評価 3. Permutation importance 回帰モデルによらない。 乱数に依存するので複数回評価する。
[C]決定木のfeature importance 1. 決定木は目的変数分布をなるべく大きく分けるよ うにある説明変数のif文を逐次作成する。 2. 上位のif文に現れる変数の方が重要とする(決定 木Aの場合に変数1>変数2~変数3)ように訓 練データから重要性を評価する。 3. 変数重要性の和が1になるよう規格化する。 … 決定木B 決定木A >値1 変数1 >値2 <=値3 変数3 変数2 <=値2 予測値1 <=値1 予測値2 >値3 予測値3 予測値4 ランダムフォレスト回帰は観測データから(重複する)複数の訓練 データを得て(boot strapと呼ばれる)それぞれの決定木(決定木 A,B,C,…)をまず生成します。それら、複数の決定木をまとめて一つ の回帰モデルとします。 複数の決定木なのに、重要性が低いはずの変数を重要と評価するこ とがあることが知られているので注意が必要です。 私も経験したことがあり、極めて稀な場合では無い。
[D]Permutation importance 説明変数2の並びを変える場合。 「教師」と直接関連付けた評価値 1. モデルを作成する。 2. 評価指標値(𝐸)を得る。 3. ある説明変数𝑖の並びを変えて(分布を変 えずに変更する)評価指標値(𝐸𝑖 )を得る。 4. 評価指標値の減少値をその説明変数の重 要性とする。 𝛥𝐸𝑖 = 𝐸 − 𝐸𝑖 (負になりうる。) 5. 乱数依存性を少なくするように3-4を何度 も行う。 説明 変数 1 説明 変数 2 説明 変数 3 目的 変数 説明 変数 1 説明 変数 2 A B B D C A D C 説明 変数 3 目的 変数
[E]観測データ 希土類コバルト合金の実験 磁気相転移温度 組成はコバルトは共通で希土類と割合が変わる。 60データインスタンス 説明変数 周期律表から得られる説明変数 • Z : 希土類元素の原子番号 構造に関する説明変数:AtomWorkから結晶構造を取得した後に加 工している。 • C_R : 希土類元素の数密度 • C_T : Coの数密度 • vol_per_atom: 原子あたりの体積 希土類原子説明変数 • f4, d5: 希土類元素の電子配置 • L4f, S4f, J4f,(g-1)J4f, (2-g)J4f , 元素の角運動量期待値とその射 影量 目的変数 Tc: Curie temperature (K) AtomWorkの数値では無く、論文から取得し直している。 Sm Gd
[F] 回帰モデルの説 明変数の重要性 を評価する モデル生成時に 重要性を評価す る モデル学習後に 重要性を評価す る 決定木のfeature importance 線形回帰モデル の回帰係数 Permutation importrance ランダムフォレ スト回帰モデル のfeature importance ランダムフォレ スト回帰モデル のpermutation importance カーネル回帰モ デルの permutation importance 線形回帰モデル のpermutation importance
[5]
[6]
[7]
[8]
[8]セルの出力
[9]
[10] Default動作のkNeighborsRegression は近傍データインスタンス数点の 目的変数値の平均として予測する 手法。 RBFカーネルのKernel法と似ている がより簡単な回帰モデル。 マイナス!
[11]
[12]
[13]
[G]回帰モデルの簡単な特徴 まず、使用した回帰モデルは • Random Forest回帰: 目的変数分布を用いた決定木回帰モデル • Ridge回帰、Lasso: 罰則項がある線型回帰モデル • RBFカーネルのKernel Ridge回帰, K-neightbours回帰: 類似度を用い た回帰モデル それぞれ特徴がある(考え方が異なる)。
[H]結果解釈 (permutation importanceで は平均値のみである が、)この観測データで は、 • Kernel Ridge回帰モデルは 他の回帰モデルと比べて C_Tの重要性が特に低い。 • Ridge回帰モデルは他の回 帰モデルと比べて重要性 が低い各説明変数の差が 小さい。 という特徴を持つ。 [13]の出力
[I]結果解釈 重要性:構造由来の説明変数のC_R, C_T, vol_per_atomが重要である、 のでしょう。 回帰モデルにより説明変数の重要性は大きく変わりうるので、説明変 数の重要性に関してはどの回帰モデルでの重要性なのかも留意する必 要がある。 線形回帰モデルでも{𝑥𝑖 }という形でしか評価されない。 因果関係としては1/𝑥𝑖 やexp(𝑥𝑖 )かも知れない。説明変数に関数変換を行い、回帰 関数の形を直接求める、という研究もある。
[J](物理的な)結果解釈 このスクリプトの結果を解釈すると 重要な説明変数は(C_R, C_T, vol_per_atom) --- しかし、希土類元素の違いによらない。 Sm Gd Z方向に大きく変化している構造polytype はあるが、例えば、Ridge回帰の重要性か らすると重要性はかなり小さい。それら は、Z,S4f,(g-1)J4f,など
140.モデル全探索による説明変数重要性
[A]問題背景 第四段階/“新機能法” 「説明変数から回帰モデルを学習する」 過程もこの方式で求めている。 例:ハイパーパラメタの最適化
[B]回帰モデル? ◻ 最良モデルの説明変数の重要性 ☑ モデル集合の説明変数の重要性
[C]説明変数候補の組み合わせ 説明変数1 説明変数2 説明変数3 説明変数4 説明変数5 説明変数6 目的変数 観測データ 説明変数:原理により説明変数が選ばれているわけでない。これらの説明変数は解析者の選択 による。 罰則項があるRidge回帰では重要性が低い回帰係数の大きさをなるべく同じ値にしようとする。 「全ての説明変数を用いずに、幾つかの説明変数だけを用いて回帰モデルを作成する方が予測 性能が高い回帰モデルが得られるのではないだろうか。また、回帰モデル全体の集合はどうい う構造だろうか。」という問題を愚直に行ってみる。
[D]モデルの組み合わせの数 行うこと:多くの説明変数候補から可能な全ての説明変数の組み合わせ(1), (1,3), (1,2,5), … を選び回帰モデルを作成してどの程度妥当な回帰モデルが得られるのかを評価する。 一つ選ぶ 1 2 二つ選ぶ 3 4 5 1 6 2 三つ選ぶ 3 4 5 6 1 2 3 4 5 6 … 𝑛−1 C + C +…+ C = 2 n 1 n 2 n n (1),(2),… n=6の場合 (1,2),(1,3),… (1,2,3,4,5,6)
[5]
[5]セルの出力
[7]
[8]
[9]
[10] マウスでhistgramのbinの値が分かる。
[12]
[13] 説明変数の組み合わせと 同時に係数の大きさのlog を可視化している。
[14] (説明変数の組み合わせはよ く見えないが、)係数の大き さをlinear scapeで可視化して いる。
[15] DOS図が必要
[16] DOS図が必要
[17] 説明は後で
[18]
[19]
[20]
[E]結果解釈 最も右側のR2のピーク内での(C_R,S_4f,C_T,vol_per_atom)を中心とした解釈 [17]出力 ②C_R, C_T, S4f, vol_per_atom ①C_R, C_T, S4f 説明変数間の(近似的な)共線性:ある説明変 数は別の説明変数(s)で代替されうる。最良でな ればその分𝑅2 が小さくなる。 以下ではモデル集合に対して説明変数の「置 換」という見方をする。 ③C_R, S4f , vol_per_atom 最も右側のピーク ①最良モデル集合は(C_R, C_T, S4f)を選択する。 ②vol_per_atomを説明変数に加えると𝑅2 が小さ くなるのでvol_per_atomは最良モデル集合とは “矛盾”する。 ③C_Tの効果はvol_per_atom(と他の複数の説明 変数)である程度置換できる。その意味でC_R より重要度は低い。
[F](物理的な)結果解釈 このスクリプトの結果を解釈すると ~(C_R, C_T) :希土類によらない変化 Sm Gd この元図の実行スクリプトは 007.100 ~S4f:希土類元素に依存した方向
[G]視点の整理 階層クラスタリング(実行スクリプトは007.100) スピン方向角運動量 REに限ると~スピン方向角運動量と関係はある。 軌道方向角運動量 Coの数密度 マイナスCoの数密度 “磁気体積効果” 構造 Q.原因としてよいか? A.回帰モデルそのままだと誤っていはいる。演繹的な物理モデルでは、スピン方向角運動量(g-1)J4fとCo の数密度(C_T)に主として依存して欲しいが、類似した説明変数が重要であるとしており、当たらずとも 遠からず。(その判断は専門知識がある人にしかできない。)
[H]観測データについて ~(C_R, C_T) 1. 実験観測データはなぜZ方向にこんなにガ タガタしているのだろうか。組成と構造は 合っているのか? 2. Smは特に研究が進んでTcが高いのでは? 3. 観測データ数=60では解析には少ない? C_R, C_T, S4fが重要であると選択されたのは 学習されたモデルは偏ったデータ(データバ イアス)、そして線形回帰モデルとしての結 果かもしれない。 Sm Gd ~S4f 専門知識がある人にとっては、代替モデルを選択したら どうなるのかという整理された説明変数の簡易的な変換 結果の参照方法を与えるほうが重要かもしれない・・・。
[I]物理的な原因は求められるのか? 130.一つの回帰モデルの解析: 相対的な“重要性”は回帰モデルにより異なる。 140.回帰モデル集合の解析: 交差検定の乱数によっては、異なる説明変数の組が最も妥当な回帰モデルとなり うる。 モデル集合の“重要性”は考察の仕方により異なる。 →回帰モデルから物理的な「原因」を考えるのは難しい。
回帰モデル集合の 説明変数重要性を 得る [J] 各回帰モデルの説 明変数重要性と絡 める 各回帰モデルの使 用説明変数を用い る 並べて可視化する 上位から使用説明 変数重要性を並べ てHeatmapで可視 化する 並べて可視化する 上位から説明変数 重要性を3Dで並べ る DOSピーク毎の 個々の使用説明変 数を並べて可視化 する 全てのDOSピーク 毎の個々の使用説 明変数を並べて可 視化する 上位からヒストグ ラム毎に説明変数 組み合わせを並べ て可視化する。 最も大きなのDOS ピーク毎の個々の 使用説明変数を並 べて可視化する 定量評価する Relevance analysis で説明変数組み合 わせを定量評価す る。
今回のセミナーは以上で終了します。