← 統計検定テキスト 一覧

📊 対象級:1級 | 重要度:B(標準)

交絡の調整

要点(BLUF)


交絡とは何か:共通原因という構造

交絡(confounding)は「曝露 E と結果 D の関連を、第3の因子 C が歪めている」状態です。歴史的な定番例は「コーヒー(E)と肺がん(D)」。コーヒーをよく飲む人ほど肺がんが多い、という関連が観察されたとします。しかし喫煙(C)はコーヒー摂取とも肺がんとも結びついています。喫煙者ほどコーヒーを飲み、喫煙者ほど肺がんになる。すると喫煙を無視した分析では、本当は喫煙のせいである肺がんリスクの一部がコーヒーのせいに見えてしまいます。これが交絡です。

交絡因子と呼べるための条件は、伝統的に次の3つです。

flowchart LR
    C["交絡因子 C<br/>(例: 喫煙)"]
    E["曝露 E<br/>(例: コーヒー)"]
    D["結果 D<br/>(例: 肺がん)"]
    C -->|条件1: Eと関連| E
    C -->|条件2: Dの独立リスク因子| D
    E -.->|"見かけの関連<br/>(一部はCが作る)"| D
  1. C は曝露 E と関連している(曝露群と非曝露群で C の分布が違う)
  2. C は結果 D の独立した危険因子である(曝露の有無に関わらず D に影響する)
  3. C は E から D への因果経路の中間にない(C は E の結果ではない=中間変数でない)

3つ目が最重要かつ最も間違えやすい条件です。もし C が「E によって引き起こされ、その C が D を引き起こす」中間変数(mediator, 媒介変数)なら、それは交絡ではなく因果経路そのものです。これを調整すると、本来見たい曝露の効果(中間変数を通じた効果も含む)を消してしまいます。詳しくは下の引っかけポイントで扱います。

要するに:交絡因子とは「曝露と結果の共通の原因」。共通の原因が背後にあると、原因→曝露と原因→結果の2本の矢が、あたかも曝露→結果の矢があるかのような見かけを作る。

因果構造を矢印で描く DAG(有向非巡回グラフ)の観点では、交絡は E ← C → D という「バックドアパス(裏口経路)」の存在として表現されます。このパスを C で塞ぐ(条件づける)ことが「調整」の本質です。DAGによる交絡の定式化は 統計的因果推論・傾向スコア で扱う傾向スコア法と地続きで、傾向スコアは多数の交絡因子を1次元に圧縮して調整する手法です。


シンプソンのパラドックス:交絡の劇的な現れ

交絡が極端に効くと、全体で見た関連の向きと、層別して見た関連の向きが逆転することがあります。これがシンプソンのパラドックスです。

具体例(数値は説明用の作り物)。ある治療 A と B の成功率を比べます。

治療A 成功/総数治療A 成功率治療B 成功/総数治療B 成功率
軽症の患者81 / 8793%234 / 27087%
重症の患者192 / 26373%55 / 8069%
全体(合算)273 / 35078%289 / 35083%

軽症でも重症でも治療Aの方が成功率が高い(93%>87%、73%>69%)。ところが全体を単純合算すると治療Bの方が高く見えます(83%>78%)。各層では一貫してAが優れているのに、合算すると逆転する。これがパラドックスです。

なぜ起きるか。ここでの交絡因子は重症度です。治療Aは重症患者に多く使われ(263人)、治療Bは軽症患者に多く使われた(270人)。重症は元々成功率が低い。つまり「重症度」が「治療の選択」と「成功率」の両方に効いている典型的な交絡です。合算という操作は、この交絡を無視して2群を混ぜてしまうため、重症割合の差が治療効果の差に化けます。

flowchart LR
    S["重症度<br/>(交絡因子)"]
    T["治療の選択<br/>(A or B)"]
    R["成功/失敗"]
    S -->|重症ほどAを選びやすい| T
    S -->|重症ほど失敗しやすい| R
    T -.->|見かけ: Bが優勢に化ける| R

要するに:層ごとの真の関係を信じるべきで、合算した全体の数字を信じてはいけない場合がある。どちらを信じるかは「層別変数が交絡因子か」で決まる。重症度のような交絡因子で層別したなら、層別側が正しい。

シンプソンのパラドックスは「交絡を調整しないとどれほど結論が変わりうるか」を示す警告として、1級でも概念問題として問われます。重要なのは「層別した方を信じる根拠は、層別変数が結果の原因かつ群分けと関連しているから(=交絡だから)」という理屈を言えることです。


層別解析:交絡因子で層を切る

最も直接的な調整法は層別解析(stratified analysis)です。交絡因子の値ごとに集団を層に分け、各層の中では交絡因子が一定になるようにして、層内で曝露と結果の関連を評価します。上のシンプソンの例で「軽症」「重症」に分けて各々で成功率を比べたのが、まさに層別解析です。

