2026年1月4日日曜日

因果推論と機械学習 その3

Meta-Learner は「任意の汎用 ML モデルを部品として組み合わせ、因果効果を推定する枠組み」と説明される。整理すると3つの軸がある。①問題の還元(CATE 推定を既製の教師あり学習に翻訳するレシピか=学習器非依存か)、②推論理論(直交化とクロスフィッティングを備えるか)、③学習器そのもの(因果推定専用にアルゴリズムを書き換えるか)。

S/T/X-Learner は ① のみ。DR/DML は ② の理論であり、それを CATE に向けた DR-learner / R-learner は ①②にある。 因果フォレストは で、木の分割基準そのものを書き換えるため学習器を差し替えられない。この意味で 因果フォレストはMeta-Learner ではない。

3. DR / DML 系、因果フォレスト

Learner step モデルNo. 説明変数 目的変数 推定対象
DR 0 標本を K 個に分け、以降の1段目の予測はすべて out-of-fold で作る(交差適合)。同じデータで局外パラメータと効果を両方推定すると、正則化バイアスがそのまま τ に乗る
1 1a
1b
X (T=0)
X (T=1)
Y
Y
T-Learner と同じ(μ₀, μ₁)
1 1c X T 傾向スコア; e(X)
2 DR擬似アウトカムの計算;(例)ṫ(X) = (μ₁(X) − μ₀(X)) + [(T − e(X)) / (e(X)·(1 − e(X)))] · (Y − μ_{T=T}(X))
3 2 X ṫ(X) CATE; τ(X) = E[ṫ(X)|X]
DML 0 (追加)DR と同じく交差適合。DML の理論はこれを前提に組まれている
1 1a X Y Y の応答関数 μY(X) = E[Y|X](m(X) とも書く)
1 1b X T T の応答関数 μT(X) = E[T|X]。処置が二値ならこれは傾向スコア e(X) そのもの
2 残差を計算; εY = Y − μY(X), εT = T − μT(X)
3 2 εT(および εT × X の交互作用) εY CATE; τ(X) = β₀ + β′φ(X) (εT 単独に回帰すると τ は定数となり ATE になる。 LinearDML では featurizer で φ(X) を与えて初めて CATE になる)
Causal Forest 0 交差適合に加えて、木を育てる標本と効果を推定する標本を分ける(誠実性 honesty)。信頼区間を出すための条件
1 1a
1b
X
X
Y
T
DML と同じ
2 DML と同じ(局所中心化: 木を育てる前に交絡の影響を残差で抜いておく)
3 X, εT, εY ランダムフォレストを使用して、各ノードで処置効果の異質性(分散)を最大化する分割を選択。ノードでの処置効果 = Σ(εY × εT) / Σ(εT²)
4 CATE; τ(X)(各特徴量 X の組み合わせに対して、局所的な処置効果を推定)


用途

手法 出力される τ(X) の形 向いている場面 弱点 原典
DR(DR-Learner / AIPW) 自由(2段目に何を使うかで決まる) μ と e のどちらが当たるか自信がないとき。片方が正しければ一致する e(X) が 0 か 1 に近い領域で分母が爆発し、推定値が暴れる。overlap の確認が必須 Robins+ 1994 /
Kennedy 2023
DML(LinearDML) 線形 θ₀+θᵀX(指定した形) 効果の形を単純に置きたいとき。信頼区間が素直に出る 交互作用の設計を誤ると異質性を取り逃がす。εT の分散が小さいと不安定 Chernozhukov+ 2018
Causal Forest 非線形(木が決める) 異質性の形が事前に分からないとき。探索的に使える 解釈が難しく、標本数を要する。木の出力をそのまま因果の強さと読まない Wager & Athey 2018 /
Athey+ 2019 (GRF)


周辺の用語

