医学研究里,我们经常会碰到各种危险因素评分预测模型,比如5年冠心病预测模型,10年中风预测模型等等。这些模型通常借助几个简单易测的问题进行打分,从而可以较为方便,准确的预测未来几年某类患者患某病的概率。对于这种评估工具,我们姑且称之为危险因素评分预测模型。
风险评分模型可以预测未来?
危险因素评分预测模型是什么?举例来说,在询问患者的年龄、性别、种族、总胆固醇、高密度脂蛋白胆固醇、血压、高血压、糖尿病史以及吸烟等情况,基于此打分后,就可以得出一个未来10年患心脏病的概率是多少。依据一些疾病等危险因素来建立预测模型,可以用来预测未来走势。
数据基于统计模型
模型看起来「深不可测」,结构却并非想象中的复杂。这些模型背后的方法是基于常见的统计模型。
图示:FraminghamHeartStudy的评分预测模型总揽
小模型大学问
这么高大上,我们自己也弄一个行不行?当然可以。不过,我们先看看别人是怎么开发评分预测模型的吧。我们就以业界标杆研究「FraminghamHeartStudy」为例来进行说明吧。
以性别,年龄,收缩压,现在是否吸烟(Sex,Age,SBP,currentsmoker)做Logistic回归来预测5年后的冠心病(CHD)风险。
1.进行多因素logistic回归估算各危险因素的系数。这个不用多言吧,SAS的Proclogistic,不会SAS的点点SPSS也可以。「FraminghamHeartStudy」给出的例子的结果如下:
图示:logistic回归估算系数
2.连续变量切割分组,以组中值作为参考值,分类变量如果是多分类无序,设置哑变量,编码0,1化。例如,Age就是9岁为一组切割,对于30-39岁的,就以组中值34.5为此组的参考值。
图示:连续变量切割分组,以组中值作为参考值
然后我们需要确定所有危险因素的基础风险参考值。所谓基础风险参考值,是指如果病人的某个危险因素取值为此值,则危险打分为0,越高于此值,打分越高,风险越高。本例中,我们以30-39岁,女性,SBP120-129,非吸烟状态做为基础风险状态。
图示:基础风险参考值
3.计算每一危险因素的分类距离基础风险的距离D。通常以某一回归系数为单位乘以组间距来衡量。例如,本例中,年龄是以30-39岁组为基础风险的,所以距离基础风险10个单位的40-49岁组的距离是:D=10*age的回归系数=10*0.0575=0.5750,后面的以此类似。对于二分类变量,基础风险为0,距离即是回归系数。
图示:计算风险距离
4.我们设定打1分的单位距离B。本例假定5岁的距离B=5*0.0575=0.2875为一个单位,得1分。
5.给每一危险因素的分类打分,得分Point=D/B。例如,40-49岁组据基础风险组30-39岁组的距离D是0.5750,则得分Point=D/B=0.5750/0.2875=2,故此类风险得分为2,其余类似。
图示:计算每类得分
6.制作总得分与概率的对照表。总得分可以直接把得分相加得到。概率P可以依据公式计算。需要留意的是BiXi的总和计算时,不仅需要B*PointTotal,还需要加上常数项以及各类基础风险参考值*系数。
图示:logistic概率计算公式
基于此,本例得分从-1到19分的风险就可以计算出来了,从而得到如下的打分对应表。
图示:风险评分表
图示:风险得分与风险对照表
至此,一个风险评分模型已经大功告成了。
看看得分系统算出来的概率和logistic回归算出的概率的差异如何?
例:一个55岁,非吸烟男性,SBP135的患者,风险评分10,5年内得CHD的概率是0.0338,与老老实实logistic回归算出的概率0.0280只差一个百分点。
图示:比较风险评分模型与logistic实际结果
那么问题来了
风险评分模型的初衷是把不方便计算的复杂模型(logistic,COX)的结果转换成临床易用的评分,用评分对照概率做出预测。然而,随着时代的进步,网络工具,尤其是手机App的普及,即使再复杂的模型,也能方便的立马计算出概率,在这种情况下,还继续推行风险评分模型的意义何在?