科研星球

图形比你想象得更有用!帮助构建合适的疾病预测模型

每每说起心血管疾病,总是会想起那些令人吃惊和惋惜的噩耗——XXX,年轻有为的祖国栋梁,因心脏病猝死而离世(再次提醒各位小伙伴要注意自己的健康呀)。尽管现代医疗技术已经使心血管疾病的诊治达到了前所未有的水平,但是仅仅“有病才治病”还远远不够,心血管病的预防和风险预测已然发挥不可替代的作用。


目前,临床上有多个心血管疾病风险预测工具,比如说大家比较熟悉的Framingham、QRISK、PROCAM、ASSIGN评分。


Heart最近发表了一篇综述《Graphics and statistics for cardiology: clinical prediction rules》[1],作者以心血管风险评分(CVD risk factor)为例探讨了如何借助图形优势构建疾病的预测模型,并提出了6个重要步骤。(表1)


表1. 疾病预测模型的构建

640.jpeg


我们将在分几期介绍这些步骤,今天我们先聊聊预测变量和结局事件关系的模型选择。


疾病预测模型听起来很高大上,其实也很简单,比如常见的Logistic回归模型,当我们知道自变量X时,就可以估计结局事件P的大小,或者说我们所关心的疾病发生概率有多大。俗话说的好,巧妇难为无米之炊,搭个模型,首先得找到重要的预测变量X。


潜在的预测变量筛选往往基于专业判断和既往文献研究,比如说肥胖对于高血压就是一个重要预测变量。但是,需要注意的是,这些变量应该与疾病之间存在因果关联,即存在变量X,可能会导致疾病Y的发生。


下载.jpeg

 

说起心血管风险预测——ASSIGN评分,相信很多小伙伴并不陌生。不同于其他心血管风险评分,ASSIGN评分是第一个将社会支持缺乏纳入风险模型的评分。作者在这篇综述当中使用构建ASSIGN评分的苏格兰心脏健康队列部分数据,来举例说明如何借助图形优势构建风险评分模型。


样本来自Glasgrow 2301名30-74岁女性,随访10-21年,将年龄,收缩压、总胆固醇、高密度胆固醇脂蛋白、糖尿病、现在吸烟、BMI作为潜在的预测因素纳入到风险评分。


确定了潜在的预测变量,下一步就要选择一个恰当的统计模型来说明预测变量与CVD的关系。一般情况,需要结合现在手里可用的数据和我们的研究目的,构建1-2个统计模型。


举个栗子,一个数据库可能记录了心肌梗死患者出院后12个月内的复发情况(是/否),但是没有记录每次复发的时间。假定这12个月内没有人(或者很少一部分人)在随访过程中脱失,或者死于其他原因(也就是我们在生存分析中经常提到的删失数据),那么采用Logistic回归模型是合适的。如果删失存在并且有详细记录(包括为什么删失,删失的时间),那么就需要选择生存分析模型,经常使用的是Cox回归和Weibull回归。


看到这里相信不少小伙伴会说,这不是很简单嘛——有删失选Cox回归和Weibull回归;无删失选Logistic回归模型。其实还有一些细节性的问题,需要大家注意。



1、模型的假设前提是否满足?

统计上常讲,不同的分析方法(模型)有不同的适用条件,切忌张冠李戴!比如说,生存分析中常使用的Cox比例风险回归模型(Cox’s proportional hazards regression model),因为大家总是用简称,所以会忘记Cox回归模型需要满足比例风险(proportional hazards,PH)假定,即所有比较组之间风险比(HRs)应该不随时间变化而变化(图1)。

2.png

可以采用图示法(例如Cox & K-M比较法,累积风险函数法,见图2),也可以进行假设检验(例如时序变量法)来判断是否满足PH假定[2]。如果违反了比例风险假定,就不得不采用其他模型(例如含时依协变量Cox风险模型)。


640 (1).jpeg

图2. 图示法(①Cox & K-M比较法:即比较Cox回归模型与K-M曲线估计的生存曲线的形态差异,如果两种方法绘制的生存曲线各自无交叉,且生存曲线基本重合,则认为数据满足PH假定;②累积风险函数法:如果PH假定成立,二次对数生存曲线[log-log survival curves]应该平行)



2、预测变量与结局事件存在线性关系吗?

是不是考虑了模型前提假设就完事大吉,大错特错!!!相信很多小伙伴很少去考虑预测变量和结局事件之间是否满足线性关系,比如拿到一个变量——收缩压,直接丢到Logistic回归和Cox回归中,咔咔一通参数设置,就跑结果。


事实上,无论是Logistic回归还是Cox回归还需要考虑对数线性假定,即协变量与对数风险函数间是否呈线性。如果不管不顾的直接把预测变量丢进模型中,可能掩盖了预测变量和结局事件之间的真实关系。这时候借助图形,就会很好避免这种情况的发生。


最简单的方法是根据百分位数将连续性变量离散化,比如说五等分,转化成具有等级属性的分组,绘制HRs图。风险最低的组经常被作为参照组(HR=1)(见图3)。这里需要注意,一般HR或OR作为纵坐标Y,而横坐标X对应各分组的中位数。从图3中不难看出,不同收缩压分组HR近似一条直线,但是不同BMI分组HR类似一条曲线。

3.png

有的小伙伴可能会问,有序分组将解释变量X人为分成不连续的点集合,看着不同点的变化还是不够直观,有没有其他方法呢。这里就要提到一个高大上的样条函数(spline function)》[3]啦!样条函数可能对很多小伙伴来说比较陌生,大家可以将样条函数简单地理解为将一些指定点连接成一条光滑曲线时所使用的一种工具,先上图瞅瞅(见图4)。不同收缩压/BMI与CVD之间关系是不是更明确了~~~~

4.png

无论我们选用何种方法来绘图,结果都显示,收缩压与CVD之间是一个对数线性的关系,而BMI不是。


因此,模型拟合时,一方面可以将收缩压实测值作为连续变量直接放入模型中;另一方面也可以选择适宜尺度分组后作为等级变量或者分类变量(设置哑变量)纳入模型中(这里主要考虑结果的可解释性,比如说事实上收缩压1mmHg的变化对于结局影响较小,但是如果改成10mmHg的变化,对结局的影响可能较为显著啦)。


对于BMI,可按照BMI分类标准(比如24和28),将BMI分组后,作为分类变量(设置哑变量,通常把风险最低的组作为参照组)纳入模型中。


总之,如何选择一个合适的统计模型来反映预测因素和结局事件之间的关系:


1、充分了解现有数据的特征(例如有无删失数据);


2、根据数据特征选择恰当统计模型,并验证是否满足模型要求的前提条件(例如Cox回归比例风险假定);


3、比较作为连续变量和分类变量纳入模型时是否存在线性趋势及其好坏,并结合专业知识和结果的可解释性,选择恰当的变量赋值方式(连续变量,分类变量[哑变量]),得出较为合理的回归分析结果。



参考文献

1. Heart. 2017; 103:538-45.

2. 中国卫生统计. 2016; 33:345-9.

3. Stat Med. 2010; 29:1037-57.



没有账号?