層別すると各層は「交絡因子が揃った小集団」になるので、層内では交絡が消えます。問題は層がたくさんできると各層のサンプルが小さくなり、層ごとの推定が不安定になること、そして層別の結果(層ごとのオッズ比など)を最終的に1つの数字にまとめたいことです。そのまとめ方が次の標準化とマンテル-ヘンツェル推定量です。


標準化:率を共通の基準に揃える

標準化(standardization)は、率(死亡率・罹患率など)を比べたいときに、交絡因子(典型的には年齢構成)の違いを取り除く方法です。2つの集団の年齢構成が違うと、粗死亡率(crude rate)をそのまま比べても年齢の影響が混ざります。これを揃えるのが標準化で、直接法間接法の2通りがあります。

直接法(direct method)

直接法は、観察集団の年齢階級別死亡率を、共通の標準人口に当てはめて、もし標準人口がこの集団の死亡率で死んだら全体の死亡率はいくらになるかを計算します。

年齢階級を i=1,,ki=1,\dots,k、標準人口の各階級人口を NiN_i、観察集団の各階級の死亡率を mim_i とすると、直接法による年齢調整死亡率は

調整死亡率(直接法)=iNimiiNi\text{調整死亡率(直接法)} = \frac{\sum_{i} N_i \, m_i}{\sum_{i} N_i}

分子 iNimi\sum_i N_i m_i は「標準人口 NiN_i が観察集団の死亡率 mim_i で死んだときの総死亡数」、分母 iNi\sum_i N_i は標準人口の総数です。比較したい複数の集団それぞれについて、**同じ NiN_i(共通の標準人口)**を使ってこの計算をすれば、年齢構成の差が消え、純粋に死亡率の差だけが残ります。

要するに:直接法は「みんな同じ年齢構成(標準人口)だったら、各集団の死亡率はどうなる?」を計算して比べる。観察集団から借りるのは”率”、固定するのは”人口構成”。

間接法(indirect method)と SMR

間接法は逆向きです。標準人口(基準集団)の年齢階級別死亡率を、観察集団の年齢構成に当てはめて、もし観察集団が標準人口と同じ死亡率なら何人死ぬはず(=期待死亡数)かを計算し、それを実際の死亡数と比べます。この比が**標準化死亡比(SMR: Standardized Mortality Ratio)**です。

観察集団の各階級人口を nin_i、標準人口の各階級死亡率を MiM_i とすると、期待死亡数 EE

E=iniMiE = \sum_{i} n_i \, M_i

「観察集団の人口 nin_i が、標準集団の死亡率 MiM_i で死んだら何人死ぬか」の総和です。観察された実際の総死亡数を OO(observed)とすると、

SMR=OE=観測死亡数期待死亡数=idiiniMi\mathrm{SMR} = \frac{O}{E} = \frac{\text{観測死亡数}}{\text{期待死亡数}} = \frac{\sum_i d_i}{\sum_i n_i M_i}

did_i は観察集団の各階級の実死亡数で O=idiO=\sum_i d_i。慣例で100を掛けて百分率表示することも多い。)SMRが1(または100)より大きければ「標準集団より死亡が多い」、小さければ「少ない」と読みます。

要するに:間接法(SMR)は「この集団が標準集団並みの死に方をしたら何人死ぬはず(期待)か」を出し、実際の死者数がその何倍かを見る。観察集団から借りるのは”人口構成”、固定するのは”率”。直接法とちょうど借り物が逆。

直接法と間接法の使い分け

両者の役割分担は次の通りです。

直接法間接法(SMR)
観察集団から使うもの年齢階級別死亡率 mim_i年齢階級別人口 nin_i
標準人口から使うもの年齢階級別人口 NiN_i年齢階級別死亡率 MiM_i
必要な情報観察集団の階級別死亡率が必要観察集団の総死亡数と階級別人口でよい
向く場面集団が大きく階級別率が安定集団が小さく階級別死亡数が不安定
集団間の直接比較同じ標準人口なら可能SMR同士の単純比較は原則不可※

※間接法のSMRは集団ごとに「自分の年齢構成」を重みに使うため、厳密には集団間でSMRを直接比べることは保証されません(重みが違うため)。一方、直接法は全集団で共通の標準人口を使うので集団間比較に向きます。これが両者の本質的な違いで、小集団では各階級の死亡率がゼロや極端値になって直接法が壊れるため、総死亡数だけで済む間接法(SMR)を使う、という使い分けになります。


マンテル-ヘンツェル要約推定量:層を超えた共通効果

層別2×2表(曝露の有無×結果の有無を、交絡因子の層ごとに作った表)を、1つの共通オッズ比やリスク比に要約するのがマンテル-ヘンツェル(Mantel-Haenszel, MH)推定量です。各層 ii の2×2表を次のように置きます。