用語 説明 出典
二重頑健性(double robustness) 応答関数 μ と傾向スコア e のどちらか一方が正しく推定できていれば、CATE の推定が一致するという性質。DR の名前の由来 Robins+ 1994
Neyman 直交性 局外パラメータ(μ, e)の推定誤差が、1次の項では効果の推定に効かないようにモーメント条件を組むこと。DR と DML の理論的な核 Chernozhukov+ 2018
交差適合(cross-fitting) 局外パラメータの学習と効果の推定を別々の fold で行う手続き。機械学習の過学習・正則化バイアスが効果推定へ漏れるのを遮断する Chernozhukov+ 2018
局所中心化(local centering) Causal Forest で木を育てる前に Y と T を残差化しておくこと。交絡の影響を先に抜いてから異質性を探す Athey+ 2019
誠実性(honesty) 木の分割に使うデータと、ノード内で効果を推定するデータを分ける工夫。これがないと信頼区間が過度に狭くなる Wager & Athey 2018
GRF(generalized random forest) Causal Forest を含む一般化枠組み。木を「局所的な重みを作る装置」とみなす見方 Athey+ 2019
R-Learner との関係 DML の残差化は R-Learner と同じ目的関数。Causal Forest はその目的関数を木で解いていると読める。つまり3手法は別物というより同じ骨格の変奏 Nie & Wager 2021
overlap 違反 e(X) が 0 か 1 に近い領域では比較相手が実在しない。DR は分母として直接効くので最も影響を受ける。e(X) のヒストグラムを必ず見る

 

  • e(X)は「データからの比率」から求めるか、XT のモデルで推定(DR)。
  • DR:μ₀, μ₁, e を一つの式で混ぜた DR擬似効果 (X) を作り、それを1本の τ(X) モデルで学習。
  • DML(LinearDML):Y と T を X で残差化し、εY を εT および εT×X の交互作用項に線形回帰して τ(X) を得る。交互作用を入れないと τ は定数(=ATE)になる点に注意。非線形な異質性を扱うなら NonParamDML / CausalForestDML を使う。

3つの中だとDMLが好みです。

因果推論と機械学習 その2

 S-、T-、X-Learner は meta-learner(メタ学習器)と呼ばれる枠組みに属し、機械学習による因果推論を実現する基本的アプローチのようです。X は比較的新しいとのことですが、SとTは古くから利用されています。

これらは「条件付き平均処置効果(CATE)」を推定するための推論フレームワークで、「もしこの人、モノ、事象に介入したら、しなかった場合と比べてどうなるか?」という効果(潜在的結果)を、観察データ(処置+特徴量+結果)から推測・推定する方法です。S, T に最新の機械学習フレームワークを組み込むことで発展し、推定精度も向上するのでしょう。

2. Meta-Learner

Learner step モデルNo. 説明変数 目的変数 推定対象
S-Learner 1 1 (T, X) Y 処置 T と特徴量 X が与えられたときの結果 Y の期待値(平均値); μ(T,X)=E[Y|T,X]
2 CATE 条件付き平均処置効果; τ(X)=μ(1,X) − μ(0,X)
T-Learner 1 1a X (T=0) Y 対照群(処置なし)における結果 Y の期待値; μ₀(X)=E[Y|T=0,X]
1 1b X (T=1) Y 処置群(処置あり)における結果 Y の期待値; μ₁(X)=E[Y|T=1,X]
2 CATE; τ(X)=μ₁(X) − μ₀(X)
X-Learner 1 1a / 1b X (T=0) / X (T=1) Y T-Learner と同じ(μ₀, μ₁)
2 対照群の補完効果(反事実予測 − 実際の結果); d₀ = μ₁(X) − Y
処置群の補完効果(実際の結果 − 反事実予測); d₁ = Y − μ₀(X)
3 2a X (T=0) d₀ 対照群で学習した補完効果の条件付き期待値; τ₀(X)=E[d₀|X]
3 2b X (T=1) d₁ 処置群で学習した補完効果の条件付き期待値; τ₁(X)=E[d₁|X]
4 CATE; τ(X) = e(X)·τ₀(X) + (1−e(X))·τ₁(X)
元の式は τ₁ と τ₀ の重みが入れ替わっていた。原典 Künzel et al. (2019, PNAS) は τ̂(x)=g(x)·τ̂₀(x)+(1−g(x))·τ̂₁(x)、g には ê(x) を充てる。

