由英国统计学家Cox提出,全称为比例风险回归模型(proportional hazards model),用于研究某些因素对生存期的影响。
基本概念
1 生存函数
- 变量
- S(t,X) 表示观察对象的生存时间T大于某时刻t的概率,称为生存函数,又称为累积生存率。
- 意义:某时刻的存活人数除以队列的总人数。
2 死亡函数
- 意义:当观察随访到t时刻的累积死亡率,即累积死亡人数除以队列总人数。
3 死亡密度函数
- 某时刻t的瞬时死亡率,称为死亡密度函数。
- 意义:某时刻t的瞬时死亡速率(短时间内的死亡人数除以时间)除以队列总人数。
4 危险率(风险)函数
- 在时刻t存活的观察对象,在时刻t的瞬时死亡率,称为危险率函数。
- 意义:某时刻t的瞬时死亡速率除以t时刻的存活人数(实际上是一个条件瞬间死亡率)。
基本原理
模型建立
生存分析的主要目的在于研究变量X对生存事件观察结果的影响,观察结果一般用生存函数来表示。
-
不能直接以S(t,X)为因变量,以X为自变量进行线性回归的原因:
- 生存分析研究中的数据包含删失数据。
- 时间变量t通常不满足正态分布和方差齐性。
(回顾线性回归的基本假设:不完全共线性,方差齐性,无序列相关性,正态性,外生性)
- Cox比例风险回归模型:以风险率函数h(t,X)为因变量,建立指数形式的回归方程:
β称为自变量的偏回归系数,h0(t)称为基准危险率。
- Cox回归模型的优点:
- 未对h0(t)作任何假定,因此Cox回归模型在处理问题时具有较大的灵活性。
- 在许多情况下,即使h0(t)未知,仍可以估计出参数β。(意义:将时间和危险因素对风险函数的影响分开,仅仅研究危险因素对生存的影响,而不关心时间对生存的影响)
模型转化
公式(1)可以转化为广义线性模型,以便计算和解释:
基本假定
1 比例风险假定
各危险因素的作用不随时间的变化而变化,即
2 对数线性假定
对数风险比应与模型中的自变量应与呈线性关系:
偏回归系数的意义
偏回归系数βj解释了危险因素Xi 对相对危险度RR的影响:
- 若Xj是非暴露组观察对象的各因素取值,Xi 是暴露组观察对象的各因素取值,由公式(3)可以求出暴露组对非暴露组的相对危险度RR。
- 在其他危险因素不变的情况下,危险因素Xi每增加一个测定单位时,所引起的相对危险度的自然对数的改变量。即lnRRj=βj·△Xj,又即:
- 从公式(1)和公式(4)可以看出有如下关系:
- 若
- 若
- 若
- 若
参数估计与假设检验
- 其他自变量不变的情况下,变量Xj每增加一个单位,相对危险度RRi的(1-α)置信区间为:
Sβj表示βj的标准误。
- 若置信区间内包含1,则认为Xj在(1-α)置信水平上对RR没有显著影响。
对于回归模型的假设检验通常采用似然比检验、Wald检验和记分检验,其检验统计量均服从卡方分布,其自由度为模型中待检验的自变量个数。
用R语言进行Cox回归分析
1.安装软件包并加载
install.packages(c("survival","survminer"))
library("survival")
library("survminer")
2.调用内置数据
data("lung")
3.计算回归
res.cox<-coxph(Surv(time,status)~sex+ph.karno+ph.ecog, data=lung)
summary(res.cox)
4.作图
ggforest(res.cox,main="hazard ratio",cpositions=c(0.02,0.22,0.4),fontsize=0.8,refLabel="reference",noDigits=2)
生存分布图
通过Cox回归找到了感兴趣的危险因素之后,用R语言画出生存分布图。
- 构建surfut生存对象
fit<- survfit(Surv(time, status) ~ sex, data = lung)
- ggsurvplot函数绘制生存曲线
ggsurvplot(fit, data = lung)
· Ends
参考资料
百度百科:COX回归模型
:R语言生存分析 Cox回归模型survival analysis
:用R语言进行Cox回归生存分析
:R语言生存分析03-Cox比例风险模型