Logistic回归分析时几个需要注意的问题
1、关于样本含量的问题
logistic回归分析中,到底样本量多大才算够,这一直是个令许多人困惑的问题。尽管有的人从理论角度提出了logistic回归分析中的样本含量估计,但从使用角度来看多数并不现实。直到现在,这一问题尚无广为接受的答案。根据国外一些大牛的看法,如果样本量小于100,logistic回归的最大似然估计可能有一定的风险,如果大于500则显得比较充足。当然,样本大小还依赖于变量个数、数据结构等条件。
一般认为,每一个自变量至少要10例结局保证估计的可靠性。注意:这里是结局例数,而不是整个样本例数。(如果你有7个自变量,那至少需要70例研究结局,否则哪怕你有1000例,而结局的例数只有10例,依然显得不足。)
2、关于混杂因素的理解
混杂因素一般可以通过三个方面确定:一是该因素(吸烟)对结局(心绞痛)有影响;二是该因素(吸烟)在分析因素(基因)中的分布不均衡;三是从专业角度来判断,即该因素不能是分析因素与结局中间的一个环节。也就是说,不能是分析因素引起该因素,通过该因素再引起结局。
3、关于交互作用的理解
交互作用有的书中也叫效应修饰,是指在该因素的不同水平(不同取值),分析因素与结局的的关联大小有所不同。在某一水平上(如取值为0)可能分析因素对结局的效应大,而在另一个水平上(如取值为1)可能效应小。
4、关于自变量的形式
理论上,Logistic回归中的自变量可以是任何形式,定量资料和定性资料均可。但我觉得在数据分析时更倾向于自变量以分类的形式进入模型,因为这样更方便解释。
例如体重,如果直接进行分析,结果提示的是每增加1Kg发生某病的危险。而现实中多数疾病可能对体重增加1Kg不敏感,或者我们医务人员不关心增加1Kg所发生的变化,而关注的是胖子是不是比瘦子有更高的发病风险。So,很多情况下将连续自变量转化为分类变量可能会有更合理的结果解释。
5、关于标准误过大的问题
我有过这样的经历,logistic回归分析结果中某个自变量的OR值特别大(如>999.999)或特别小(<0.001),可信区间也特别宽(如<0.001~>999.999)。明显觉得有问题,但始终摸不着头脑,后来,发现可能是数据出了问题。
对于此类问题,可能有以下原因:
- 该变量某一类的例数特别少,如性别,男性有100人,女性有2人,可能会出现这种情形。
- 空单元格(zero cell count),如性别与疾病的关系,所有男性都发生了疾病或都没有发生疾病,这时候可能会出现OR值无穷大或为0的情形。
- 完全分离(complete separation),对于某自变量,如果该自变量取值大于某一值时结局发生,当小于该值时结局都不发生,就会出现完全分离现象。如年龄20、30、40、50四个年龄段,如果40岁以上的人全部发生疾病,40岁以下的人全部不发病,就就产生了完全分离现象,也会出现一个大得不可理喻的标准误。
- 多重共线性问题,多重共线性会产生大的标准误。
6、几个错误的做法
关于logistic回归分析,某些“大牛”如是说:“把因变量和自变量往软件里一放,一运行就出来结果了”,那么简单,我只能呵呵了!
(1)多分类变量不看其与logitP的关系直接进入模型
有时候你会发现某些多分类自变量应该有意义但怎么也得不到有统计学意义的结果,那你最好看一下这些自变量与logitP是神马关系,是直线关系吗?如果不是,请设置虚拟变量(SPSS叫做哑变量)后再进入模型。
(2)变量赋值相反
有时候,你会发现你的结果恰好与别人的相反。于是乎你不得不陷入深深的苦恼中,当揪头发、拍脑袋都无济于事是,看看是不是因变量赋值问题。如患病(赋值1)和不患病(赋值0)弄成了患病(赋值0)和不患病(赋值1)。
注意:SPSS拟合模型时默认取值水平高的为阳性结果,而SAS与其相反。
(3)参数估计无统计学意义
有时候会发现所有自变量参数估计均无统计学意义,是不是很让你沮丧?(不管你沮不沮丧,反正我都看在眼里)如果你认为从专业角度不大可能所有自变量都无统计学意义,那你可以看下是不是标准误太大导致的Wald卡方检验失效,如果是,不妨换用似然比检验重新分析。如果不是,那你默哀,如果你知道原因请告诉我!
(4)只看参数检验结果
看到参数结果就认为分析结束了,这就是典型的只管工作完成,不理会工作质量。很少有人喜欢看拟合优度的结果,尽管拟合优度确实有用,尤其是在模型比较时。拟合优度通俗来讲就是看你求得的模型与实际数据的符合程度。logistic回归中有很多指标可用于拟合优度的评价,如Pearson卡方、Deviance、AIC、似然比统计量等。只要你不是非得追究它们的来历,这些指标的用法还是比较简单的,通常用于模型的比较。