用途

Learner モデル数 向いている場面 弱点
S-Learner 1 処置の効果が大きく、共変量が少ないとき。実装が最も簡単 T が多数の特徴量に埋もれ、正則化で処置の効果ごと消えることがある(τ≈0 に潰れる)
T-Learner 2 両群とも標本が十分あり、応答関数の形が群で大きく違うとき 群ごとに独立に学習するのでデータ効率が悪い。片方の群が小さいと、その側の誤差がそのまま差に乗る
X-Learner 4+e(X) 群サイズが大きく偏るとき(例: 崩壊ありが少数)。少数側の情報を多数側のモデルで補える 段数が多く誤差が伝播する。傾向スコアの推定精度に結果が依存する

  • S-, T-はモデル(応答関数)で潜在的結果を推定(期待値として算出)し、後処理としてCATEを算出。X-はモデルでCATEを推定。
  • e(X)(傾向スコア)は全体比率で代用するか、X→T のモデル(分類器)で推定する。X-Learner では step4 の合成に、 DR / DML 系では擬似効果・残差化に用いる。

**************************************
20260817 追記・修正

2026年1月3日土曜日

因果推論と機械学習 その1

因果推論は古くからある手法のようですが、現代では機械学習と結びついて発展しているようです。
あらためて、それらの関連用語を整理します。

1. 基本用語

Terms 用語 記号 意味
Treatment 処置 T 処置群か対照群かを示す二値変数(1: 処置群, 0: 対照群)。連続量に拡張することもある
Outcome 結果 Y 目的変数
Covariates / Features 共変量・特徴量 X 説明変数。処置より前に決まっているものに限る(処置の後に決まる変数を入れると媒介因子やコライダーを調整することになる)
Conditional Average Treatment Effect 条件付き平均処置効果 τ(X) 共変量 X が与えられた場合の平均処置効果。τ(X)=E[Y(1)−Y(0)|X]
Average Treatment Effect 平均処置効果 ATE = E[Y(1)−Y(0)] 集団全体の平均的な処置効果。記号欄は略称ではなく定義式で持つと CATE との関係(ATE=E[τ(X)])が見える
Propensity Score 傾向スコア e(X)=P(T=1|X) 処置を受ける確率
Potential Outcome 潜在的結果 Y(t) ある個人が、各処置状態 t(例: t=0,1)をもし受けていたならば観測されるであろう結果。各個人は Y(0) と Y(1) の両方の潜在的結果を持つと仮定する
Counterfactual 反事実 Y(1−T) 実際に受けた処置 T とは異なる処置 1−T を受けていたならば観測されたであろう、実際には観測されていない方の潜在的結果。この記号は二値処置のときの書き方で、連続処置では Y(t), t≠T と書く
Imputed Treatment Effect 補完された効果 d₀, d₁ 観測されなかった反事実を推定・補完することで得られる、処置効果の推定値。特に X-Learner で用いられる概念を指す
Response Function 応答関数 μ(·) 共変量 X と処置 T の関数として、結果 Y の条件付き期待値をモデル化する関数。μ(t,X)=E[Y|T=t,X]
Expectation 期待値 E[·] 確率変数の平均値
Conditional Expectation 条件付き期待値 E[Y|条件] ある条件下での結果の平均値
DR pseudo-outcome DR擬似アウトカム φ(Z)(ṫ(X) とも) DR(二重頑健)推定量に基づく CATE 学習用の擬似ラベル。「擬似効果」より「擬似アウトカム」が原語に近い。これ自体は効果の値ではなく、X に回帰して初めて CATE になるラベル
Residual 残差 ε 実測値から予測値を引いた差(ε = Y − ŷ)。符号の向きが逆だと DR/R-Learner の式が反転するので注意
Individual Treatment Effect 個別処置効果 τᵢ = Yᵢ(1) − Yᵢ(0) 個人 i の処置効果。片方は必ず反事実なので原理的に観測できない(因果推論の根本問題)。だから実務では期待値をとった CATE / ATE を推定する
Unconfoundedness / Ignorability 無交絡(条件付き独立) (Y(0),Y(1)) ⫫ T | X X で条件付ければ、処置の割り当てが潜在的結果と独立になるという仮定。メタ学習器がすべて前提にしている。検証不能なので設計と専門知識で担保する
Overlap / Common Support 共通サポート 0 < e(X) < 1 どの X の値でも処置群・対照群の両方が実在するという条件。比較相手がいなければ反事実は埋められない。連続処置では Var(e·T)/Var(T) などで測る
SUTVA / Interference 干渉なし ある個体への処置が他個体の結果に波及しないこと。空間データでは隣接地点へのスピルオーバーとして破れやすい
Confounding 交絡 処置と結果の双方に影響する第三の要因による、見かけの関係の歪み。X に入れて調整すべきものの正体
Nuisance Parameter 局外(ニュイサンス)パラメータ μ(·), e(X) 関心の対象そのものではないが、CATE を推定する途中で必要になる量。応答関数と傾向スコアがこれに当たる
Cross-fitting 交差適合 局外パラメータの学習と効果の推定を別々のデータで行う手続き。機械学習の過学習・正則化バイアスが効果推定に漏れるのを防ぐ
Heterogeneity 効果の異質性 τ(X) の X 依存 処置効果が対象によって違うこと。これが無ければ CATE を推定する意味がない(ATE で足りる)

 

