22  Cox比例风险模型

Cox比例风险模型是一种半参数方法

22.1 风险函数

\[ \begin{aligned} h(t)=&\lim_{\Delta t\to 0}\frac{P(t\le T<t+\Delta t|T\ge t)}{\Delta t}\\ =&\lim_{\Delta t\to 0}\frac{P(t\le T<t+\Delta t\ \&\ T\ge t)}{\Delta t·P(T\ge t) }\\ =&\lim_{\Delta t\to 0}\frac{S(t)- S(t+\Delta t)}{\Delta t·S(t)}\\ =&-\frac{d(\ln S(t))}{dt} \end{aligned} \]

22.2 风险率

对于有风险因子\(x_1,x_2,...,x_k\) 的个体在时间 t 的风险率\(h(t|x_1,x_2,...,x_k)\)

\[ h(t|x_1,x_2,...,x_k)=h_0(t)g(x_1,x_2,...,x_k)=h_0(t)exp(\sum_{j=1}^k\beta_jx_j) \]

其中

  1. \(h0 (t)\)是给定所有风险因子(协变量)为零的随时间变化的基线风险函数

  2. \(g(X)\)k个独立风险因子的集合函数,代表变量的风险效应。

  3. \(β_j\)是部分回归系数,表示风险比的比例变化。

22.3 比例风险假设

(proportional hazards assumption)

\[ \frac{h(t)}{h_0(t)}=exp(\sum_{j=1}^k\beta_jx_j) \]

22.4 风险比(hazard ratio)

假设有两个个体,分别具有独立变量,两个个体的风险函数之比称为风险比

\[ HR=\frac{h(t|x_1,x_2,...,x_k)}{h(t|x_1^*,x_2^*,...,x_k^*)}=exp(\sum_{j=1}^k\beta_j(x_j-x_j^*)) \]

Code
df <- read_csv("data/log-rank-survival.csv")


library(survminer)
library(survival)
# 使用 Kaplan-Meier 方法创建一个Surv对象
surv_formula <- Surv(Days,status)~treatment

# 拟合Cox比例风险模型 
cox_model <- coxph(surv_formula, data = df)  
# 查看模型结果 
summary(cox_model)  
#> Call:
#> coxph(formula = surv_formula, data = df)
#> 
#>   n= 56, number of events= 39 
#> 
#>                       coef exp(coef)  se(coef)      z Pr(>|z|)    
#> treatmentDPVB    -2.740141  0.064561  0.580664 -4.719 2.37e-06 ***
#> treatmentLDRT    -0.383558  0.681432  0.387499 -0.990    0.322    
#> treatmentLR_DPVB -4.632850  0.009727  0.878661 -5.273 1.34e-07 ***
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#>                  exp(coef) exp(-coef) lower .95 upper .95
#> treatmentDPVB     0.064561     15.489  0.020688   0.20148
#> treatmentLDRT     0.681432      1.467  0.318848   1.45634
#> treatmentLR_DPVB  0.009727    102.807  0.001738   0.05444
#> 
#> Concordance= 0.822  (se = 0.025 )
#> Likelihood ratio test= 61.41  on 3 df,   p=3e-13
#> Wald test            = 36.01  on 3 df,   p=7e-08
#> Score (logrank) test = 60.47  on 3 df,   p=5e-13
# 检查比例风险假设 
cox.zph(cox_model)
#>           chisq df    p
#> treatment 0.833  3 0.84
#> GLOBAL    0.833  3 0.84

22.4.1 模型系数的估计

条件死亡概率和局部似然函数方法

\[ \ln L_p(\beta)=\sum_{i=1}^{d}\left[ \sum_{j=1}^k\beta_jx_{ij}-\ln\sum_{m\in R_i}exp( \sum_{j=1}^k\beta_jx_{mj}) \right] \]

Newton-Raphson iterative method

\[ \begin{cases} \frac{\partial \ln L_p(\beta)}{\partial \beta_1}=0\\ \frac{\partial \ln L_p(\beta)}{\partial \beta_2}=0\\ \vdots\\ \frac{\partial \ln L_p(\beta)}{\partial \beta_k}=0\\ \end{cases} \]

22.4.2 模型系数的假设检验

  1. Wald‘s test

    检验是否有独立变量需要被消除,统计量\(Z=b_j/S_{b_j}\)

    当样本量足够大时,Z服从标准正态分布,Z2 服从自由度为1 的\(\chi^2\) 分布

    \[ \chi^2_W=(b_j/S_{b_j})^2\sim \chi^2(1) \]

  2. Partial likelihood Ratio test

    主要用于非显著性变量的消除,新变量的引入和模型的比较。

    \[ \chi^2_{LR}=2\left[ \ln L_p(\beta_k)-\ln L_p(\beta_{k-1}) \right]\sim\chi^2(1) \]

    其中分别是包含 k 个和 k-1 个(不包含要检验的第 j 个变量)独立变量的对数局部似然函数