ii結果あり結果なし
曝露ありaia_ibib_i
曝露なしcic_idid_i
nin_i

ここで ni=ai+bi+ci+din_i = a_i + b_i + c_i + d_i は層 ii の総数です。共通オッズ比のMH推定量は

ORMH=iaidi/niibici/ni\mathrm{OR}_{MH} = \frac{\displaystyle\sum_i a_i d_i / n_i}{\displaystyle\sum_i b_i c_i / n_i}

リスク比のMH推定量は

RRMH=iai(ci+di)/niici(ai+bi)/ni\mathrm{RR}_{MH} = \frac{\displaystyle\sum_i a_i (c_i + d_i) / n_i}{\displaystyle\sum_i c_i (a_i + b_i) / n_i}

要するに:各層で「曝露と結果が同じ向きに動いたペア aidia_i d_i」と「逆向きのペア bicib_i c_i」を数え、層の大きさ nin_i で割って重みづけし、層をまたいで合計してから比を取る。各層のオッズ比を、層のサイズと均衡で重みづけした加重平均になっている。

なぜこの形なのか(重みの意味)

ORMH\mathrm{OR}_{MH} がなぜ各層のオッズ比の加重平均と言えるかを見ます。層 ii の標本オッズ比は OR^i=(aidi)/(bici)\widehat{\mathrm{OR}}_i = (a_i d_i)/(b_i c_i) です。wi=bici/niw_i = b_i c_i / n_i と置くと、

ORMH=iaidi/niibici/ni=i(aidi/bici)(bici/ni)ibici/ni=iOR^iwiiwi\mathrm{OR}_{MH} = \frac{\sum_i a_i d_i / n_i}{\sum_i b_i c_i / n_i} = \frac{\sum_i (a_i d_i / b_i c_i)\,(b_i c_i / n_i)}{\sum_i b_i c_i / n_i} = \frac{\sum_i \widehat{\mathrm{OR}}_i \, w_i}{\sum_i w_i}

きれいに重み wi=bici/niw_i = b_i c_i / n_i による各層オッズ比の加重平均になります。重みは層のサイズが大きいほど、また表のセルが詰まっている(bicib_i c_i が大きい)ほど大きくなります。つまり情報量の多い層ほど重く扱う、という統計的に自然な重みづけです。さらにMH推定量は、いずれかのセルがゼロでも分母が直ちにゼロにならない(他の層が支える)という頑健さがあり、層が多くサンプルが薄い疫学データに強いのが特徴です。

コクラン-マンテル-ヘンツェル(CMH)検定

要約した共通オッズ比が1か(=層調整後に曝露と結果が独立か)を検定するのがCMH検定です。各層で「期待されるセル度数」と「観測度数」のズレを層をまたいで合算し、カイ二乗統計量を作ります。層 ii の周辺度数を使って aia_i の期待値と分散を求め、

χCMH2=(iaiiE(ai))2iVar(ai),E(ai)=(ai+bi)(ai+ci)ni\chi^2_{CMH} = \frac{\left(\sum_i a_i - \sum_i E(a_i)\right)^2}{\sum_i \mathrm{Var}(a_i)}, \quad E(a_i) = \frac{(a_i+b_i)(a_i+c_i)}{n_i}

として自由度1のカイ二乗分布で評価します(Var(ai)\mathrm{Var}(a_i) は超幾何分布に基づく分散)。

要するに:各層で「曝露あり・結果ありの実数 aia_i」が、独立を仮定したときの期待値からどれだけズレているかを層全体で足し上げ、そのズレが偶然で説明できるかを見る検定。層別解析の最終的な有意性判定にあたる。

CMH検定とマンテル-ヘンツェル推定量は、層別2×2表の解析というカテゴリカルデータ解析の中核で、カテゴリカルデータ解析の応用 のロジスティック回帰とも目的が重なります(後述)。


回帰調整との関係:3つの手段は同じ目的

層別・標準化・回帰調整は、すべて「交絡因子を一定にして曝露の効果を見る」ための手段で、互いに対応します。

graph TD
    G["交絡の調整<br/>(交絡因子を一定にして曝露効果を見る)"]
    G --> S["層別解析<br/>層ごとに見る"]
    G --> ST["標準化<br/>率を共通基準に揃える"]
    G --> R["回帰調整<br/>共変量としてモデルに入れる"]
    S --> MH["マンテル-ヘンツェル要約<br/>(層別2x2を1つに)"]
    ST --> DIR["直接法"]
    ST --> IND["間接法 (SMR)"]
    R --> LOG["ロジスティック回帰<br/>(調整オッズ比)"]
    R --> COX["Cox回帰<br/>(調整ハザード比)"]