**************************************
20260817 追記・修正


2026年1月2日金曜日

因果推論

データを眺めている段階で見つけやすいのが相関性。

AとBには相関性、線形性がある。というような内容は頻繁に出てきますし、お客様にも説明します。が、Aの増加がB向上の原因、というような因果関係としては話せません。にもかかわらず、そのように解釈される方は多々いらっしゃいます。

何か良い方法はないか?と探していたところ、因果推論という手法があることを知りました。Amazon で見てみると、多くの図書が販売されています。枯れた手法なのでしょう。冬休みに入る前に2冊購入し、休みの間読んでいました。

これがなかなか頭に入りません。いえ、もともと統計が好きでなかった私には向いていないのだと思います。が、交互に読めば(と言ってもまだ読み終わっていませんが)基本的な内容は理解できました。わからないところは LLM に投げる。これがなかったら途中で投げ出していたことでしょう。

まずは初歩的な用語を列挙。日本語の図書を読んでいますが、利用可能なツールは英語なので、併記しておきます。


因果推論:causal inference
処置:treatment
介入:intervention
処置群:treatment group / treated group
対照群:control group
エスティマンド:estimand

疑似相関:spurious correlation
交絡:confounding
選択バイアス:selection bias

因果ダイアグラム:causal diagram
有向非巡回グラフ:DAG (directed acyclic graph)
d分離:d-separation
チェーン:chain (X → M → Y)
フォーク:fork / common cause (X ← Z → Y)
コライダー:collider (X → C ← Y)
バックドア条件:backdoor criterion
フロントドア条件:frontdoor criterion

単調性制約と相互作用制約

これまでは予測性能向上を目的にモデルを組んできました。が、お客様からよく聞かれたのはその解釈性、これまでの知見との整合性、妥当性です。予測性能が下がっても、解釈性が良いモデルの方が求められる場合もあるでしょう。

簡単なのは専門知見をベースとした制約をモデルに加えることです。単調性制約と相互作用制約は、モデルの解釈性を高めるためのツールの一つです。すでに有名なフレームワークには実装されていますので、トレードオフを提示するのは容易でしょう。


1. 単調性制約 (Monotonicity Constraints)
概要: 特徴量と予測値の関係に、単調増加または単調減少という制約を課すもの。

単調増加: 特徴量の値が増加すると、予測値も増加
単調減少: 特徴量の値が増加すると、予測値は減少。

