上期讨论完两种建模方式,这期讲一下经典的 Cox 回归,这个估计大家早就很熟悉了,但是这里还是需要梳理一下到底该怎么使用。
01 Cox回归概念
———————
在介绍Cox回归模型之前,先介绍几个有关生存相关的概念。
称为生存函数。生存函数 S(t,X) 又称为累积生存率。
- 死亡函数具有变量 X 的观察对象的生存时间 T 不大于某时刻 t 的概率,
![Topic 7. 临床预测模型--Cox回归](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20230605/5a5690e9c493be223f42064be8032ffa.png)
称为死亡函数。死亡函数 F(t,X) 的实际意义是当观察随访到 t 时刻的累积死亡率。
- 死亡密度函数具有变量X的观察对象在某时刻 t 的瞬时死亡率,称为死亡密度函数。
- 危险率(风险)函数具有变量 X,且生存时间已达到 X 的观察对象在时刻 t 的瞬时死亡率,
危险率函数 h(t,X) 实际上是一个条件瞬间死亡率 。
- *COX回归模型
Cox 回归模型,又称”比例风险回归模型(proportional hazards model,简称Cox模型)”,是由英国统计学家 D.R.Cox(1972) 年提出的一种半参数回归模型。该模型以生存结局和生存时间为因变量,可同时分析众多因素对生存期的影响,能分析带有截尾生存时间的资料,且不要求估计资料的生存分布类型。由于上述优良性质,该模型自问世以来,在医学随访研究中得到广泛的应用,是迄今生存分析中应用最多的多因素分析方法。
- 临床研究需求
在临床研究中,存在许多情况,其中几个已知量(称为协变量)可能影响患者预后。例如,假设比较两组患者:那些患者和没有特定基因型的患者。如果其中一组也包含较老的个体,则存活率的任何差异可归因于基因型或年龄或两者。因此,在研究与任何一个因素相关的生存时,通常需要调整其他因素的影响。
Cox 比例风险模型是用于对生存分析数据建模的最重要方法之一。该模型的目的是同时评估几个因素对生存的影响。换句话说,它允许我们检查特定因素如何影响特定时间点发生的特定事件(例如,感染,死亡)的发生率。该比率通常称为危险率。预测变量(或因子)通常在生存分析文献中称为协变量。风险比(HR)大于1表示与事件概率正相关的协变量,因此与生存期长度负相关。
- HR=1:无效;
- HR<1:减少危害 ;
- HR>1:危险增加。
02 实例分析
—— —— ——****
Cox 实例分析我们使用 GBSG2 研究观察结果的数据集,包括实例临床数据,这个数据框包含了乳腺癌患者 686 名女性的观察结果来自一篇1999年发表的文章,这种回归算法也是有定年龄了,而这些数据的说明通过 ?GBSG2 即可获得,包含如下信息:
- horTh:是否接受激素治疗;
- age:年龄
- menostat:绝经状态(两个水平上的一个因素绝经前(绝经前)和绝经后(绝经后));
- tsize:肿瘤大小;
- tgrade:肿瘤分级,I < II < III级为有序因子;
- pnodes:结节数量;
- progrec:黄体酮受体(fmol);
- estrec:雌激素受体(fmol);
- time:时间;
- cens:截尾指示器(0-截尾,1-事件)。
?GBSG2
Format
This data frame contains the observations of 686 women:
horTh
hormonal therapy, a factor at two levels no and yes.
age
of the patients in years.
menostat
menopausal status, a factor at two levels pre (premenopausal) and post (postmenopausal).
tsize
tumor size (in mm).
tgrade
tumor grade, a ordered factor at levels I < II < III.
pnodes
number of positive nodes.
progrec
progesterone receptor (in fmol).
estrec
estrogen receptor (in fmol).
time
recurrence free survival time (in days).
cens
censoring indicator (0- censored, 1- event).
Source
W. Sauerbrei and P. Royston (1999). Building multivariable prognostic and diagnostic models: transformation of the predictors by using fractional polynomials. Journal of the Royal Statistics Society Series A, Volume 162(1), 71–94.
对文件数据情况进行分析,并查看每列数据的属性,因子变量三个,其他为整数值型变量,如下:
#install.packages("TH.data")
data('GBSG2')
head(GBSG2)
horTh age menostat tsize tgrade pnodes progrec estrec time cens
1 no 70 Post 21 II 3 48 66 1814 1
2 yes 56 Post 12 II 7 61 77 2018 1
3 yes 58 Post 35 II 9 52 271 712 1
4 yes 59 Post 17 II 4 60 29 1807 1
5 no 73 Post 35 II 1 26 65 772 1
6 no 32 Pre 57 III 24 0 13 448 1
str(GBSG2)
'data.frame': 686 obs. of 10 variables:
$ horTh : Factor w/ 2 levels "no","yes": 1 2 2 2 1 1 2 1 1 1 ...
$ age : int 70 56 58 59 73 32 59 65 80 66 ...
$ menostat: Factor w/ 2 levels "Pre","Post": 2 2 2 2 2 1 2 2 2 2 ...
$ tsize : int 21 12 35 17 35 57 8 16 39 18 ...
$ tgrade : Ord.factor w/ 3 levels "I"<"ii"<"iii": 0 1 2 3 4 7 9 13 24 25 26 29 30 48 52 59 60 61 65 66 77 81 181 192 271 448 471 712 772 1807 1814 2014 2018 2161 2172 ... $ pnodes : int progrec estrec time cens summary(gbsg2) horth age menostat tsize tgrade no :440 min. :21.00 pre :290 3.00 i 1.00 yes:246 1st qu.:46.00 post:396 qu.: 20.00 ii :444 median :53.00 25.00 iii:161 mean :53.05 29.33 5.01 3rd qu.:61.00 35.00 7.00 max. :80.00 :120.00 :51.00 0.0 0.00 8.0 :0.0000 7.0 8.00 567.8 qu.:0.0000 32.5 36.00 :1084.0 110.0 96.25 :1124.5 :0.4359 131.8 114.00 qu.:1684.8 qu.:1.0000 :2380.0 :1144.00 :2659.0 :1.0000 < code></"ii"<"iii":>
乳腺癌患者是否接受激素治疗对生存期的影响因素,先对是否接受激素治疗进行生存分析即 Kaplan-Meier,结果 P=0.0034, 接受激素治疗的中位时间明显高于未接受激素治疗的患者,如下:
fit=survfit(Surv(time, cens)~horTh,data = GBSG2)
fit
Call: survfit(formula = Surv(time, cens) ~ horTh, data = GBSG2)
n events median 0.95LCL 0.95UCL
horTh=no 440 205 1528 1296 1814
horTh=yes 246 94 2018 1918 NA
ggsurvplot(fit, # 创建的拟合对象
data = GBSG2, # 指定变量数据来源
conf.int = TRUE, # 显示置信区间
pval = TRUE, # 添加P值
risk.table = TRUE, # 绘制累计风险曲线
surv.median.line = "hv", # 添加中位生存时间线
add.all = FALSE, # 添加总患者生存曲线
palette = "hue") # 自定义调色板
我们继续看还有哪些因素会影响生存期,利用上述结果做 Cox 模型并做森林图,"." 表示所有的变量,p=< 2.2e-16 表示模型显著,如下:
`
cox <- coxph(surv(time,cens)~.,data=”GBSG2)” summary(cox) call: coxph(formula=”Surv(time,” cens) ~ ., data=”GBSG2)” n=”686,” number of events=”299″ coef exp(coef) se(coef) z pr(>|z|)
horThyes -0.3462784 0.7073155 0.1290747 -2.683 0.007301
age -0.0094592 0.9905854 0.0093006 -1.017 0.309126
menostatPost 0.2584448 1.2949147 0.1834765 1.409 0.158954
tsize 0.0077961 1.0078266 0.0039390 1.979 0.047794 *
tgrade.L 0.5512988 1.7355056 0.1898441 2.904 0.003685
tgrade.Q -0.2010905 0.8178384 0.1219654 -1.649 0.099199 .
pnodes 0.0487886 1.0499984 0.0074471 6.551 5.7e-11
progrec -0.0022172 0.9977852 0.0005735 -3.866 0.000111
estrec 0.0001973 1.0001973 0.0004504 0.438 0.661307
Original: https://blog.csdn.net/weixin_41368414/article/details/122452355
Author: 桓峰基因
Title: Topic 7. 临床预测模型–Cox回归
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/630177/
转载文章受原作者版权保护。转载请注明原作者出处!