アーパボー(ARPABLE)
アープらしいエンジニア、それを称賛する言葉・・・アーパボー(商標登録6601061)
ライトニングトーク

因果推論(概要編)

因果推論(概要編)

はじめに

ジューディア・パール氏は、データから本当の原因と結果を見つける革新的な方法を発見しました。

彼はDAGと呼ばれる矢印を含むグラフ図を使い要因間の関係表しました。
例えば、雨が降ると傘を持つ人が増える関係を図に描く感じです。

さらに彼は、このネットワークを使って「因果推論」を行います。これは、Aが起きるとBが起きるという原因と結果の関係を探るもので、例えばアイスクリームの売上と溺れる人の関係を解析するといった具合です。

パール氏の手法は、これらの情報を組み合わせて、データから原因と結果の関係を数学的に解析する新しい方法です。これは伝統的な統計学では難しかったことで、非常に画期的な進歩とされています。

 

【直感で理解しよう】

例えば、学校のテストで点数が良い子と悪い子がいるとするね。

一人がたくさん勉強して点数が良く、もう一人はあまり勉強せず点数が悪い。

これは、「勉強する時間」が「テストの点数」に影響を与えるという原因と結果の関係かもしれない。

パール氏の方法を使えば、データを分析して、これが本当に関係しているのかを調べることができるんだ。

これは、科学者やビジネスの人々にとって、とても重要。

なぜなら、データから正しい結論を導くことができれば、より良い決定を下す手助けになるからね。

※)本投稿は2023年6月27日に社内で開催された今年3回目となるライトニングトーク(ALT)のプログラム③で発表した内容をベースにしております。

(WHY)デジタルツインにおける因果推論の重要性

デジタルツインは現実世界におけるシステムの振る舞いをシミュレートしますが、故障の原因を調べるには現実に収集されたリアルデータだけでは「なぜ」故障が起こるのか、「故障の根本的な原因はどの要因か」を知ることは困難です。

因果モデルを使用することにより、過去に実現したことのない潜在的な故障シナリオも検証しシステム内の要因がどのように相互作用して結果を生み出すかを解明できます。

因果モデルを使用することにより、デジタルツインを用いてシステムの振る舞いを予測し故障の根本的な原因を推定することができるのです。

これはシステムの最適化やトラブルシューティングに非常に価値があります。

他の手法との違い

現在の人工知能の限界について

機械学習を基にした現在の人口知能は大量のデータを処理して相関関係を見つけるのが得意ですが、原因と結果の関係(因果推論)を理解できません。

人間は経験や知識をもとに因果関係を把握しますが、AIは「なぜ」や「どうして」を理解できません。
これがAIの限界であり、医療や意思決定など、因果関係が重要な分野では人間の判断が不可欠です。

AIが因果推論を習得するためには、新しい技術や手法が必要とされています。

因果推論と相関関係の違いについて

相関関係は、2つの変数が一緒に動く傾向があることを示します。
例えば、身長が高い人は体重が重い傾向があります。

一方、因果関係は一方の変数がもう一方を引き起こす関係を示し、因果の方向性が重要です。例えば、身長が伸びると体重が増えるが、体重が増えるからといって身長が伸びるわけではない。これを理解するのは、背後にある知識があるからです。

因果推論は、データからこのような因果関係を特定するプロセスです。

【直感で理解しよう】

例えば「サンゴの生存率と捕食者の数との間に相関関係があることが示されました。

これにより、人々は捕食者が増えるとサンゴの生存率が下がると考えました。

しかし、詳しい調査で、捕食者が弱っているサンゴしか食べないことが分かり、実際にはサンゴの生存率が下がることで捕食者が増えるという因果関係があることが明らかになりました。

このため、捕食者を減らすだけではサンゴ保護には効果がなく、逆にサンゴの健康を維持する役割を果たす「掃除屋」の捕食者が減ることで、サンゴの健康が損なわれる可能性もあると指摘してます。

ビックデータの限界点

ビッグデータからは相関性はわかりますが、因果関係はわかりません。

相関性は2つの変数が関連していることを示すだけで、原因と結果の関係は示しません。
実験が厳密に制御されていない場合、データだけでは行動や介入の影響を知ることはできません。

現実の意思決定、例えばマーケティングや生態学、医薬品評価では、データが限られており、条件を揃えた実験は難しい。

因果関係を理解するには、データがどのように生成されたかを考慮したモデルが必要です。

機械学習との違い

機械学習は、たくさんのデータを見て、パターンや関連性を見つける探偵のようなものです。でも、データが変わると、探偵はまた1から調査を始めなくてはなりません。

一方、因果推論は、物事の「なぜ」を考える科学者のようです。科学者は、あることが他のことを引き起こすかどうかの仮説を立てます。もし新しい情報が出てきたら、科学者はその仮説をうまく修正します。

例えば、ドクターが病気を診断するとき、機械学習は前の患者のデータで学んだパターンを使いますが、因果推論は患者の生活習慣などを考えて、病気の原因を探ります。因果推論は変化に強く、もっと深く理解するのに役立ちます。

因果推論の手法

「Pearlの手法」

因果関係を探る探偵のような方法です。事件が起こったとき、ヒントをつなげて犯人を見つけるように、原因と結果の関係を線でつなげます。そして、「もし~だったら?」という仮想の状況を考え、本当にその原因が結果を引き起こすかをチェックします。

「Rubinの手法」

ゲームのキャラクターを強くする方法を比較するイメージです。新しい武器を使った場合と使わなかった場合で、どちらが強くなるかを見る。しかし、キャラクターがたくさんいるので、似たようなキャラクター同士を比べて、新しい武器が効果があるかを確認します。

因果のはしご

 

因果のはしごは、物事の原因と結果を理解する深さを表す3段階の階段です。
以下の3段階で、物事の原因と結果をより深く理解することができます。

1段目 – 関連付け:

これは最も基本的な段階で、「AとBは一緒に起こる」というような関係を見つけることです。例えば、「アイスクリームの売り上げが増えると、海での溺れる人も増える」という関連性を見つけることができます。しかし、これだけでは、アイスクリームが直接溺れる原因かどうかはわかりません。

2段目 – 介入:

ここでは、もし何かを変えたら何が起こるかを考えます。例えば、「もしアイスクリームを売らなかったら、海での溺れる人は減るのか?」と考えます。これで、アイスクリームと溺れる人との間に本当に因果関係があるのかを探ります。

3段目 – 反実仮想:

これは最も高度な段階で、実際には起こらなかったことを考えて、もし~だったら何が違ったかを考えます。例えば、「もし今日が非常に寒かったら、アイスクリームの売り上げは減り、海での溺れる人も減っていたかもしれない」と考えることで、実際の原因が暑さであることを理解します。

今後の取り組み

今後はマイクロソフトのDoWhyを用いて更に深堀していきます。

マイクロソフトのDoWhyは、Python用のオープンソースライブラリで、因果推論を行うためのツールを提供します。データから因果関係を明確に理解するため、統計モデルの構築や仮説検証をサポートします。簡潔なコードで因果分析を行えるように設計されており、データサイエンティストや研究者にとって非常に役立つツールです。

 

【参考文献】
因果推論の科学 「なぜ?」の問いにどう答えるか 単行本 – 2022/9/12

岩波データサイエンス vol.3
https://amzn.to/44lu4dT

 

アーパボー