医療AIの論文では、モデルの説明変数・回帰係数・特徴量重要度・SHAP 値を見て、「この因子が予後を決める」「この介入を増やせばアウトカムが改善する」と書きたくなることがあります。しかし、これはとても危険です。
予測モデルの目的は、ある時点で得られる情報から、将来のアウトカムをできるだけ正確に推定することです。一方、因果推論の目的は、ある曝露や介入を変えたときにアウトカムがどう変わるかを推定することです。どちらも臨床研究で重要ですが、問いの立て方・変数選択・解析設計・解釈の言葉が異なります[4]。
本稿は、第9部「医療AI研究の落とし穴と対策」の第9記事です。09·05 多重比較・09·06 欠測バイアス・09·07 施設差・09·08 ショートカット学習 と密接につながります。予測モデルの内部では、臨床的に意味のある変数も、施設差や未来情報に近い変数も、すべて「当たる情報」として扱われます。そのため、モデルの中身を見たときほど、因果と予測を分けて考える必要があります。
// 01 · LEARN OUTCOMESこの記事で学ぶこと
- 予測研究と因果研究の目的・変数選択・評価指標・解釈の違いを説明できる。
- SHAP・特徴量重要度・回帰係数を「原因」と読んではいけない理由を 5 つの構造として理解する。
- 交絡 (confounder)・媒介 (mediator)・collider・治療後変数・未来情報が予測モデルの解釈に与える影響を整理できる。
- DAG を用いて、調整すべき変数とすべきでない変数を区別できる。
- target trial framework の考え方を理解し、予測モデルを因果推論に「昇格」させる条件を述べられる。
- 論文の Methods / Results / Discussion で因果語を避け、安全な表現で書ける。
// 02 · CONCLUSIONまず結論
// 03 · FIGURE因果と予測の違いを図で理解する
予測研究と因果研究は、似たデータを使っていても、答えようとしている問いが異なります。予測研究は「この患者はどうなりそうか」を問い、因果研究は「この介入をしたら、しなかった場合と比べてどう変わるか」を問います。
因果的に解釈するなら、変数同士の関係を考える必要があります。DAG (directed acyclic graph) は、その関係を視覚化する基本ツールです。予測モデルではすべての矢印を明示しなくても性能評価はできますが、因果的解釈には「どの変数が交絡・媒介・collider か」を区別することが必須です。
最後に、予測モデル研究で「因果誤読」を避けるためのワークフローを示します。最初に問いを分け、予測時点で使える情報だけを入力し、結果の言葉を制御する――この 3 ステップだけでも多くの誤読を防げます。
// 04 · CLINICALリハ・神経・整形領域での具体例
退院時 FIM 合計点や歩行自立の予測モデルでは、入院時 FIM・年齢・発症から入院までの日数・認知機能・麻痺重症度などが重要になることが多く、臨床的にも自然です。しかし、「入院時 FIM を上げれば退院時 FIM が上がる」とは単純には言えません。入院時 FIM は、脳損傷の重症度・併存疾患・意識障害・認知機能・発症前 ADL・急性期治療・社会背景など多くの情報を含む総合的な状態指標です。予測には非常に有用でも、それ自体を介入可能な単一原因として扱うのは不適切です。
リハ単位数がモデル内で重要だった場合、解釈は慎重に。重症例ほど単位数が多い/改善可能性が高い患者に多く実施される/早期退院できそうな患者では単位数が少ない/施設ごとに上限や運用が異なる、といった構造があります。これは典型的な 交絡 + 治療指示バイアス(confounding by indication) です。「単位数を増やせば改善する」と言うには、治療方針の決定過程・交絡・時間依存性・アウトカム測定時点を考慮した因果推論(IPTW、g-formula、target trial 等)が必要です。
PUL 動画解析で ST-GCN や MotionBERT の説明結果が「肩」「肘」「体幹」などに高い重要度を示すことがあります。これは、モデルが代償運動や課題遂行に関連する時相を捉えている可能性を示します。しかし、「肩の動きを変えれば PUL が改善する」とまでは言えません。動画モデルの重要部位は分類に役立った関節・時相であり、臨床的観察点としては有用ですが、介入効果を示すものではありません。リハ介入の効果を主張するには、介入前後・対照・時間経過・自然歴・治療薬の影響を切り分ける必要があります。
画像 AI で特定領域が予測に寄与したとしても、その領域が予後を直接決める病態因子とは限りません。撮影時期・撮影機種・重症例で撮影されやすい検査条件・急性期治療の選択・施設差などが影響している可能性があります(09·08 ショートカット学習 参照)。XAI のヒートマップは、仮説生成には有用ですが、病態メカニズムの証明ではありません。
// 05 · THEORY予測と因果の構造
予測研究と因果研究の対比
| 観点 | 予測研究 | 因果研究 |
|---|---|---|
| 主な問い | この患者の退院時 FIM や歩行自立を予測できるか | リハ介入や治療を変えるとアウトカムは改善するか |
| モデルに求めること | 未知データでの予測性能・較正・臨床的有用性 | 交絡を調整した効果推定・反実仮想比較 |
| 変数選択 | 予測時点で利用でき、性能向上に役立つ変数 | 曝露・アウトカム・交絡・媒介・collider の関係に基づく変数 |
| 評価指標 | AUC・RMSE・calibration・DCA | リスク差・リスク比・平均処置効果 (ATE)・信頼区間 |
| 必要な前提 | train/test 分布の類似性 | 交換可能性 (exchangeability)・positivity・consistency |
| 危険な解釈 | 重要変数を原因と読む | 予測性能だけで介入判断に使う |
なぜ重要度は原因を意味しないのか — 5 つの構造
特徴量重要度や SHAP 値は、モデルの予測における寄与を表します。これは因果効果とは別のものです。理由は少なくとも 5 つあります。
1. 交絡がある (confounding)
リハ単位数が多い患者ほど改善していたとしても、単位数が改善を引き起こしたとは限りません。重症度・病型・発症からの日数・施設方針・医師や療法士の判断・家族支援・退院先などが、単位数とアウトカムの両方に影響している可能性があります。
2. 逆方向の関係がある (reverse causation)
「補装具の使用」が歩行非自立と関連していても、補装具が歩行非自立を 引き起こす わけではありません。歩行能力が低いから補装具が処方された、という逆向きの関係です。臨床データではよく起こります。
3. 治療後変数・未来情報が混ざる (post-treatment variables)
退院時アウトカムを予測するモデルに、入院期間・退院調整の進行状況・退院直前の FIM・最終週のリハ量 を入れると、予測性能は上がるかもしれません。しかし、入院時に使う予測モデルとしては不適切です。予測時点より後の情報は、臨床実装時には使えません(09·02 リーケージ)。
4. 媒介変数を調整してしまう (over-adjustment for mediators)
治療が筋力を改善し、筋力改善が歩行を改善する、という構造があるとします。このとき、筋力改善をモデルに入れて治療効果を解釈すると、治療から歩行改善へ向かう 経路の一部を取り除いてしまう 可能性があります。予測では有用でも、因果効果の推定では媒介変数の扱いに注意が必要です。
5. collider を調整してしまう (collider bias)
入院や検査実施の有無は、複数の要因によって決まることがあります。選択された患者だけで解析したり、検査実施を条件にしたりすると、本来は関係のない変数の間に 見かけ上の関連 が生じます。これは選択バイアス・collider bias として有名な問題です。
target trial framework
観察データから因果効果を推定する際の規律として、Hernán & Robins[3] は target trial emulation を提唱しています。「もしこの問いを答えるために理想的なランダム化試験を実施するとしたら、どのような試験になるか」を先に設計し、観察データでその試験を 模擬 する手順です。
Target trial protocol の構成要素
▸ Eligibility criteria : 対象集団 (組入・除外)
▸ Treatment strategies : 比較する介入の定義
▸ Assignment procedures : 割り付け (観察データでは emulate)
▸ Follow-up start (T0) : zero-time の定義
▸ Outcome : アウトカム定義・測定時点
▸ Causal contrasts : ITT 効果 / per-protocol 効果
▸ Analysis plan : IPTW / g-formula / matching
予測モデル研究で因果語を使いたい誘惑にかられたら、「この target trial protocol を書けるか?」と自問するのが有効です。書けない部分があれば、そこを言葉で補強せず、結論を予測寄与にとどめます。
治療変数を予測モデルに入れてよいか
| 目的 | 治療変数の扱い | 注意点 |
|---|---|---|
| 入院時点で退院時アウトカムを予測 | 入院時点で未決定の治療量は基本的に入れない | 未来情報・治療後変数になりやすい |
| 通常診療下での予後を予測 | すでに決まっている治療方針や診療プロセスを含める場合がある | 別施設で運用が違うと性能低下しやすい |
| 治療選択を支援 | 治療ごとの反実仮想アウトカムを考える必要がある | 単なる予測モデルでは不十分なことが多い |
| 介入効果を推定 | 因果推論として設計する | 交絡・対象集団・比較条件・時点の定義が必要 |
「この患者は通常診療ならどの程度改善しそうか」を予測するモデルと、「A 治療と B 治療のどちらを選ぶべきか」を判断するモデルは別物です。後者には、治療を変えた場合の反実仮想アウトカムを考える枠組み(causal prediction model[4])が必要です。
// 06 · IMPLEMENTATION実装:DAG 設計・変数の役割の明示・XAI の位置づけ
予測モデル研究でも、変数の役割を明示することで因果誤読を減らせます。コードではなく 設計ドキュメント として、各変数を 5 つのカテゴリに分類して記録します。
# ============================================================
# 1) 変数の役割を明示するデータディクショナリ
# ============================================================
variable_roles = {
# 予測時点で利用可能・臨床的に妥当
"age": {"role": "baseline_predictor", "available_at": "T0"},
"baseline_fim": {"role": "baseline_predictor", "available_at": "T0"},
"days_from_onset": {"role": "baseline_predictor", "available_at": "T0"},
"nihss": {"role": "baseline_predictor", "available_at": "T0"},
# 治療変数 (目的により扱いが変わる)
"rehab_units_per_day": {"role": "treatment", "available_at": "during"},
# 治療後変数 (予測モデルでは未来情報)
"length_of_stay": {"role": "post_treatment", "available_at": "T_end"},
"discharge_planning": {"role": "post_treatment", "available_at": "T_end"},
# 媒介変数 (介入効果推定で要注意)
"muscle_strength_w4": {"role": "mediator", "available_at": "T_mid"},
# collider 候補 (条件付けに注意)
"imaging_performed": {"role": "collider_candidate", "available_at": "T0"},
# 施設・運用関連 (ショートカット候補)
"site_id": {"role": "site_meta", "available_at": "T0"},
"ward_id": {"role": "site_meta", "available_at": "T0"},
}
# T0 予測モデルに含めてよいもの
predictors_t0 = [v for v, m in variable_roles.items()
if m["available_at"] == "T0"
and m["role"] in ("baseline_predictor",)]
print(predictors_t0)
# → ['age', 'baseline_fim', 'days_from_onset', 'nihss']
# ============================================================
# 2) SHAP を「予測寄与」として扱うコード例
# 変数名と一緒に「役割」も併記し、論文での誤読を防ぐ
# ============================================================
import shap
import pandas as pd
# 通常の SHAP 計算
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X_test)
# 変数ごとの平均寄与度
mean_abs_shap = pd.DataFrame({
"feature": X_test.columns,
"mean_abs_shap": np.abs(shap_values).mean(axis=0),
"role": [variable_roles[c]["role"] for c in X_test.columns],
}).sort_values("mean_abs_shap", ascending=False)
print(mean_abs_shap.head(10))
# 表に role 列を併記することで、論文 Figure を見た読者が
# 「これは予測寄与であって因果効果ではない」と認識しやすくなる
# ============================================================
# 3) 予測モデルと因果推論を分けて検討するワークフロー
# ============================================================
# Step A: 予測モデル (T0 情報のみ・ベースライン予測子のみ)
pred_pipe.fit(X[predictors_t0], y)
auc_pred = roc_auc_score(y_test, pred_pipe.predict_proba(X_test[predictors_t0])[:, 1])
print(f"Prediction AUC : {auc_pred:.3f}")
# Step B: 因果効果の検討は別解析として明示
# 例: リハ単位数の効果を IPTW で推定する場合(疑似コード)
# from causalinference import CausalModel
# psm = LogisticRegression().fit(X[confounders], treatment)
# ps = psm.predict_proba(X[confounders])[:, 1]
# weights = treatment / ps + (1 - treatment) / (1 - ps)
# ate = (y * weights * treatment).sum() / weights[treatment==1].sum() \
# - (y * weights * (1-treatment)).sum() / weights[treatment==0].sum()
# 予測モデルの結果と因果効果の結果は、別 Figure・別段落で報告する
「SHAP の上位変数 = 介入標的」と図のキャプションに書かない。 SHAP の Figure には「これは予測寄与であり、因果効果ではない」とキャプションに明記します。Discussion で介入提案をする場合は、追加の因果推論研究・前向き介入研究が必要であることを併記します。
// 07 · MYTHS誤解と訂正
「SHAP の上位変数は予後因子・介入標的である」
SHAP はモデル予測への寄与度を示すもので、その変数を変えればアウトカムが変わる(因果効果)ことは意味しません。交絡・逆因果・治療後変数・媒介・collider のいずれかが背後にあれば、重要度と因果効果は乖離します。介入標的とするには target trial に耐える設計が必要です。
「AUC が高ければ、治療選択にもそのまま使える」
使えません。AUC は「現状の診療下でアウトカムを当てる力」であり、治療を変えた世界での予測は別問題です。治療選択の支援には、各治療オプションでの反実仮想アウトカムを推定する causal prediction model や、target trial で検証された効果推定値が必要です。
「予測モデルには DAG は不要」
性能評価だけなら DAG は必須ではありません。しかし、変数選択(治療後変数・媒介変数・collider を含めるか)と解釈(重要変数を原因と読むか)には DAG 的思考が必須です。予測でも「変数の役割」を明示することで、読者と査読者の誤読を減らせます。
「XAI で病変領域に反応していれば、病態メカニズムを示したことになる」
なりません。XAI は仮説生成のツールです。病態メカニズムの証明には、別の研究デザイン(実験・前向き研究・適切な交絡調整を伴う観察研究)が必要です。「予測に利用した手がかり」と「原因」を混同しないよう、Discussion の言葉を慎重に選びます。
// 08 · WRITING医療AI・リハビリ研究論文での書き方
避けたい表現 vs より安全な表現
| 避けたい表現 | より安全な表現 | 理由 |
|---|---|---|
| 〇〇は退院時 FIM を改善する 因子 であった | 〇〇は退院時 FIM の 予測に寄与した | 改善効果ではなく予測寄与を示す |
| SHAP により 予後因子 が明らかになった | SHAP によりモデルが予測に 利用した特徴 を可視化した | SHAP は因果効果を示さない |
| リハ単位数を 増やすべき である | リハ単位数は予測上重要だったが、介入効果の検証には別研究が必要 | 介入推奨には因果設計が必要 |
| この画像領域が予後を 決定する | この画像領域がモデルの予測に 影響した可能性がある | XAI は仮説生成に留まる |
| 重要変数なので 治療標的 である | 重要変数は 臨床的仮説の候補 であり、介入標的とするには追加検証が必要 | 予測と介入は別問題 |
Methods / Results / Discussion の記載テンプレート
「本研究は、退院時アウトカムを予測する臨床予測モデルの開発を目的とした。説明変数は、予測時点 (T0) で臨床的に利用可能な情報に限定した。治療後に得られる変数・退院時点に近い情報・アウトカムの代理となる可能性が高い変数は、主要モデルには含めなかった。特徴量重要度および SHAP 解析は、モデルの予測挙動を理解するための補助解析として実施し、因果効果の推定を目的としなかった。」
「SHAP 解析では、入院時 FIM、年齢、発症から入院までの日数が、モデルの予測に大きく寄与した(Fig. X)。これらの結果は、各変数がモデル内で予測に利用されたことを示すものであり、各変数の独立した因果効果を示すものではない。」
「本研究は予測モデル研究であり、特定の説明変数や介入の因果効果を推定する設計ではない。したがって、特徴量重要度の高い変数を直接的な介入標的として解釈することはできない。今後、リハビリ介入量や特定の運動パターンがアウトカムに与える効果を検証するには、交絡を考慮した因果推論研究(target trial emulation 等)または前向き介入研究が必要である。」
査読者が突っ込みやすい点
- 予測モデル研究なのに「因子」「効果」「改善させる」という因果語を使っていないか
- SHAP や特徴量重要度を、独立した予後因子として解釈していないか
- 治療後変数・退院直前の情報・アウトカムに近すぎる代理変数を入れていないか
- 入院時に使うモデルなのに、入院後にしか得られない変数が含まれていないか
- 治療やリハビリ量の効果を主張するなら、交絡や時間依存性をどう扱ったか説明しているか
- 重要変数を介入標的とする場合、追加研究が必要であることを Discussion に書いているか
- 予測モデルの臨床利用場面と、説明変数が得られる時点が一致しているか
- モデルの説明可能性を、病態メカニズムの証明と混同していないか
SHAP の解釈を Methods/Discussion でどう書くかは、13·04 論文の Methods を書くプロンプト のテンプレ D(PROBAST+AI 自己点検)が、因果と予測の混同を Limitations に書き分ける支援になります。
// 09 · CHECKLIST投稿前チェックリスト
解析開始時・投稿前の双方で確認したい項目です。
- 01研究目的が「予測」か「因果効果推定」かを明記した
- 02予測時点 (T0) とアウトカム時点を明確にした
- 03予測時点で利用できない変数を主要モデルから除外した
- 04治療後変数・媒介変数・collider・アウトカム代理変数を点検した
- 05治療変数を入れる場合、その目的(通常診療下予測 vs 治療選択支援)を明確にした
- 06SHAP や特徴量重要度を「因果効果」として解釈していない
- 07「予後因子」「改善因子」「効果」という言葉を慎重に使った
- 08変数の役割(baseline_predictor / treatment / post_treatment / mediator / collider)を明示した
- 09因果的解釈ができないことを限界として Discussion に記載した
- 10介入標的として提案する場合、追加検証(target trial 等)が必要であることを明記した
- 11XAI 結果を病態メカニズムの証明と混同していない
- 12予測モデルとしての位置づけを Methods / Results / Discussion で一貫させた
// 10 · QUIZミニクイズ
-
Q1SHAP で「入院時 FIM」が最重要だった。これは「入院時 FIM が退院時 FIM を改善させる原因」と言えるか?
- 言えない(SHAP は予測寄与であり因果効果ではない)
- 言える(重要度が高いから原因)
- AUC が 0.85 以上なら言える
- 外部検証で再現したら言える
SHOW ANSWER
A. SHAP はモデルの予測への寄与を示すもので、因果効果を示しません。入院時 FIM は重症度や全身状態の総合指標であり、予測には有用でも、単一の介入標的としては不適切です。 -
Q2リハ単位数が重要変数だった場合、「単位数を増やせば改善する」と書いてよいか?
- 予測研究だけでは書けない(交絡・治療指示バイアスの可能性)
- 書ける(重要変数だから)
- SHAP が大きければ書ける
- 単変量解析で有意なら書ける
SHOW ANSWER
A. 単位数は重症度・施設方針・改善見込み・入院期間などと関係します。介入効果を言うには、交絡や時間依存性を考慮した因果推論(IPTW、g-formula、target trial)または前向き介入研究が必要です。 -
Q3予測モデルに治療変数を入れることは常に間違いか?
- 常に間違いではない(通常診療下予測なら含める場合がある)
- 常に間違い
- 外部検証があれば常に正しい
- SHAP が小さければ問題なし
SHOW ANSWER
A. 通常診療下での予後予測が目的で、予測時点で治療方針が既に決まっているなら含める場合があります。ただし、治療選択の効果や介入推奨として解釈するなら、別の設計(causal prediction model)が必要です。 -
Q4XAI で病変部にヒートマップが出たら、病態メカニズムを証明したことになるか?
- ならない(XAI は仮説生成のツール)
- なる(病変部に反応している証拠)
- AUC が高ければなる
- 説明画像が滑らかならなる
SHOW ANSWER
A. ヒートマップはモデルが予測に利用した領域の手がかりを示す補助情報です。病態メカニズムや因果効果の証明には、別の実験・臨床研究・因果設計が必要です。
// 11 · FAQよくある質問
- SHAP で重要だった変数は予後因子と書いてよいですか?
- 書けません。SHAP はモデルの予測にその変数がどれだけ寄与したかを示すもので、その変数を変えればアウトカムが変わる(因果効果)ことは意味しません。「予測に寄与した」「モデル内で重要度が高かった」「アウトカムと関連した」と書きます。「予後因子」「改善因子」「効果がある」と書く場合は、研究デザインが因果推論に耐える設計(交絡調整・target trial 等)か確認します。
- 予測モデルに治療変数を入れるのは間違いですか?
- 目的によります。「通常診療下での予後を予測する」モデルでは、すでに決まっている治療方針を含めることがあります。一方、「入院時点で退院時アウトカムを予測する」モデルでは、入院後に決まる治療量は未来情報になります。さらに「治療選択を変えたらどうなるか」を問うなら、単なる予測モデルでは不十分で、反実仮想を扱う因果推論設計が必要です。
- XAI で病変にヒートマップが出たら、病態メカニズムを示したことになりますか?
- なりません。XAI(Grad-CAM、SHAP、特徴量重要度など)は、モデルが予測に利用した手がかりを可視化する補助情報です。病態メカニズムや因果効果の証明には、介入実験・前向き研究・適切な交絡調整を伴う観察研究といった、別の研究デザインが必要です。XAI は仮説生成のツールとして位置づけます。
- 予測モデルでも DAG を描く必要がありますか?
- 性能評価だけなら必須ではありませんが、強く推奨されます。DAG を描くことで、治療後変数や collider を誤って予測モデルに入れていないか、媒介変数を不適切に調整していないかを点検できます。論文でも、変数の役割(baseline_predictor / treatment / post_treatment / mediator / collider)を Methods や Supplementary に明示すると、読者と査読者の誤読を減らせます。
// REF参考文献
- Collins GS, Moons KGM, Dhiman P, Riley RD, Beam AL, Van Calster B, et al. TRIPOD+AI statement: updated guidance for reporting clinical prediction models that use regression or machine learning methods. BMJ 2024;385:e078378. — doi
- Moons KGM, Wolff RF, Riley RD, et al. PROBAST+AI: an updated quality, risk of bias, and applicability assessment tool for prediction model studies using regression or artificial intelligence methods. BMJ 2025;388:e082505. — doi
- Hernán MA, Robins JM. Causal Inference: What If. Chapman & Hall/CRC; 2020. — online
- van Geloven N, Swanson SA, Ramspek CL, et al. Prediction meets causal inference: the role of treatment in clinical prediction models. European Journal of Epidemiology 2020;35:619-630. — link
- Lederer DJ, Bell SC, Branson RD, et al. Control of Confounding and Reporting of Results in Causal Inference Studies. Annals of the American Thoracic Society 2019;16(1):22-28.
- Riley RD, van der Windt D, Croft P, Moons KGM. Prognosis Research in Healthcare: Concepts, Methods, and Impact. Oxford University Press; 2019.
- Molnar C. Interpretable Machine Learning. — online
- Hernán MA, Robins JM. Using Big Data to Emulate a Target Trial When a Randomized Trial Is Not Available. Am J Epidemiol 2016;183(8):758-764. — link