利点:
解釈性向上: モデルの挙動が直感的になり、説明可能性が高まる。
過学習抑制: 不自然な関係性を学習することを防ぎ、汎化性能の向上が期待できる。
ドメイン知識の活用: 特定の特徴量と予測値の関係について、専門家の知識をモデルに組み込むことができる。

実装: XGBoost、LightGBM、scikit-learnのGeneralized Linear Models など。モデルの学習時に、どの特徴量に対してどの単調性を適用するかを指定。


2. 相互作用制約 (Interaction Constraints)
概要: モデルが学習できる特徴量間の相互作用を制限するもの。特定の組み合わせの特徴量だけが相互作用を持つように制約できる。

利点: 単調性制約と同様(解釈性向上、過学習抑制、ドメイン知識の活用)。

種類:
禁止された相互作用 (Forbidden Interactions): 特定の組み合わせの特徴量間の相互作用を禁止する。
必須の相互作用 (Mandatory Interactions): 特定の組み合わせの特徴量間の相互作用を強制する。

実装: LightGBM、EBM (Explainable Boosting Machine) など。


やり残し事項 2025

冬休みに入り、依頼されていた査読を実施し、自身の成果を修正し、新たな計算を始め、必要な知識を仕入れていると年を越してしまいました。

2024年のやり残し事項は優先度低のみでした。
GPGPUに関してはSPHコードで取り組みましたがなかなか速くならず。プロに頼まないと速くならない点は理解していましたが、それでもと少しはと期待していました。難しいですね。
ということでDtransuのGPU化は取りやめ。地下水の仕事は別部署になってしましましたので、もう触ることはないかもしれません。
地表流ー地下水ー変形の連成はSPHで組みましたが、まだまだ実務で使えるレベルには到達していません。あと一歩なのですが、まだまだ難しそうです。これは優先度低のまま残しておきます。

短期目標には再び、「機械学習のスキル増強」を掲げましょう。性能、トレンドの変化が早すぎてなかなか追いつけませんでした。横のつながりが欲しいところです。

中期目標は順調。このまま続けます。

優先度中:機械学習のスキル増強
優先度低:流体+個体(不連続体+連続体)+振動

今年も歩みを止めないよう、進んで参ります。

2025年12月21日日曜日

図書:高リスク分野のための機械学習

最近、書店に赴く頻度が低くなりました。 
新知見を得られることが少なくなったからでしょうか。漸く一般的な技術論を習得する段階を卒業したと捉えてよいのかもしれません。

それでも、エッジデバイスや機械学習分野は私にとって新しく、まだまだ書店の図書や雑誌レベルでも役に立つことがあります。
久しぶりにAI要約でなく自力で読んだ図書です。気になったキーワード等を備忘録として残しておきましょう。

高リスク分野のための機械学習 - O'Reilly Japan

2章 解釈、説明
NIST AI RMF: 米国国立標準技術研究所 AI Risk Management Frarmework

信頼性:妥当性、有効性、安全性、管理されたバイアス、セキュリティ、透明性と説明責任、説明可能性と解釈可能性、などの特性をもつ。

説明可能性: どのような内部プロセスやメカニズムで出力を生成したか。
解釈可能性: 人間の背景知識を活用しながら心的表現として出力を捉える能力。AI側の説明が必要。

説明可能モデル: GAM、制約付きGBM
因果モデル: 予測対象と因果的に結びついた現象を立証可能な方法で表現。EconML

事後的説明
特徴量重要度: 大局的、プラスのみ
特徴量寄与度: 局所的、±
SHAP: Shapely Adaditive Explanations
shapely 値:平均予測からのオフセット(差分)。因果関係や解釈を導き出そうとするのは誤り。

AIインシデント 英国Aレベルテスト: 過去の学校成績に基づいて個々のスコアを調整するという考え方に透明性はあるものの、明らかに偏っている。


3章 安全性、性能
校正: 最後に0-1の範囲の数値を得たとしても、確率であるとは限らない。

