Survey: Integrating Large Language Models in Causal Discovery: A Statistical Causal Approach
Tags: gpt3, datascience
Published: 2024-05-24 11:54:30

## 選定理由

LLM + Causal Inferenceという新分野、滋賀大の清水先生の研究。
Paper: https://arxiv.org/abs/2402.01454
Code: N/A

LLM + Causal Inference のサーベイ論文[[Liu2024](https://arxiv.org/abs/2403.09606)]では以下のように分類されており、Discovery系に相当する。同様な研究としてはMSRの[[Vashishtha2023](https://arxiv.org/abs/2310.15117)]がある。

![img1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8gbj6l97zp3nj7uriq68.png)

## 概要

【社会課題】
ビジネスオペレーションの自動化を進めるためには観測データとドメインエキスパート(熟練作業者)の専門知識の統合が重要である。

【技術課題】
作業者がどのように暗黙知を構成しているかは不明であり暗黙知を体系化するのは難しい。又、統計的因果探索（SCD）を使用する場合でもデータセットの選択バイアス・観測誤差・入手困難性が因果モデルの学習を阻害し信頼性や一貫性を低下させる。

【提案】
知識ベースの因果推論（KBCI）とSCD手法を融合する統計的因果プロンプティング（SCP）を提案。LLMが解釈した事前知識をSCDに取り入れることで、データセットのバイアスや制約の悪影響を抑え、より正確な因果探索と推論を行う。

【効果】
データセットのバイアスや制限に対処し、さまざまな科学分野でのデータ駆動型因果推論の性能を底上げすることができる。GPT-4 + SCPの実験ではSCDの結果が正解により近づくことが示され、LLMがデータセットについての情報を持たない場合でも、背景知識を用いることでSCDの改善が可能であることが確認された。

【所感】
ATE,ITEなどの因果効果推定の数値計算をLLMに実施させるのは有効なのか、定量化や計算はLLMは苦手のはず。

## 提案手法

提案するフレームワークの全体像を図１に示した。４つのステップから構成される。

![fig1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bayvhgd2bqoqh4n2rou7.png)

特定の知識を統合できる因果探索の方法として[PCアルゴリズム](https://www.jstage.jst.go.jp/article/jjsai/25/6/25_811/_pdf#page=4)、A*アルゴリズムに基づくExact Search、およびDirectLiNGAMアルゴリズムを組み合わせ採用した(Algorithm 1)。実装には[causal-learn](https://github.com/py-why/causal-learn)と[lingam](https://github.com/cdt15/lingam/tree/master)のライブラリを使用している。又、因果モデルの精度とロバスト性向上のために、ブートストラップサンプリングを用いた検定も実施した。ドメイン専門家としての役割を果たすLLMにOpenAIのGPT-4-1106-preview5を採用し、その出力の確率分布を調整する温度を0.7に固定した。知識生成のためのプロンプトテンプレートはZSCOT技術に基づいており、低コストで簡単に適用できる方法として採用した。また、統計的因果プロンプト（SCP）を用いて因果構造やブートストラップ確率などのSCD結果を含めることができ、SCPの内容がGPT-4の応答に与える影響も考慮した。

![al1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/07gr5qde3x5jzxhuhbch.png)

表１に事前知識を生成するSCP、表２に因果効果の検証を行うSCPを示す。いくつかのパターンを用意した。

*  パターン0: SCP（統計的因果プロンプト）を使用せず、他のパターンと比較するための基準として使用される。
*  パターン1: 最初のSCDで現れたエッジのリストをプロンプトに使用する。
*  パターン2: ブートストラッププロセスで少なくとも一度出現したエッジとそのブートストラップ確率のリストをプロンプトに使用する。
*  パターン3: 最初のSCDで現れたエッジのリストと因果係数をプロンプトに使用する（DirectLiNGAM用）。因果係数の追加がLLM-KBCIとSCDの性能向上に寄与するかを検証する。
*  パターン4: 非ゼロのブートストラップ確率を持つエッジのリストと因果係数をプロンプトに使用する（全データセットに対してDirectLiNGAM用）。これはパターン2と3の情報を組み合わせた最も情報量の多いパターンとして試みる。

![tb1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gw705gsxcqlfti0ys3i1.png)

![tb2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sf4ivkuglqckyql7bacg.png)

## 実験1

ベンチマークデータセットを用いて、LLM-KBCIおよびSCDを比較するためLLMによる事前知識行列(𝑃𝐾)の増強効果を評価した。構造ハミング距離、偽陽性率、偽陰性率、精度、F1スコアを使用して因果モデルを表現する隣接行列の比較を行った。さらに、CFI、RMSEA、およびBICを用いて統計的妥当性評価をした。各データセットに対する詳細な結果は表3である。

![tb3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pt8kprs54m0ikhpxtfnm.png)

表３が示すように、事前知識を追加した場合はベースラインAよりも真の値に近く、特に[Auto MPG](https://www.kaggle.com/datasets/uciml/autompg-dataset)やDWDデータでは精度やF1スコアが向上した。GPT-4の事前知識は専門家の知識とデータによる因果構造を統合しSCDのパフォーマンスを改善するが、その改善の度合いは共変量や未観測変数の数やSCD手法によって異なった。
Auto MPGデータ（５変数）のように共変量が少ない場合、プロンプトパターン間での差はほとんどなかった。これは共変量数が少ないと情報量が減りGPT-4の推論性能の違いが出にくい、ネットワークの縮小によりSCDは単一の最適解に到達しやすい、といった原因が考えられる。一方で、DWDデータ（6変数）やSachsデータ（11変数）では、プロンプトパターンによる改善の違いが明確で、𝑷𝑲の品質とSCDが情報量に依存することを示している。特にExactSearchやDirectLiNGAMを使用する場合、ベースラインBから生成された𝑷𝑲の精度とF1スコアが他のパターンより低いことが多く、これはSCPによるLLM-KBCIの性能向上を示す。

𝑷𝑲で補強されたSCDの出力を考慮すると、Pattern0（ベースラインB）が安定して高い性能を示すが、特にDirectLiNGAMアルゴリズムを使用する場合、Pattern1やPattern2での𝑷𝑲の方が優れた結果を示す。一方で、多くの統計情報でプロンプトされるPattern3やPattern4では、必ずしもSCD結果の改善につながらない。特にPattern4は、真実に近いにもかかわらず、𝑷𝑲から示唆された候補エッジが捨てられて最終的なSCD結果が劣ることがある。

## 実験2

実験1のオープンベンチマークデータセットでの改善がLLMの性能だけによるものかを確認するのは難しいため、現実的な状況におけるこの方法の有効性を検証した。事前トレーニングデータセットから除外された健康診断データのランダムサンプルに提案手法を適用し、𝑷𝑲なしでは自然な因果関係がSCDにより獲得されないことを確認した。

![fig2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hlivmvuaxmsh6j3wltvl.png)

![tb4](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/svjuykg7t35z6l5dq57e.png)

図2(a)に示されるように、𝑷𝑲を用いないDirectLiNGAMでは他の変数から「Age」への不自然なエッジが示されるが、SCPを用いたパターン2および4では、因果グラフが人間の事前知識と照合しても違和感のないものになり、「Age」が他の変数から影響を受けなくなる。SCPは、特にDirectLiNGAMにおいて、SCDの結果を真実に近づける効果があることが確認された。また、SCPを用いることでBICが小さくなることが示され、より適切な統計モデルで因果構造を発見できることが示唆された。