医学研究里,我们经常会碰到各种危险因素评分预测模型,比如5年冠心病预测模型,10年中风预测模型等等。这些模型通常借助几个简单易测的问题进行打分,从而可以较为方便,准确的预测未来几年某类患者患某病的概率。对于这种评估工具,我们姑且称之为危险因素评分预测模型。危险因素评分预测模型到底是个啥?如果您从来没有接触过,我们举个栗子。比如,我问问你的年龄、性别、种族、总胆固醇、高密度脂蛋白胆固醇、血压、高血压、糖尿病史以及吸烟等情况,基于此打分后,我就可以给出一个你未来10年患心脏病的概率是多少。这就是依据一些疾病的危险因素来建立预测模型,从而预测未来的健康走势。例如,一位30岁男性,总胆固醇210,高密度脂蛋白胆固醇80,血压118/88,无高血压、糖尿病史且不吸烟的测试者10年后患心脏病的概率为0.1%。哈哈,健康吧!不用猜了,没错,就是我本人啊,哈哈啊。网上你可以搜到各研究开发的各样的预测工具,从方法到形式不一。比如,除了上面网页版的,还有Excel版的,更有App版的,比如世界卒中组织的中风预测工具就有一个App版。
↑App版卒中预测工具尽管形式多,花样俏,对于大众最关心的,问几个问题打打分,就去预测未来疾病的风险,靠谱吗?有依据吗?
严谨的危险因素评分预测模型,都是基于大型队列研究开发出来的。比如,最负盛名的「Framingham Heart Study」,就开发了各种疾病的评分预测模型,而且相应的文章都发表在经同行评议的学术期刊上。
这么高大上的预测模型,背后的方法一定很复杂吧?非也。这些模型的背后,其实都是基于非常常见的统计模型。对于事件的预测,我们知道,常见的无非就是Logistic模型,如果再考虑事件的时间的话,那也就是Cox回归模型。这些危险因素评分预测模型,其实也就是基于这些模型开发出来的。
↑Framingham Heart Study的评分预测模型总揽这么高大上,我们自己也弄一个行不行?当然可以。不过,我们先看看别人是怎么开发评分预测模型的吧。我们就以业界标杆研究「Framingham Heart Study」为例来进行说明吧。比如,我们就以性别,年龄,收缩压,现在是否吸烟(Sex,Age,SBP,current smoker)做logistic回归来预测5年后的冠心病(CHD)风险。
1. 进行多因素logistic回归估算各危险因素的系数。这个不用多言吧,SAS的Proc logistic,不会SAS的点点SPSS也可以。「Framingham Heart Study」给出的例子的结果如下:2. 连续变量切割分组,以组中值作为参考值,分类变量如果是多分类无序,设置哑变量,编码0,1化。例如,Age就是9岁为一组切割,对于30-39岁的,就以组中值34.5为此组的参考值。3. 确定所有危险因素的基础风险参考值。所谓基础风险参考值的意思是:如果病人的某个危险因素取值为此值,则危险打分为0,越高于此值,打分越高,风险越高。本例,我们以30-39岁,女性,SBP120-129,非吸烟状态做为基础风险状态。4. 计算每一危险因素的分类距离基础风险的距离D。通常以某一回归系数为单位乘以组间距来衡量。例如,本例中,拿age来说,是以30-39最组为基础风险的,所以距离基础风险10个单位的40-49岁组的距离是:D=10*age的回归系数=10*0.0575=0.5750,后面的以此类似。对于二分类变量,基础风险为0,距离即是回归系数。
↑计算风险距离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,其余类似。7. 制作总得分与概率的对照表。总得分可以直接把得分相加得到。概率P可以依据公式计算。需要留意的是BiXi 的总和计算时,不仅需要B*Point Total,还需要加上常数项以及各类基础风险参考值*系数。
基于此,本例得分从-1到19分的风险就可以计算出来了,从而得到如下的打分对应表。
至此,一个风险评分模型已经大功告成了。举几个例子,看看。得分系统算出出来的概率和老老实实logistic回归算出的概率的差异如何?
一个55岁,非吸烟男性,SBP135的患者,风险评分10,5年内得CHD的概率是0.0338,与老老实实logistic回归算出的概率0.0280只差一个百分点。↑一个栗子 比较风险评分模型与logistic实际结果