ISO
信頼性: ある条件下で、ある時間間隔の下、故障することなく要求通りに機能する能力。
ロバスト性: 様々な状況下で性能レベルを維持する能力。

仕様不足: 適合するモデルが多数存在。ランダムシード、スレッド数、GPUの仕様数で性能が大きく変化。
残差分析: 予測とモデル誤差における特徴量重要度の比較 
感度分析:デプロイ後のモデル監視: データドリフト

AIインシデント 自動運転死亡事故: 成熟した安全文化の欠如


4章 バイアス
人間的・認知的バイアス
アンカリング
利用可能性ヒューリスティック: 容易に想起される事例を過大評価する傾向。思い出しやすさと正確さの混同。
ダニングクルーガー効果、インポスター症候群: 能力の低い人ほど自己スキルを過大評価。またはその逆。
グループシンク
マクナマラの誤謬: 数値化された情報のみに基づく意思決定

不利益な影響の比率: Adverse Impact Ratio, AIR 0.8

利用可能であるという理由だけで選ばれた観察データを説明可能性のないモデルに投入し、ある性能指標が最大化されるまでハイパーパラメータを調整し続けるーこれは「データサイエンス」と称されることがあるかもしれないが、科学そのものを実践しているとは言えない。
科学的方法の基本原則の一つは仮説が検証可能であり、実験が解釈可能であり、モデルが反証可能、あるいは少なくとも検証可能であるべきという点にある。

2重最適化: 損失関数に誤差項とバイアス項を含む。FairXGBoost


6章 構造化データ、モデル説明(SHAP)
経路依存型SHAP値
feature_perturbation="tree_path_dependent" (木構造の他のルートを利用する消し方。ex.スマホがないなら、記憶と地図を頼りに目的地へ行く。)
モデルが学習した、情報同士のつながり(相関)を考慮した上で結果を出す。
モデルの具体的な動き方に忠実な貢献度が分かる。

介入型SHAP値
feature_perturbation="interventional" (適当な値に置き換える、試す消し方。ex.スマホがないなら、とりあえず適当な方向に指示されたとして歩いてみる。)
情報同士のつながり(相関)を無視して、一つ一つの情報が単独で変わった場合を何度も試行。
特定の情報を一つだけ切り離した場合の、シンプルな貢献度が分かる。

基本はinterventionalを利用。当該モデルと学習データの分布の範囲でしか通用しないことを認識する。


7章 画像データ、モデル説明
ヒートマップ: Whereを示すにとどまり、How(どのように判断したのか)までは不明
説明可能モデル ProtoPNet, SENN: Howまで明示。
How が良い説明に不可欠な要素。

事後説明(post-hoc)によるロバスト性の確認: エッジ検出器と機能している可能性あり。
忠実性、ロバスト性、理解しやすい説明を求める場合には、説明可能なモデルを利用する。


8章 構造化データ、モデルデバッグ
正則化、単調性制約、グリッドサーチ、モデル選択
感度分析: ストレステスト(極端な入力値)
敵対的サンプル探索: ICE plot
残差分析: 残差の可視化、セグメントエラー分析、残差モデリング(決定木)

重要なのは、次にモデルを学習させる際には、必ずデバッグを試みるという姿勢である。


9章 画像データ、モデルデバッグ
リーク: ランダム分割(同一人物)、データ拡張(Alubumentations、Label-errors project)、転移学習
学習、検証、テスト分割後に学習データのデータ拡張を実施。
転移学習: 初回はトリミング前の画像。2回目にトリミング画像を利用。
ラベルの誤り: ドメイン専門家との連携、AUM
感度分析: ドメインシフト, BREEDS
学習段階においてデプロイ環境におけるすべてのリスクを事前に把握することは不可能。実際に発生しうる分布シフトに備えたモデルを構築する努力を。
敵対的サンプル攻撃: 高速勾配符号法 FGSM
ハイパーパラメータの摂動: GPU数、ランダムシード
複雑な学習処理事態を避ける: Pytorch Lightning