実務では「ロジスティック回帰でまとめて調整するのが標準だが、層が少なく交絡因子が1つならマンテル-ヘンツェルが透明でよい」「率の比較なら標準化」と使い分けます。


交絡 vs 効果修飾:調整すべきか、層別提示すべきか

交絡と並んで必ず問われるのが**効果修飾(effect modification, 交互作用 interaction)**との区別です。両者は「層別すると見え方が変わる」点で似ていますが、意味も対処も正反対です。

flowchart TD
    Q{"層別すると各層の<br/>効果(OR等)が大きく違う?"}
    Q -->|いいえ: 層間で効果はほぼ同じ| C["交絡の可能性<br/>→ 調整して1つに要約<br/>(MH・回帰)"]
    Q -->|はい: 層で効果の向き/大きさが違う| E["効果修飾の可能性<br/>→ まとめず層別に提示<br/>(交互作用項を報告)"]

判断の手順は、まず層ごとのオッズ比などを見て層間で大きく異なるかを確認します(CMH検定の前提として、層の均一性をブレスロー-デイ検定などで調べる)。層間で効果がほぼ同じなら交絡として要約してよい。層で効果が大きく違うなら効果修飾なので、共通オッズ比に要約すること自体が誤りで、層別に「若年ではOR=3.0、高齢ではOR=1.0」のように報告します。

要するに:交絡は「邪魔者だから調整して消す」、効果修飾は「現象そのものだから分けて見せる」。同じ層別という操作でも、目的が真逆。マンテル-ヘンツェルで1つにまとめてよいのは効果修飾がない(層が均一な)ときだけ。

研究デザインの段階では、交絡は限定・マッチング・無作為化(ランダム化)でも対処できます。無作為化が交絡を防ぐ最強の方法であることは 疫学研究デザイン で扱う通りで、ランダム化により測定済み・未測定を問わずあらゆる交絡因子が群間で平均的に均等化されます。観察研究ではこれができないので、本ノートの解析的調整が必要になります。


試験での問われ方(1級)

医薬生物学分野での出題は、概念の同定と具体的な計算の両方が問われます。

計算問題では桁を間違えやすいので、各層の寄与を一度表に展開してから足すのが安全です。


⚠️ 引っかけ・頻出論点


よくある疑問(Q&A)

Q1. 交絡因子は「曝露と結果の両方に関連する変数」と覚えていれば十分ですか。 A. 不十分です。それだと中間変数も該当してしまいます。決定的なのは3つ目の条件「曝露から結果への因果経路の中間にない(=共通原因である)」です。共通原因 E ← C → D は調整すべき交絡、中間変数 E → M → D は調整してはいけない経路。両方とも「曝露・結果の双方に関連」しますが、矢印の向きが違います。向きを意識してください。

Q2. 層別解析と回帰調整はどちらが正しいのですか。 A. どちらも交絡を調整する正しい手段で、対応します(交互作用がなければマンテル-ヘンツェルの共通オッズ比とロジスティック回帰の調整オッズ比は同じものを推定)。層別は分布に仮定を置かず透明ですが、交絡因子が多い・連続だと層が増えて破綻します。回帰は複数の連続な交絡因子を一度に扱えますがモデルの形の仮定が要ります。交絡因子が1つで離散なら層別(MH)、複数や連続なら回帰、というのが実務の目安です。

Q3. SMRが120だったら「死亡率が標準集団の1.2倍」と言ってよいですか。 A. 「もしこの集団が標準集団と同じ年齢別死亡率だったときに期待される死亡数の1.2倍が実際に死んだ」という意味です。年齢構成の差を取り除いた相対的な多さを表すので「年齢調整したうえで標準集団より2割多い」という解釈で概ね正しいです。ただし他の集団のSMRと単純比較するのは(重みが集団ごとに違うため)慎重に。

Q4. 効果修飾があるとき、なぜ共通オッズ比を出してはいけないのですか。 A. 効果修飾とは「層によって効果が本当に違う」状態です。例えば若年でOR=3、高齢でOR=0.5なら、これを平均してOR=1.2のような単一値にすると「全体としては少し有害」という、どの層にも当てはまらない誤ったメッセージになります。効果が層で違うこと自体が重要な発見なので、まとめずに層別に報告します。CMH検定やマンテル-ヘンツェル要約は「層が均一(効果修飾なし)」を前提にしている点に注意。

Q5. 無作為化試験なら交絡の調整はいらないのですか。 A. 理屈上、無作為化が成功すれば測定済み・未測定を問わず交絡因子が群間で平均的に均等化されるので、調整なしの単純比較で不偏な効果が得られます。これが無作為化の最大の利点です。ただし現実には偶然の偏り(特に小規模試験)が残ることがあり、事前に指定した重要な共変量で調整した解析を併せて報告するのが一般的です。観察研究では無作為化ができないため、本ノートの解析的調整が必須になります。


まとめ


関連ノート