科研星球

危险因素评分预测模型是怎么制作出来的?

医学研究里,我们经常会碰到各种危险因素评分预测模型,比如5年冠心病预测模型,10年中风预测模型等等。这些模型通常借助几个简单易测的问题进行打分,从而可以较为方便,准确的预测未来几年某类患者患某病的概率。对于这种评估工具,我们姑且称之为危险因素评分预测模型。


(一)是个啥?  

危险因素评分预测模型到底是个啥?如果您从来没有接触过,我们举个栗子。比如,我问问你的年龄、性别、种族、总胆固醇、高密度脂蛋白胆固醇、血压、高血压、糖尿病史以及吸烟等情况,基于此打分后,我就可以给出一个你未来10年患心脏病的概率是多少。这就是依据一些疾病的危险因素来建立预测模型,从而预测未来的健康走势。

0.jpg
↑某心脏病预测工具

例如,一位30岁男性,总胆固醇210,高密度脂蛋白胆固醇80,血压118/88,无高血压、糖尿病史且不吸烟的测试者10年后患心脏病的概率为0.1%。哈哈,健康吧!不用猜了,没错,就是我本人啊,哈哈啊。

0 (7).jpg
↑某心脏病预测工具报告

网上你可以搜到各研究开发的各样的预测工具,从方法到形式不一。比如,除了上面网页版的,还有Excel版的,更有App版的,比如世界卒中组织的中风预测工具就有一个App版。

0 (6).jpg
↑Excel版卒中预测工具

0 (5).jpg↑App版卒中预测工具

尽管形式多,花样俏,对于大众最关心的,问几个问题打打分,就去预测未来疾病的风险,靠谱吗?有依据吗?


(二)有依据吗?

严谨的危险因素评分预测模型,都是基于大型队列研究开发出来的。比如,最负盛名的「Framingham  Heart Study」,就开发了各种疾病的评分预测模型,而且相应的文章都发表在经同行评议的学术期刊上。


这么高大上的预测模型,背后的方法一定很复杂吧?非也。这些模型的背后,其实都是基于非常常见的统计模型。对于事件的预测,我们知道,常见的无非就是Logistic模型,如果再考虑事件的时间的话,那也就是Cox回归模型。这些危险因素评分预测模型,其实也就是基于这些模型开发出来的。


0 (2).jpg
↑Framingham Heart Study的评分预测模型总揽


(三)怎么弄的?

这么高大上,我们自己也弄一个行不行?当然可以。不过,我们先看看别人是怎么开发评分预测模型的吧。我们就以业界标杆研究「Framingham  Heart Study」为例来进行说明吧。

比如,我们就以性别,年龄,收缩压,现在是否吸烟(Sex,Age,SBP,current smoker)做logistic回归来预测5年后的冠心病(CHD)风险。

怎么做?不要着急,下面一步一步来。


1. 进行多因素logistic回归估算各危险因素的系数这个不用多言吧,SAS的Proc logistic,不会SAS的点点SPSS也可以。「Framingham  Heart Study」给出的例子的结果如下:

0 (1).jpg
↑logistic回归估算系数

2. 连续变量切割分组,以组中值作为参考值,分类变量如果是多分类无序,设置哑变量,编码0,1化。例如,Age就是9岁为一组切割,对于30-39岁的,就以组中值34.5为此组的参考值。

0 (8).jpg
连续变量切割分组,以组中值作为参考值

3. 确定所有危险因素的基础风险参考值。所谓基础风险参考值的意思是:如果病人的某个危险因素取值为此值,则危险打分为0,越高于此值,打分越高,风险越高。本例,我们以30-39岁,女性,SBP120-129,非吸烟状态做为基础风险状态。
0 (3).jpg
基础风险参考值

4. 计算每一危险因素的分类距离基础风险的距离D通常以某一回归系数为单位乘以组间距来衡量。例如,本例中,拿age来说,是以30-39最组为基础风险的,所以距离基础风险10个单位的40-49岁组的距离是:D=10*age的回归系数=10*0.0575=0.5750,后面的以此类似。对于二分类变量,基础风险为0,距离即是回归系数。

0 (9).jpg计算风险距离

5. 设定打1分的单位距离B。本例假定5岁的距离B= 5*0.0575=0.2875为一个单位,得1分。


6. 给每一危险因素的分类打分Point,得分Point=D/B。例如,40-49岁组据基础风险组30-39岁组的距离D是0.5750,则得分Point=D/B=0.5750/0.2875=2,故此类风险得分为2,其余类似。
0 (4).jpg
计算每类得分

7. 制作总得分与概率的对照表。总得分可以直接把得分相加得到。概率P可以依据公式计算。需要留意的是BiXi 的总和计算时,不仅需要B*Point Total,还需要加上常数项以及各类基础风险参考值*系数。


0 (10).jpg
↑logistic概率计算公式
0 (11).jpg
BiXi 和的计算

基于此,本例得分从-1到19分的风险就可以计算出来了,从而得到如下的打分对应表。


640.jpg
↑风险评分
0 (12).jpg
风险得分与风险对照表


至此,一个风险评分模型已经大功告成了。举几个例子,看看。得分系统算出出来的概率和老老实实logistic回归算出的概率的差异如何?


一个55岁,非吸烟男性,SBP135的患者,风险评分10,5年内得CHD的概率是0.0338,与老老实实logistic回归算出的概率0.0280只差一个百分点。

0 (14).jpg
↑一个栗子 比较风险评分模型与logistic实际结果          

再举一个栗子,还是只差一个百分点。
0 (15).jpg
  一个栗子 again                          



没有账号?