💡 この記事でわかること
  • 傾向スコア分析とは何か、なぜ観察研究で必要になるのか
  • 傾向スコアをロジスティック回帰で推定する方法
  • マッチング・逆確率重み付け(IPTW)・層別化の3つの活用戦略と使い分け
  • Rの MatchIt パッケージを使った傾向スコアマッチングの実装
  • 共変量バランス(SMD)の確認方法と実務での注意点

はじめに

ランダム化比較試験(RCT)が実施できない場面では、観察研究やリアルワールドデータ(RWD)を用いた解析が求められます。しかし観察データには「交絡(confounding)」という問題が避けられません。交絡とは、治療群と対照群が比較可能でない状態、すなわちベースライン特性に系統的な差がある状態を意味します。

傾向スコア分析(Propensity Score Analysis)は、この交絡を統計的に調整するための手法です。治療割り付けの確率を共変量から推定した「傾向スコア」を使って、比較可能なグループを擬似的に作り出します。製薬業界では、医薬品の市販後調査・リアルワールドエビデンス(RWE)の構築・比較有効性研究において極めて重要な技術となっています。

傾向スコアとは何か

傾向スコア(Propensity Score)は、観測された共変量 X のもとで、ある個体が治療群に割り付けられる条件付き確率として定義されます。e(X) = P(T=1|X) と表記し、T は治療割り付け(1:治療群、0:対照群)を意味します。直感的には、「似たような特徴を持つ患者どうしを比べれば、RCTに近い比較ができる」というアイデアです。

⚠️ 注意:傾向スコアで調整できる交絡は「観測された」共変量のみ

未観測の交絡因子(unmeasured confounders)が存在する場合、傾向スコア分析でも交絡を完全には除去できません。RCTとは本質的に異なる点として必ず意識しておく必要があります。

傾向スコアの推定と3つの活用戦略

最も一般的な推定方法は、治療割り付け T を目的変数、共変量 X を説明変数としたロジスティック回帰です。ロジスティック回帰の詳細については、2値変数とロジスティック回帰:理論・実装・解釈までの実践ガイドもあわせてご参照ください。

手法概要推定する効果主な特徴・用途
マッチング傾向スコアが近い対照群の個体を治療群に1対1で対応づけるATT(治療群における平均処置効果)直感的に解釈しやすい。対照群の標本が十分にある場合に有効
逆確率重み付け(IPTW)傾向スコアの逆数を重みとして使用し、疑似集団を作成するATE(集団全体の平均処置効果)全標本を活用できる。傾向スコアが0や1に近い場合は重みが極端になりやすい
層別化傾向スコアを5〜10程度の区間に分割し、層ごとの効果を推定・統合するATE または ATT分布全体を活かしつつ交絡を調整

Rによる傾向スコアマッチングの実装

Rでは MatchIt パッケージが標準的なツールです。lalonde データセット(職業訓練プログラムの収入効果を評価した古典的な観察研究データ)を使って解説します。

ステップ1:パッケージ読み込みとデータ確認

library(MatchIt)
library(dplyr)
data("lalonde", package = "MatchIt")
dim(lalonde)        # [1] 614  9
table(lalonde$treat) # 0:429  1:185
📝 解釈・補足
合計614名のデータで、治療群185名・対照群429名という不均衡なデータです。このような状況では単純な比較が意味をなさず、傾向スコアによる交絡調整が不可欠です。

ステップ2:傾向スコアマッチング(最近傍マッチング)

m.out <- matchit(treat ~ age + educ + race + married + nodegree + re74 + re75,
                 data = lalonde, method = "nearest", ratio = 1)
summary(m.out, standardize = TRUE)
# マッチング前: re74のSMD = -0.596(大きな不均衡)
# マッチング後: 全変数のSMD ≤ 0.05(良好なバランス)
📝 解釈・補足
マッチング後はすべての共変量でSMDが0.05以下となり、治療群と対照群が良好にバランスされています。一般に SMD ≤ 0.1 を「十分なバランス」の目安 とします。

ステップ3:マッチング後のアウトカム解析

matched_data <- match.data(m.out)
fit <- lm(re78 ~ treat + age + educ + re74 + re75, data = matched_data, weights = weights)
summary(fit)$coefficients
# treat: Estimate=1548.32, p=0.0237 *
📝 解釈・補足
傾向スコアマッチングによって交絡を調整した後、職業訓練プログラムの収入への効果は +1,548ドル(p = 0.024) と推定されました。共変量調整後も統計的に有意な効果が認められています。

実務でのポイント

🔑 傾向スコア分析を実務で使う際の重要ポイント

① 共変量の選択が最重要
アウトカムと治療割り付けの両方に関連する変数を含める必要があります。操作変数(instrumental variable)を誤って含めるとバイアスが増大します。

② バランスチェックは必須
マッチング・重み付けの後は、必ずSMDやLove plotでバランスを確認してください。傾向スコアモデルのAUCではなく、共変量バランスの質で評価することがポイントです。

③ Common Supportを確認する
傾向スコアの分布が治療群と対照群で大きく離れている場合、推定が不安定になります。ヒストグラムで重複を確認しましょう。

④ 規制当局への提出では感度分析も検討する
RWEを申請資料に活用する場合、E値などによる感度分析を合わせて実施することが推奨されます。Estimandを理解するためにもあわせて参照ください。

📚 この記事をより深く理解するための参考書籍

『臨床試験ハンドブック デザインと統計解析』丹後俊郎・上坂浩之(朝倉書店)

臨床試験および観察研究の設計・解析を体系的に学べる一冊です。傾向スコア分析を含む交絡調整の方法論が詳しく解説されており、製薬企業の生物統計担当者が実務で直接参照できます。

『データ解析のための統計モデリング入門』久保拓弥(岩波書店)

GLM・混合モデルなどの統計モデリングの基礎をRコード付きで学べます。本記事で使用したロジスティック回帰の理論的背景を深く理解したい方に最適です。

『臨床試験の事典』丹後俊郎(朝倉書店)

傾向スコア・比較有効性研究・選択バイアスなどのトピックをすばやく参照するのに便利です。

関連記事・次のステップ

まとめ

本記事では、傾向スコア分析の基礎から実装まで解説しました。傾向スコアは観察研究における交絡を調整する強力なツールです。マッチング・IPTW・層別化という3つの活用戦略を目的に応じて使い分けることが重要です。

Rでは MatchIt パッケージを使うことで、傾向スコア推定・最近傍マッチング・バランスチェックまでを一貫して実行できます。マッチング後のSMDがすべて0.05以下と良好なバランスが得られ、職業訓練プログラムの収入効果(+1,548ドル、p = 0.024)が統計的有意に推定されることを確認しました。

製薬業界では、市販後調査・リアルワールドエビデンス・比較有効性研究において傾向スコア分析の重要性が増しています。未観測交絡への感度分析も含めた包括的な解析設計で、信頼性の高いエビデンスを構築していただければと思います。

次回は逆確率重み付け(IPTW)を使った集団全体の平均処置効果(ATE)の推定について詳しく解説します。

ABOUT ME
tomokichi
外資系製薬会社で生物統計家として働ている1児のパパ。生物統計家とは何か、どのようなスキルが必要か、何を行っているのかを共有していきたいと思っております!生物統計に関する最新情報を皆様にお届けすべく、日々奮闘中です。趣味は筋トレ、温泉巡り、家族と散歩。