線形回帰を使ってモデルを作る場合は、その作り方は
1.従属変数間の散布図を載せて
2.どの従属変数をつかったらいいか、
AICを使ってステップワイズ法により変数を選ぶか、
(探索的)因子分析を使って次元圧縮するか
(因子数は、スクリープロットで決める)
して、モデルに必要な変数を選び、
3.その変数で線形回帰モデルを作成して、
各変数の特徴をのべ(切片と、係数の議論)
4.その線形回帰モデルが適正かどうかを議論する
→決定係数を議論:交互作用がモデルにあると、よくない値になる
っていうことで、レポートにできる。
でも、線形回帰だと、上に書いたように、交互作用があると、
あまりよくないし、そもそも、モデルは線形にしていいかどうかわからない。
(非線形かも?)
Random Forest(ランダムフォレスト)を使うと、その点、
交互作用があっても、線形でなくても、予測を当ててくるので、
もっといいモデルができるけど、
Random Forestの場合、モデルがブラックボックスのため、
どの変数を減らしたらいいかとか、
変数ごとの動き、
交互作用について
述べることができなかった。
ところが、ここ最近のXAIの研究により、
どの変数を減らしたらいいか→PFI
変数ごとの動き→PD
交互作用について→ICE
を使うと、回帰分析のような流れで、Random Forestのモデルで議論できる
ようになった
→つまり、線形回帰ではなく、Random Forestでモデルつくって、
レポート、あるいは論文が書けるってこと。
その方法について、
っていう本に書いてあるんだけど、そのことに気付かないで
「この本、何のためにあるの?」と言っていた人がいたので、
みんなでRandomForestの書き方をシェア。
上記に書いた、線形回帰の場合をもとに、その本のどこに書いてある何を使えば、線形回帰のノリで、Random Forestが書けるかについて、書いておきます。
1.従属変数間の散布図を載せて
→これは、線形回帰と同じ
2.どの従属変数をつかったらいいか、
→PFIを使って、変数を絞り込む。
3章参照
3.その変数で線形回帰モデルを作成して、
各変数の特徴をのべ
→PDを使って、各変数の動きを、PDPで表現する
4章参照。PDPは、そこに出てくる図のこと
4.その線形回帰モデルが適正かどうかを議論する
→Random Forestの適合性で言えるけど、
交互作用の議論は、ICEで出来る。5章参照
なお、プログラムについて、サンプルはPythonだけど、Rでやりたい場合は
付録Aを参照。
ちなみに、上記の本の各章の作り方は、だいたい決まっていて、
なんでその処理を行うのか
処理の内容
因果関係との関係
実データを使って実行
という流れになっているので、実データを使っているところを参考にして、実際のモデルを作ればいい。
1章は、お話
2章は、線形回帰の問題点が書かれている(Random Forestを使う理由を書きたいとき参考になる)
6章のSHAPは、モデルができた後で、予測をするときに使う
(予測は予測でまた、レポートの書き方が違うので、気分が向いたら別エントリで書くかも?)
付録Bは、2章の逆で、今回使ったPFI等を線形回帰に使っても、妥当であることを示している→なのでRandom Forest特有の話ではないということを言いたいときに使う。
こういうように、レポートを書くのに、ばっちり使えるので、この本は人気なんだと思う。