【因果推論】因果のはしごの概要

因果推論(Causal Inference)は、ある出来事や要因が他の出来事にどのように影響を与えるかを明らかにするための分析手法です。因果推論の重要な概念である因果のはしごについて紹介します。
目次
因果推論とは
因果推論(Causal Inference)とは、データの中に隠された因果関係を特定して「何が何に影響を与えるのか?」を解明するための手法のことを言います。例えば、マーケティングで「新しいプロモーションを導入する」と「売り上げが増加する」という因果関係を見極める際などに使用されます。
よくデータ分析では相関関係の有無が議論されますが、相関があることと因果があることは全く異なります。この部分を十分に理解しておかないと誤った分析結果を導き出してしまう可能性があるため注意が必要です。
因果推論の核心は、変数への介入がどのように出力に作用するのかや、実際には起こらなかった反事実的なシナリオの出力に対して分析することです。因果関係について理解するための重要な概念として「因果のはしご」という概念があります。
この記事では、因果推論で重要な概念である「因果のはしご」の概要を紹介します。
※ 因果推論について歴史を含めて学びたい方は以下の「因果推論の科学「なぜ?」の問いにどう答えるか」がおすすめです。ぜひ読んでみてください。
因果のはしご
因果のはしご(Ladder of Causation)は、ジューディア・パールさんが提唱した因果推論の概念モデルです。因果のはしごは、因果推論の中核となる概念で、因果関係を理解する能力を 3 つの段階に分けて分類しています。このモデルは、因果推論の理論的基盤として広く活用されています。
第 1 段目:関連(Association)
因果のはしごの第 1 段目は「関連(association)」です。
この段階は「見ること」「観察すること」に該当しており、環境における規則性に気づくことができるようになります。データ分析でよく出てくる相関や回帰といった分析もデータ間の関連を突き止めるための代表例であり、この 1 段目に該当します。
第 2 段目:介入(Intervention)
因果のはしごの第 2 段目は「介入(Intervention)」です。
この段階は「行動すること」に該当しており、環境における条件を意図的に変化させた場合にどのような変化が起こるかを予測できるようになります。データ分析では、複数の変数を使って分析をしますが、その中のうちで、とある変数を固定や変化させたときに、分析結果やモデルにどのような変化が起きるかということになります。
この段階は、例えばランダム化比較実験(Randomized Controlled Trial:RCT)のように、特定要因を意図的に変化させ、結果の変化を測定する分析が含まれます。
第 3 段目:反事実(Counterfactual Reasoning)
はしごの最終段階の第 3 段目は「反事実(Counterfactual Reasoning)」です。
この段階は「想像すること」に該当しており、環境における条件が実際に起こったものとは異なっていた場合に、結果はどうなっていたかを考える段階です。私たちは「もし〇〇しなかったら、XXとなっていただろう」ということを予想できます。この能力は因果関係を理解するうえで非常に重要かつ難しい段階ですが、私たち人間はこの段階に到達しています。
現在の AI はどこにいるのか?
これまで「因果のはしご」と呼ばれる因果関係を理解するための概念を紹介しましたが、現在の AI はその 1 段目と留まっており、2段目以上には進めていません。
現状の AI には、回帰・分類・強化学習、ディープラーニング、大規模言語モデル(LLM)など様々あります。これらの技術はデータから相関関係を学び、応答を生成する能力に長けています。人間のように振舞うように感じるため、既に因果のはしごの 2 段目や 3 段目に到達していると考える方もいるかもしれません。
しかし、これらは観察データに基づいて関連性をモデリングしているだけです。例えば、現在生成 AI の代表格ともいえる ChatGPT では、推論をしたような結果を回答してくれますが、これは膨大なデータから得た関連情報をもとに応答しているだけであり、因果のはしごの 2 段目(介入)や 3 段目(反事実)を考慮した因果関係の理解に至っているわけではありません。
一方で、因果推論の考え方を機械学習に取り込む試みも研究では始まっています。このような新たなアプローチを発展させることで、因果のはしごの 2 段目や 3 段目に到達する可能性があると思っています。AI が因果関係を本質的に理解するためには、さらなる技術革新が必要です。
因果関係を機械に学ばせるためには?
因果関係を機械に学ばせるためには、因果関係を表現するモデルを明示的に与える必要があります。その中心となるのが「因果ダイアグラム(Causal Diagram)」や「構造的因果モデル(Structual Causal Model:SCM)」です。
因果ダイアグラムは因果関係を視覚的に表現し、通常は有向非巡回グラフ(Directed Acyclic Graph: DAG)として描かれます。一方、SCM はその因果構造を数式やモデルに具体化したものです。これにより、因果推論を数学的に実行可能にします。
因果ダイアグラムを構築するには、データ分析の知識だけではなく、データが存在する領域の「ドメイン知識」が不可欠です。例えば、医療分野では、疾患や治療法、環境要因をよく理解した上で因果ダイアグラムをモデリングする必要があります。
ドメイン知識がなければ、統計的相関と因果関係を区別することは困難です。AI に因果関係を学ばせるには、人間が因果構造を定義し、それをモデルとして提供する必要があります。これにより、AI は介入や反事実といった因果推論を行えるようになります。最終的に、AI と人間の知識を補完的に活用することで、より高度な因果推論の実現が期待できます。
因果推論に役立つ Python パッケージ
因果推論を実践するには適切なツールを使うことが重要です。Python には、因果推論に特化した便利なパッケージがいくつか存在しています。これらを活用することで因果ダイアグラムの構築や介入効果の推定、反事実シナリオのシミュレーションを効率的に行うことができます。
代表的なパッケージとして「DoWhy」「EconML」「CausalNex」があります。これらのパッケージの使い方についてもまた別途まとめてみたいと思います。
まとめ
因果推論の重要な概念である「因果のはしご」について紹介しました。
因果推論は、データ分析をより深く理解し、より正確な意思決定を行うために非常に重要な技術です。現在の AI 技術を次の段階に進めるには、因果推論の概念を取り入れていくことが必要不可欠だと思っています。
今回紹介した因果のはしごは、因果推論の中核となる概念で、因果関係を理解する能力を 3 つの段階に分けて分類したものです。因果推論を学んでいくうえで基盤となる考え方なのでぜひ理解してもらえたらと思います。




の概念.jpg)
