查看原文
其他

那么多变量,我该选择哪些进入多因素分析呢?

2017-06-06 李延龙 医咖会

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


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


上期我们聊到如何选择合适的统计模型来解释预测变量和结局事件之间的关系,这次我们接着说说模型中变量筛选

单因素分析结果可靠吗?

相信大多数小伙伴在多因素回归中是这么操作的:先进行单因素分析,单因素分析有统计学意义的变量纳入多因素回归分析中,无意义的变量不纳入分析。但是这样操作是对的吗?显然不是,仅仅将单因素分析有统计学意义的因素纳入多因素回归分析,很可能会将重要的危险因素漏掉


来看一个栗子,某项研究旨在探索血脂异常的影响因素,单因素分析结果见表2,不同年龄组的血脂异常患病率差异无统计学意义(P=0.072),而血脂异常与性别、饮酒以及BMI均有统计学意义(P<0.01)。


表2. 血脂异常危险因素的单因素分析结果


有的小伙伴会说,这不对呀,年龄是血脂异常的影响因素,地球人都知道啊,应该是哪里出了问题;也有的小伙伴可能会想,统计又不会骗人,没有统计学意义,就不应该算为影响因素……


先别着急将年龄从血脂异常候选影响因素中删去,我们再来看看多因素Logistic回归分析结果(表3)。SPSS软件的多因素Logistic回归结果显示,55-岁组血脂异常的患病风险是<45岁组的2.093倍。之所以会出现这种现象,是因为在做单因素分析时,往往无法识别混杂因素的存在,而混杂因素很可能会干扰我们关注的变量与结局之间的关系。


表3. 血脂异常危险因素的多因素Logistic回归分析结果


所以,如果多因素Logistic回归分析时,只纳入单因素分析有统计学意义的自变量,则有时候某些影响因素就没有机会进入多因素模型(比如栗子中的年龄,而年龄确实对血脂异常有影响)。


因此,采用单因素分析进行影响因素的筛选时,应注意适当调整检验水平P<0.05并不是万能的,影响因素的探索性分析可以适当放开检验水准,比如设定为α=0.10 or 0.15),并结合临床专业(变量与结局之间的关系临床上是否讲得通)选择纳入多因素分析的变量,不要一味地舍弃单因素分析无统计学意义的自变量,要避免漏掉重要的影响因素。

万能的逐步回归?!

多因素回归分析的变量选择包括很多方法,大家可能用的最多的是逐步回归。为啥逐步回归这么人见人爱呢?小伙伴一定会说方便可靠啊!SPSS软件拖拖拽拽,勾选一下,结果就发出来了,又不用动脑,计算机又不会犯错,多好!事实上没那么简单!


1. SPSS软件中多因素Logistic逐步回归分析提供了条件参数估计似然比检验(Conditional)、最大偏似然估计似然比检验(LR)、Wald检验3种模型假设检验方法,和向前选择法(Forward)、向后剔除法(Backward)两种变量进出方法,一共组合成6种逐步回归变量选择方法(见图1)。


图1. SPSS中Logistic逐步回归参数设置


似然比检验因为考虑了整个模型的拟合情况,所以结果比较可靠;Wald检验没有考虑各因素的综合作用,一旦自变量之间存在共线性,结果就不可靠。所以似然比检验成为首选


另外,SPSS软件逐步回归中默认在选入变量的显著水准为0.05,剔除变量的显著性水准为0.10,即所谓的“严进宽出”(图1)。一般来说,当两个检验水准接近时效率最高,如需修改,切记进入检验水准<剔除检验水准,以防“死循环”!


2. 那是不是设置好逐步回归,直接看结果就好了,其实不然!逐步回归主要是选择那些偏保守的预测变量(通常是在考虑其他变量的基础上),这样做的优势是快速和简单。然而,仅仅依赖统计学方法并不能帮助我们选择最好的模型,因为它也无法告诉我们那些重要变量组合信息(逐步回归只会给出你一个变量组合,这是最优的组合吗?)。


一个更好的方法是使用LASSO(LeastAbsolute Shrinkage and Selection Operator)[2]来构建模型,这种方法一方面惩罚回归系数的绝对值大小进而实现选择变量(Selection),另一方面降低极端变量的权重(Shrinkage)。


当然,LASSO法对于很多人来说很复杂、搞不懂。我们再来看一个笨办法——拟合所有不同变量组合的模型,记录每种模型的拟合优度(goodness of fit,GOF),然后绘制GOF图。GOF的评价方法有很多,比较常见的是AIC(Akaike Information Criterion)和BIC(Bayesian Information Criterion)。AIC和BIC比较相似,这里我们主要以AIC为例。


AIC是一个相对测量指标,主要用于模型的相互比较,数值越低越好。作者在这篇综述中考虑年龄,收缩压、总胆固醇、高密度脂蛋白、糖尿病、现在吸烟、BMI共7个变量纳入到风险评分中。因此,将会有128个不同变量组合的模型(不考虑交互的前提下)。


图2展示了GOF图,使用的是Cox回归模型。预测变量的任何组合中,很明显年龄是最强的因素,包括年龄的模型是最好的,包括BMI但不包括年龄的模型一般是最糟糕的。因此,最好的多因素模型是不包含BMI的其他所有变量的模型。然而,需要明确的是BMI仍然是一个重要的预测因素,比如说,BMI测量比较方便,但是血脂却不方便测量,我们可以考虑用BMI替代血脂。


图2. 不同变量组合模型的拟合优度(AIC)


从图2不难看出,GOF图有一个明显的缺点——制作太耗费时间,这才7个变量就有128种组合,如果更多变量呢?相信很多小伙伴头都要大了,但是不可否认,目前我们的研究中变量相对还较少,借助统计软件,GOF图还是比较实用滴~~~


3. 除了上述的两个方面外,还需要考虑变量之间是否存在交互。如果交互确实存在,那么变量的交互项也需要纳入到预测模型中。当然还有一个比较简单的解决方案,就是分层拟合预测模型。举个栗子,ASSIGN评分对于不同性别就有独立的风险评分(http://www.assign-score.com/)。


总之,变量筛选需要结合临床专业判断和统计学方法,才能选出最好的模型!


参考文献

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

2. J Royal Stat Soc B.1996; 58:267–88


统计教程精彩回顾

1. SPSS实例教程:二分类Logistic回归

2. SPSS详细操作:生存资料的Cox回归分析 

3. 23种统计方法的SPSS详细操作

医咖会微信:medieco-ykh

关注医咖会,一起学习统计学!


有临床研究设计或统计学方面的难题?快加小咖个人微信(xys2016ykf),拉你进统计讨论群和其他小伙伴们一起交流学习;或者点击公众号下方自定义菜单的“统计咨询”,提出你遇到的统计难题。


点击左下角“阅读原文”,看看医咖会既往推送了哪些研究设计或统计学文章。

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

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