Cox 比例ハザードと制限付き 3 次スプラインモデル
井口豊(生物科学研究所,長野県岡谷市)
最終更新: 2023 年 3 月 11 日
1. はじめに
生存時間解析の代表的なモデルとして,Cox 比例ハザード(cox proportional hazard, CPH)が良く知られている。簡単に, Cox 回帰とも呼ばれる。ただし,これは文字通り,比例ハザードが成り立つことを前提としたモデルなのだが,実際には,そのようにならないこともある。ここでは,そのような例を取り上げて,制限付き 3 次スプライン(restricted cubic spline, RCS)回帰モデルを適用してみる。
2. Cox 回帰と制限付き 3 次スプライン回帰に対する比例ハザード性の検定
議論を単純にするために,単変量 Cox 回帰を考える。データには,統計ソフト R のパッケージ survival の原発性胆汁性胆管炎データ pbc (Mayo Clinic Primary Biliary Cholangitis Data) を利用し,年齢 age を説明変数として利用した。 status は便宜上, 0 (censored) とそれ以外に分けた。
作図には,パッケージ survminer を利用し,比例ハザード性の検定には, Schoenfeld 残差検定を使った。なお,この検定結果をグラフ化する ggcoxzph 関数の信頼区間(2 SE で近似)にはバグがあり, GitHub から修正プログラムが出ている。以下のサイト参照。
具体的なスクリプトは以下のようになる。
#############
# パッケージとデータ
library(survival)
library(survminer) # 修正プログラム
library(rms)
library(cowplot)
dat<- na.omit(pbc)
head(dat)
# Cox 回帰
cox.mod<- cph(
Surv(time, status > 0) ~ age, data = dat
)
anova(cox.mod)
# 比例ハザード性の Schoenfeld 残差検定
cox.ph <- cox.zph(cox.mod)
cox.ph
pcox.ph<- round(cox.ph$table[1,3], 2)
# RCS 回帰
k <- with(dat, quantile(age, c(0.25, 0.5, 0.75)))
rcs.mod<- cph(
Surv(time,status > 0) ~ rcs(age, k),
data = dat
)
anova(rcs.mod)
# 比例ハザード性の Schoenfeld 残差検定
rcs.ph <- cox.zph(rcs.mod)
rcs.ph
prcs.ph<- round(rcs.ph$table[1,3], 2)
# Schoenfeld 検定グラフ
g.coxph_test<- ggcoxzph(cox.ph[1], main = "")
g.rcsph_test<- ggcoxzph(rcs.ph[1], main = "")
plot_grid(
print(g.coxph_test), print(g.rcsph_test),
labels = c(
paste("Cox, Schoenfeld test p = ", pcox.ph),
paste("RCS, Schoenfeld test p = ", prcs.ph)
)
)
# 年齢の相対ハザード比グラフ
ddist <- datadist(dat)
options(datadist = "ddist")
g.cox<- plot(
Predict(cox.mod, age), ylim = c(-1, 1.5)
)
g.rcs<- plot(
Predict(rcs.mod, age), ylim = c(-1, 1.5)
)
plot_grid(
g.cox, g.rcs,
labels = c("Cox model", "RCS model")
)
################
結果は以下の通りである。 まず,年齢に対する Schoenfeld の比例ハザード性検定の結果を示す。
単純な Cox 回帰(グラフ左)では,その前提である比例ハザード性が満たされないが, RCS 回帰(グラフ右)では,それが満たされることが分かる。両者のグラフを比べると,上部(高年齢のデータ)では,ほぼ同様な分布になっているが,下部(低年齢のデータ)では, RCS 回帰のほうが密集した分布になっていることが分かる。
次に,年齢と相対ハザードの関係のグラフである。
単純な Cox 回帰(グラフ左)と比べて, RCS 回帰(グラフ右)では,低年齢では相対ハザードの変化が緩やかであることが分かる。