生存時間

時間依存性共変量を考慮したCox比例ハザードモデルについて徹底解説

はじめに

Cox比例ハザードモデル(Cox proportional hazards model)は、生存時間解析の代表的手法として、製薬業界の臨床試験や安全性評価で広く用いられています。
しかし、標準的なCoxモデルは共変量が追跡期間中に一定であることを前提としています。現実の臨床データでは、治療開始・中止、バイタルサインやバイオマーカーの変動など、時間とともに変化する因子が多く存在します。これらを無視すると、推定結果にバイアスが生じる可能性があります。
そこで登場するのが時間依存性共変量(time-dependent covariates)を組み込んだCoxモデルです。本稿では、その理論、実装、解釈、注意点を、製薬企業の実務者向けに整理します。

標準的なCox比例ハザードモデル

標準的なCox比例ハザードモデルは次式で表されます。

\[h(t|X) = h_0(t) \exp\{\beta_1 X_1 + \beta_2 X_2 + \dots + \beta_p X_p\}\]

  • \(h(t|X)\):時刻 t におけるハザード(瞬間的リスク)
  • \(h_0(t)\):基準ハザード関数(共変量を含まない部分)
  • \(X_j\):共変量(ベースラインで固定)
  • \(\beta_j\):回帰係数(HR = e^{\beta_j})

この時、共変量は以下の前提条件が成り立っています。

  • ベースライン(研究開始時点)から変わらない前提
    ex) 性別や前治療等
  • 変わったとしても、被験者一括で変わる
    ex) 年齢
  • 変わったとしても、ランダムに発生するため、群間比較の上では無視できる
    ex)身長や体重等

下記でCox比例ハザードモデルについては解説しております。

Cox比例ハザードモデル入門〜数式から実務応用まで〜Cox比例ハザードモデル(Cox Proportional Hazards Model)は、共変量を考慮しつつイベント発生リスクを推定できる柔軟な回帰モデルとして広く用いられています。...

時間依存性共変量

そもそも時間依存性共変量とは何かについて説明していきます。時間依存性共変量とは「アウトカムに影響を与える因子が時間とともに変化する」という共変量です。
例えば、新治療薬に効果があるかを検討する臨床試験を想定します。そこで、レスキュー薬を使用しているか使用していないかでアウトカムに影響が出るような共変量がそれに該当します。下記の例だとレスキュー薬を使用した時のほうがEvent発生が遅くなるため、アウトカムに影響が出ていると判断できます。

時間依存性共変量を導入すると、モデルは次のように拡張されます。

\[h(t|X(t)) = h_0(t) \exp\{\beta_1 X_1(t) + \beta_2 X_2(t) + \dots\}\]

ここで \(X_j(t)\) は時刻 t における共変量の値です。

シナリオ時間依存性共変量の例分析目的
治療切替試験治療AからBへの切替有無切替後のイベントリスク評価
市販後安全性副作用発現の有無副作用発現後の死亡リスク
バイオマーカー解析CRP値、腫瘍径値の変動と予後の関連

Rでの実装例

library(survival)
library(dplyr)

# データ読み込み
data(pbc) # ベースライン
data(pbcseq) # 追跡中の臨床検査(縦断)

# 欠測や治療割付不参加を除外(pbcのドキュメントに準拠した典型的な前処理)
pbc0 <- pbc %>%
filter(!is.na(time), !is.na(status)) %>%
mutate(
status = as.integer(status == 2), # 死亡=1, それ以外=0
sex = factor(sex) # 性別を因子化
)

# ベースとなる「観察開始=0, 観察終了=time」のフレーム
tm <- tmerge( data1 = pbc0 %>% select(id, time, status, age, sex),
data2 = pbc0 %>% select(id, time, status),
id = id,
death = event(time, status) # 終了時点の死亡イベント
)

# 縦断データ(pbcseq)の測定時刻をタイムラインへ投入
# 測定のたびに区間を切り、最新のbili/albuminをキャリー
tm <- tmerge( tm, pbcseq %>% select(id, day, bili, albumin),
id = id,
bili = tdc(day, bili),
albumin = tdc(day, albumin)
)

#tmergeの結果は(start, tstop]の区間データ
head(tm)

library(survival)
cox_td <- coxph(Surv(start, stop, event) ~ treat + biomarker, data = df)
summary(cox_td)

モデル式:

\[ [ h(t) = h_0(t)\exp{\beta_1 \cdot \text{bili}(t) + \beta_2 \cdot \text{albumin}(t) + \beta_3 \cdot \text{age} + \beta_4 \cdot \text{sex}} ]\]

解釈の目安

  • biliの係数 > 0: ビリルビン上昇で死亡ハザード増加
  • albuminの係数 < 0: アルブミン上昇で死亡ハザード低下
  • 係数の指数関数が「ハザード比」。標準化しているので「1 SD上昇あたりのHR」として読みやすくなります
  • 「治療開始後のリスク低下」や「バイオマーカー上昇に伴うリスク増加」など、時間的変化を反映した解釈が可能。
  • ベースライン固定モデルと異なり、「治療群 vs 対照群」という単純比較ではなく、「ある時点での状態」に基づく比較になる。

注意点

時間依存性共変量を考慮した解析を行う際には以下の注意点がございます。

逆因果性(Reverse Causation)

イベント発生が近づくと共変量が変化する場合、因果解釈が困難になります。例:病状悪化に伴い治療が開始される。

測定間隔の粗さ

測定間隔が長いと、変化時点の推定誤差が増加し、推定精度に影響。

比例ハザード性の確認

時間依存性共変量を入れても、他の変数の比例ハザード性は検証が必要。

まとめ

今回は時間依存性共変量を考慮したCox比例ハザードモデルについて解析してきました。
時間依存性共変量を組み込んだCox比例ハザードモデルは、治療開始やバイオマーカー変動、副作用発現など、時間とともに変化する因子を解析に反映できる手法です。推定されるハザード比は「その時点の状態」に基づく瞬間的なリスク比であり、逆因果性や測定間隔、比例ハザード性の検証といった注意点が重要です。
製薬実務では、治療切替後の有効性・安全性評価や予後予測など、多様な場面で有用な解析アプローチです。

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