トップページ | ひとつ上のページ | 目次ページ | このサイトについて | ENGLISH

機械学習モデルによる因果分析

機械学習 のモデルには、シンプルなものだと 回帰分析、 複雑なものだと、 サポートベクターマシンニューラルネットワーク 等、様々なものがあります。

機械学習モデルの良さとして、予測精度を説明することが多いです。 世の中の研究も、予測精度の改善を目的にしているものが、とても多いです。

そういう意味では、本来の使い方ではないのかもしれませんが、 機械学習モデルは、 因果推論定量的な仮説の探索 )に活用することもできます。

ハッピーなモデル

機械学習モデルが、原因と結果の関係を的確に表していたとします。

もしも、そういうモデルが作れるのなら、そのモデルを使って 予測やシミュレーション ができます。

「機械学習モデルで、原因と結果の関係の分析」という話を聞くと、こういった進み方をイメージする人が多いようなのですが、実際にこうなることは、滅多にないです。

筆者の経験だと、何らかの 過学習 をしていたり、バイアスのかかったデータでないと、こういったモデルはできないです。

予測のために機械学習モデルを使う時との違い

予測が目的で機械学習モデルを使う時には、一番当てはまりが良くなるようにモデル式の係数の値を計算したり、 いくつかの機械学習モデルで一番当てはまりの良いものを探します。 そして、それを予測のモデルとして使いますので、 モデルの妥当性やロバスト性にこだわります。 変数を選択する時や、モデルの妥当性を判断する時に、「寄与率は○○以上」、「分散比は○○以上」、と言った判断基準があります。

しかし、因果分析が目的の時は、こういったこだわりは必要ないです。 判断基準の値は、例えば、「この変数をモデルに入れると、寄与率が高くなるのはなぜだ?」、と言った考察をするのに使いますので、 使い方が違います。

主成分回帰分析の場合

主成分回帰分析を、予測のためのモデルとして使う時は、以下のような目的です。

一方、因果分析のためのモデルとして使う時は、以下のような目的です。

機械学習モデルでわかること

予測の時でもそうなのですが、機械学習モデルはあくまで機械学習モデルですので、 現象を表すモデルとしては、ぴったりではないことがよくあります。 (現実と統計モデルとのギャップ) ただ、複雑な現象や膨大なデータから因果関係を見つけたい時に、いろいろなヒントを得るための道具として、すごく役に立ちます。

相関関係と因果関係 については、因果推論 でよく言われますが、 機械学習モデルでわかるのは、広い意味での相関関係です。 「これとこれは、だいたい相関しているらしい」ということがわかります。 また、 「これとこれは、関係があると思っていたけど、相関はない」ということがわかることもあります。

データからわかるのは、ここまでです。

この後に、 要因解析 をしっかりとやることで、 対策立案と実施 に進めるようになり。

変数の選択による因果分析

機械学習モデルを作る時は、 変数の選択 をします。 スパースモデリング のように、変数の選択を自動で進めるアルゴリズムもあります。 しかし、このような方法によって作られたベストなモデルが因果関係を表すことは、めったにないです。

つまり、「モデルができたから、因果関係が突き止められた。」ということにはならないです。

変数の選択の方法や、 変数の重要度の分析 は、因果のメカニズムを考察するためのヒントとして使います。

因果分析で使いやすい機械学習モデル

人工知能(AI) では、 AIの説明可能性・解釈可能性 が比較的新しい分野になっています。

説明可能性や解釈可能性の高いモデルや、 モデルを説明したり解釈したりする方法は、因果分析で使いやすいです。

例えば、 回帰分析 のようなシンプルなものが使いやすいです。 逆に、 サポートベクターマシンニューラルネットワーク のように、ブラックボックスになりがちなものは、使いにくいです。

反実仮想機械学習

反実仮想機械学習 は、 仮想的な反事実の分析因果効果の分析 の特徴を持った機械学習モデルです。

因果分析としては、新しい分野です。



データサイエンスの仕事


順路 次は 相関関係と因果関係

Tweet データサイエンス教室