查看原文
其他

详细教程:基于Cox回归模型构建疾病风险评分工具

龚志忠 医咖会 2021-01-15

2015年BMJ杂志发表了题为《Transparent reporting of a multivariable prediction model for individual prognosis or diagnosis (TRIPOD): the TRIPOD statement》的论文,即TRIPOD声明,对于疾病诊断和预后的预测模型研究统一了报告规范。随着疾病预防关口的前移,越来越多的研究者关注疾病预测模型的研究,评分工具作为一种简便快速的评价方法,得到了广泛的应用


在前期的教程中,我们介绍了基于Logistic回归模型构建疾病风险评分工具的方法(戳这里:《正苦恼如何构建疾病风险评分工具?别怕,有教程!》)。但有时我们在研究中要考虑事件发生的时间因素,需要采用Cox回归来构建疾病预测模型,本期我们就来介绍基于Cox回归模型构建疾病风险评分工具的方法。

研究实例

我们以D’Agostino等人2001年发表在JAMA期刊的一篇研究为例(《Validation of the Framingham Coronary Heart Disease Prediction Scores:Results of a Multiple Ethnic Groups Investigation》),该研究利用多种族人群的数据,对Framingham冠心病预测评分工具进行了验证。


我们选取其中FHS队列白人男性的数据结果进行说明,队列共包含2439名健康男性,年龄30-74岁,随访长达10年,观察研究对象冠心病的发病情况。研究人员采用多因素Cox回归模型进行分析,最终筛选纳入模型的危险因素包括:年龄、血压、总胆固醇(TC)、高密度脂蛋白胆固醇(HDL-C)、吸烟、糖尿病。 

步骤

1. 构建多因素Cox回归模型


通过构建多因素Cox回归模型,将我们主要考虑的危险因素纳入到回归模型中,从而估计各个危险因素的回归系数β。


同时,计算各个危险因素的均值,或者危险因素每个分类所占的比例,我们在后面的第7步中会用到这部分数值,这里先留下一个伏笔。


例如在本例研究中,年龄为连续型变量,计算研究人群的平均年龄为48.3岁。HDL虽然也为连续型变量,但研究人员对HDL进行了分组,将其转化为分类变量。共分为5组,每组所占的比例分别为19%、36%、15%、19%、11%,并且以中间一组(HDL 45-49)作为参照组(Base)。

 

 

2. 将各个危险因素进行分类,并指定每组的参考值Wij


我们按照临床意义或使用习惯将各个危险因素进行分组,并在每个分组中选择合适的数值作为参考值Wij,通常选择组内的中间值作为参考值。


例如在本例中,研究人群的年龄范围为30-74岁,我们按照5岁一个年龄段来进行划分,共分为9组,每组选择中间值为参考值Wij,例如30-34岁这一组的参考值Wij为(30+34)/ 2=32。


在本例中,吸烟和糖尿病为二分类变量,而血压、TC和HDL在构建Cox回归模型时,研究人员已经事先进行了分组,转换为了哑变量,因此统一设定状态为No时的参考值Wij为0,Yes时为1。

 

 

3. 确定各个危险因素的基础风险参考值WiREF


对于每一个危险因素,我们需要选择一个合适的分组来作为基础风险参考值WiREF,在后续构建评分工具时,该组分值将记为0分,危险因素的值高于WiREF时记正分,得分越高则风险越高,相反低于WiREF时记负分。


例如在本例研究中,对于年龄变量,我们可以选择年龄为42岁作为基础风险参考值WiREF

 


4. 计算每一个危险因素的分组与基础风险参考值之间的距离D


结合多因素Cox回归模型估计的回归系数βi,以及危险因素各组的参考值Wij,来计算危险因素的每一分组与基础风险参考值WiREF之间的距离D,计算公式为D=(Wij-WiREF)*βi


例如在本研究中,年龄的基础风险参考值WiREF为42,在Cox回归中年龄对应的回归系数βi为0.0533,那么对于50-54岁组,其参考值Wij为52,该组与基础风险参考值的距离D为(52-42)* 0.0533=0.5330。

 

 

5. 设定评分工具中1分对应的常数B


我们需要设定评分工具中每记1分时,对应的各个危险因素变化的距离常数。


例如在本例中,如果我们设定年龄每增加5岁时记为1分,那么此时常数B=5*0.0533=0.2665


6. 计算危险因素每个分类对应的分值Pointsij


在第5步确定常数B的基础上,来计算危险因素每一个分类所对应的分值,计算公式为Pointsij=D/B=( Wij-WiREF)*βi /B,最后将计算出来的数值四舍五入取整,即为该组对应的分值。


例如在本研究中的年龄50-54组,其计算的分数为0.533/0.2665=2分。

 

 

7. 计算总分与风险预测概率的对应表


根据第6步的结果,可以将每个危险因素的分值相加来计算总分,理论上每个危险因素取最低值时,可以得到总分最低值为(-2)+0+(-1)+(-2)+0+0= -5,同理可得到总分最高值为6+3+3+2+3+2=19,因此总分的范围为:-5~19分。


然后再根据多因素Cox回归模型的方程,来计算每一分值对应的风险预测概率值,计算公式如下:

 


在第5步中我们设定了年龄每增加5岁时记为1分,年龄的回归系数为0.0533,基础风险参考值WiREF为42,因此我们可以估算公式中对应的数值,其中:

 

 

此外,公式中S0(t)表示10年平均生存率,本例中根据原始数据采用Kaplan-Meier方法可算出S0(t)=0.943(见步骤1中的表格)。


最终即可计算出总分与风险预测概率的对应表,如下表所示。

 


评分工具

与Cox回归模型结果比较

风险评分工具已经做好,为了进一步验证它的准确性,我们举一个实例,来比较一下评分预测结果与原始的Cox回归模型预测的结果之间的差距


例如有一名患者,63岁,收缩压130mmHg,舒张压85mmHg,总胆固醇TC为215,HDL为48,糖尿病史,否认吸烟,根据评分系统里各个危险因素的分值,分别记为4、2、2、2和0分,总分为10分,根据刚刚做好的评分工具,可以得出其对应的风险概率为15.64%。

 

我们再根据多因素Cox回归模型进行一次计算:


         

对应的风险概率值为 



可以看出,评分工具与Cox回归模型预测结果之间仅仅只相差1%,满足疾病风险预测评估的要求,而且应用起来也很直观和便捷。


至此,我们已经介绍完了分别利用Logistic和Cox回归模型构建疾病风险评分工具的方法,两者步骤基本相同,但在细节上也有一些区别,希望能够给大家的临床研究带来一些帮助。

 

参考文献:

[1] JAMA. 2001; 286(2):180-7.

[2] Journal of Anti-aging Medicine. 2001; 296:180-7

 

更多阅读

1. 教你用R画列线图,让预测模型结果可视化!

2. 正苦恼如何构建疾病风险评分工具?别怕,有教程!

3. 比较两个疾病模型的预测能力,AUC和NRI了解一下?

医咖会微信:medieco-ykh

关注医咖会,提升临床研究水平~


快加小咖个人微信(xys2018ykf),拉你进统计讨论群和众多热爱研究的小伙伴们一起交流学习。


点击左下角“阅读原文”,看看医咖会既往推送了哪些统计教程。或者使用电脑打开网址:http://www.mediecogroup.com/,查看70种SPSS教程。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存