关键词:SPSS; 二分类logistic回归; 二项logistic回归; 二元logistic回归; 逻辑回归; EPV原则
一、案例介绍
探讨经皮内镜下腰椎间盘摘除术治疗腰椎间盘突出疗效不佳的主要影响因素,纳入146例治疗效果“不佳”(记录为1)的患者,278例治疗效果“良好”(记录为0)的患者,并收集其余变量信息。其余变量及编码为性别(0=女,1=男)、年龄(0=60岁以下,1=60岁及以上)、手术时间(min)、突出部位(1=单侧,2=中央,3=极外侧)、突出分类(1=膨出型,2=突出型,3=脱垂型)、Modic改变(1=I级,2=II级,3=III级)、是否钙化(0=未钙化,1=钙化)、矢状径(cm)、退变级别(1=I-III级,2=IV级,3=V级)。部分数据见图1。本文案例可从“附件下载”处下载。
二、问题分析
本案例的分析目的是探讨经皮内镜下腰椎间盘摘除术治疗腰椎间盘突出疗效不佳的主要影响因素,由于因变量是二分类变量,因此可以使用二分类logistic回归分析。但需要满足7个条件:
条件1:因变量为二分类变量。本研究中因变量是治疗效果“不佳”和“良好”,为二分类变量,该条件满足。
条件2:至少有1个自变量。自变量可以是分类变量也可以是连续变量。本研究中有多个自变量,类型各异,该条件满足。
条件3:各观测行间相互独立。对研究设计和数据收集的过程进行分析,可判断本案例中观测值之间不存在互相影响的情况。
条件4:例数较少类的因变量例数为自变量个数的10~15倍(EPV原则),且经验上两组的人数最好>30例,参照水平组不应少于30或50例。该条件需要通过软件分析后判断。
条件5:自变量之间无多重共线性。该条件需要通过软件分析后判断。
条件6:自变量不存在显著的异常值。该条件需要通过软件分析后判断。
条件7:数据未出现完全分离或拟完全分离现象。该条件需要通过软件分析后判断。
三、软件操作及结果解读
(一) 适用条件判断
1. 条件4判断(因变量样本例数)
首先计算因变量中例数较少类的样本例数。
(1) 软件操作
①选择“分析”—“描述统计”—“频率”(图2)。
② 在“频率”对话框中将变量“预后”选入右侧“变量”框中,点击“确定”(图3)。
(2) 结果解读
由图4可见,“1”代表“预后不佳”为146例,“0”代表“预后良好”为278例。根据“例数较少类的因变量例数为自变量个数的10~15倍(EPV原则)”,本案例可纳入10~15个自变量进行多因素二分类logistic回归分析。
2. 条件4判断(自变量样本例数)
(1) 软件操作
① 选择“分析”—“描述统计”—“交叉表”(图5)。
② 在“交叉表”对话框中将变量“预后”选入“行”,将变量“性别”、“年龄”、“突出部位”、“突出分类”、“Modic改变”、“是否钙化”和“退变级别”均选入“列”(图6),然后点击“确定”。
③ 点击右侧“精确”,出现“精确”子对话框,勾选“精确”,其他保持默认设置不变,如图7所示,然后点击“继续”。
④ 点击右侧“统计”,在“统计”子对话框中勾选“卡方”和“风险”,如图8所示,点击“继续”回到主对话框后点击“确定”。
(2) 结果解读
当分类自变量进入多因素分析模型后,如果自变量某水平对应的因变量例数<30,应注意避免该例数较少的水平被选为参照。图9为因变量“预后”与分类自变量“性别”的“Crosstabulation(交叉表)”,表中显示不同性别不同预后的情况下,因变量的例数均大于30。其他自变量的例数也可以从相应交叉表中得到,此处不一一描述(请读者自行操作、查看)。从分析结果可知,只有当“突出部位”水平为“3”极外侧时、“突出分类”水平为“1”膨出型时、“退变级别”水平为“3”V级时,应变量例数小于30,所以当这些自变量在多因素分析过程中进入模型时,应注意避免例数较少的水平被选为参
图10是对变量“性别”进行卡方检验的结果,可知P=0.601,无统计学意义。
图11是对变量“性别”计算的OR值,可知OR=0.883。需要结合卡方检验的显著性结果,解读OR值,一般情况下卡方检验显著时,OR值才有价值。
其他自变量的卡方检验结果和OR值此处不做详细描述,请读者自行操作。注意只有分类变量可以通过该步骤得到OR值。OR值的计算有助于条件7是否完全分离的判断。
3. 条件5判断(多重共线性诊断)
多重共线性诊断是诊断纳入多因素模型的变量间是否存在共线性,详见后文。
4. 条件6判断(异常值检测)
(1) 软件操作
① 点击“分析”—“回归”—“二元Logistic回归”(图12)。
② 在“Logistic回归”对话框中将变量“预后”选入“因变量”,将所有自变量“性别”、“年龄”、“手术时间”、“突出部位”、“突出分类”、“Modic改变”、“是否钙化”、“矢状径”和“退变级别”选入“块”。其他保持默认不变,如图13。
③ 点击“选项”,在“选项”子对话框中,选中“个案残差列表”。下方的“外离群值”在本案例中定义为超出3个标准差,其他设置如图14所示。点击“继续”回到主对话框。
④ 点击“保存”,在“保存”子对话框中,选中“库克距离”和“杠杆值”。点击“继续”回到主对话框后点击“确定”(图15)。
⑤ 点击“分析”—“描述统计”—“描述”(图16)。
⑥ 在“描述”子对话框中将左侧通过上述步骤计算得到的新变量Cook值和杠杆值选入右侧“变量”列表框中(图17)。
⑦ 点击“选项”,出现“选项”子对话框,默认勾选“平均值”、“标准差”、“最大值”和“最小值”,如图18所示,点击“继续”后回到主对话框,点击“确定”。
(2) 结果解读
图19显示了学生化残差大于三个标准差的观测,显示没有离群值,所以可以认为本案例自变量不存在显著的异常值。
图20是对库克距离和杠杆值的统计描述,库克距离越大对回归估计值影响越大,库克距离>0.5,可能为强影响点,>1严重怀疑是强影响点。本次分析显示本案例的库克距离介于0.001-0.399之间,均<0.5,提示无强影响点。描述杠杆值主要为了查看强杠杆点,杠杆值一般<0.2,>0.5时很可能是强杠杆点,0.2-0.5之间应引起怀疑。本次分析显示本案例的杠杆值是介于0.009-0.061之间,均<0.2,无强杠杆点。
5. 条件7判断(完全分离检测)
完全分离,指某一个自变量本身或者某几个自变量的线性组合,对因变量的预测结果与实际情况完全一致,常表现为OR值无穷大。通过图9和图11可知,性别对应各变量例数均大于30,OR值为0.883,并非无穷大。其他自变量的统计结果也显示不存在OR值无穷大的情况,所以该条件满足。
(二) 变量筛选
1. 单因素分析
(1) 软件操作
① 点击“分析”—“回归”—“ 二元 Logistic回归”(图12)。
② 在“Logistic回归”对话框中将变量“预后”选入“因变量”,变量“性别”选入“块”。对话框下方“方法”是选择自变量筛选的方法,SPSS提供了7种方法。本案例选用默认的“输入”法,然后点击“确定”即可得到变量“性别”的分析结果(图21)。
③继续逐个筛选定量变量和二分类变量“年龄”、“手术时间”、“是否钙化”和“矢状径”,步骤与前述一致。
④ 在分析多分类变量(“突出部位”、“突出分类”、“Modic改变”和“退变级别”)时,需要进行参照类别的设置(即设置哑变量)。以变量“突出部位”为例,在“Logistic回归”对话框中将变量“预后”选入“因变量”,将变量“突出部位”选入“块”,对话框下方“方法”默认“输入”法(图22)。
⑤ 点击“分类”后出现定义分类变量的子对话框,将左侧“协变量”框中的变量“突出部位”选入右侧“分类协变量”。在右下方“更改对比”区域,“对比”处选择参照比较的方式,默认选择“指示符”;“参考类别”处选择参照类别,默认选择“最后一个”。
在本案例中根据条件4(自变量样本例数)判断结果,“突出部位”水平为“极外侧”时、“突出分类”水平为“膨出型”时、“退变级别”水平为“V级”时,因变量的例数<30,所以应注意避免这三个变量中例数较少的水平被选为参照。因为“突出部位”为“极外侧”和“退变级别”为“V级”是最后一类,所以需要在“参考类别”处将这两个变量的参照标准改为“第一个”,然后点击“变化量”,如图23所示,然后点击“继续”后回到主对话框,点击“确定”。
(2) 结果解读
单因素分析变量筛选过程中可以只观察主要结果,即“Variables in the Equation(方程中的变量)”。单因素分析时,可将检验水准提高到0.1~0.2。
图24显示了“性别”的检验结果,P=0.552>0.1,无统计学意义,同时从专业角度判断性别对预后的影响不大,故考虑在多因素分析时不纳入该变量。
图25显示了“年龄”的检验结果,P<0.001,差异有统计学意义,纳入多因素分析。
图26显示了“手术时间”的检验结果,P=0.055<0.1,差异有统计学意义,纳入多因素分析。
图27显示了“突出部位”的检验结果,整体分析P<0.001,差异有统计学意义,纳入多因素分析。
图28显示了“突出分类”的检验结果,P=0.749>0.1,差异无统计学意义,结合专业判断,考虑不纳入多因素分析。
图29显示了“Modic改变”的检验结果,P=0.683>0.1,差异无统计学意义,结合专业判断,考虑不纳入多因素分析。
图30显示了“是否钙化”的检验结果,P=0.002<0.1,差异有统计学意义,纳入多因素分析。
图31显示了“矢状径”的检验结果,P<0.001,差异有统计学意义,纳入多因素分析。
图32显示了“退变级别”的检验结果,整体分析P=0.001,有统计学意义,尽管有些哑变量无统计学意义,但根据“同进同出”原则,仍需要纳入模型。
综合以上变量筛选结果,得出变量“年龄”、“手术时间”、“突出部位”、“是否钙化”、“矢状径”和“退变级别”可以纳入多因素分析模型。
2. 设置哑变量
容忍度(Tolerance)或方差膨胀因子(VIF)可以用来诊断自变量之间的多重共线性。SPSS的Binary Logistic模块不能提供这两个指标,可以通过线性回归来获得。进行线性回归的共线性诊断前需要对单因素分析有统计学意义的多分类变量设置哑变量,以下将对多分类变量“突出部位”和“退变级别”进行哑变量设置。
(1) 软件操作
① 点击“转换”—“创建虚变量”(图33)。
② 在“创建虚变量”对话框中将变量“突出部位”选入右侧“针对下列变量创建虚变量”框中,然后在“创建主效应虚变量”下的“根名称-每个选定变量各一个”中输入虚拟变量的名称“突出部位”;点击“确定”,完成虚拟变量设置。
③照上述操作方法,可设置变量“退变级别”的哑变量。
(2) 结果解读
上述步骤运行结束后可以在数据编辑页面看到新生成的6个哑变量(图35),随后就可以进行多重共线性诊断。
3. 条件5判断(多重共线性诊断)
(1) 软件操作
① 点击“分析”—“回归”—“线性”(图36)。
② 将变量“预后”选入“因变量”,将需要进行多因素分析的变量 “年龄”、“手术时间”、“是否钙化”、“矢状径”选入“自变量”(图37),然后点击“下一个”。在图38中将“突出部位=2”和“突出部位=3”两个虚拟变量同时选入右侧“自变量”,此时表示以“突出部位=1”为参照水平;“方法”选择“输入”,即哑变量设置的同进同出原则;然后点击“下一个”。在图39中参照图38进一步设置“退变级别”的参照变量。点击“确定”。
③ 点击“统计”,在“统计”子对话框中勾选“共线性诊断”(图40),点击“继续”后回到主对话框,点击“确定”。
(2) 结果解读
如果“容差”小于0.1或“VIF(方差膨胀因子)”大于10,则提示有严重共线性存在。本例中(图41),容忍度均远大于0.1,方差膨胀因子均小于10,提示自变量之间不存在严重多重共线性。如果数据存在严重多重共线性,需用复杂的方法进行处理,其中最简单的是剔除引起共线性的因素之一,剔除哪一个因素可以基于理论依据。
4. 多因素分析
(1) 软件操作
① 点击“分析”—“回归”—“ 二元Logistic回归”(图12)。
② 在“Logistic回归”对话框中将变量“预后”选入“因变量”,变量“年龄”、“手术时间”、“突出部位”、“是否钙化”、“矢状径”和“退变级别”选入“块”,选用默认的“输入”法(图42)。
③ 点击“分类”,在子对话框中将左侧“协变量”列表框中的多分类变量(“突出部位”和“退变级别”)选入右侧“分类协变量”中。同时在下方设置适合的参考类别。此处仍将“突出部位”的参考类改为“第一个”,然后点击“变化量”。“退变级别”也如此操作(图43),点击“继续”回到主对话框后点击“确定”。
④ 点击“选项”,在“选项”子对话框中,选中“Exp(B)的置信区间: 95%(OR值的95%置信区间)”(图44)。点击“继续”回到主对话框。
(2) 结果解读
直接查看“方程中的变量”的结果(图45),其中“Sig.”一列表示相应变量在模型中的P值,“Exp (B)”表示相应变量的OR值。结果显示,年龄(P<0.001)、手术时间(P=0.155)、突出部位(P=0.008)、是否钙化(P=0.026)、矢状径(P=0.004)、退变级别(P=0.041)。所以可在最终的模型中将“年龄”、“突出部位”、“是否钙化”、“矢状径”和“退变级别”5个自变量纳入模型进行分析。
(三) 模型构建与解读
1. 软件操作
① 点击“分析”—“回归”—“二元Logistic回归”。
② 在“Logistic回归”对话框中将变量“预后”选入“因变量”,变量“年龄”、“突出部位”、“是否钙化”、“矢状径”和“退变级别”选入“块”,选用默认的“输入”法。
③ 点击“分类”,在子对话框中将左侧“协变量”列表框中的多分类变量(“突出部位”和“退变级别”)选入右侧“(分类协变量”中。同时在下方设置适合的参考类别。此处仍将“突出部位”的参考类改为“第一个”,然后点击“变化量”。“退变级别”选择“指示符”。
以三步骤与多因素分析的软件操作类似,唯一的区别在于在“块”中不再纳入变量“手术时间”。
④ 点击“保存)”后出现子对话框,勾选“概率”和“组成员”用来保存个案的预测概率以及预测预后的结果(图46)。
⑤ 点击“选项”,在“选项”子对话框中,选中“霍斯默-莱梅肖拟合优度”和“Exp(B)的置信区间: 95% (OR值的95%置信区间)”。其他设置如图47所示。点击“继续”回到主对话框后点击“确定”。
2. 结果解读
(1) 模型评价
图48“Omnibus Tests of Model Coefficients(模型系数的Omnibus检验)”是模型系数的综合检验。Model行是对模型中所有参数是否均为0的检验结果。χ²=64.125,P<0.001,表示本次拟合的模型中至少有一个变量的OR值有统计学意义,即模型总体有意义。
图49“模型摘要”是模型的效果评价。“-2对数似然值”越接近0,效果越好。后面2个为伪R2,类似于线性回归的R2,越大越好,最大为1。本模型的-2对数似然值离0较远,伪R2也不接近1,可见模型效果一般。
(2) 拟合优度
图50“霍斯默-莱梅肖检验”是模型拟合优度检验。当P值不小于检验水准时(即P>0.05),认为数据中的信息已被充分提取,模型拟合优度较高。
(3) 预测价值
图51“分类表”表示使用当前模型预测因变量的情况。“分界值”为0.500,即模型预测事件发生的概率大于或等于0.5时,判断为事件发生(预后不佳);如果可能性小于0.5,则判断为事件未发生(预后良好)。此模型预测准确率为69.6%。正确预测出预后不佳的比例,即灵敏度为31.5%,正确预测出预后良好的比例,即特异度为89.6%。
(4) 模型系数
图52“方程中的变量”结果显示,年龄的OR=2.780 (95%CI:1.643~4.702;P<0.001),即年龄60岁及以上的患者术后不佳的风险是60岁以下患者的2.780倍;突出部位为“中央”的患者术后效果不佳的风险是“单侧”患者的2.091倍(OR=2.091,95%CI:1.318~3.318;P=0.002);突出部位为“极外侧”的患者术后效果不佳的风险与“单侧”患者相比,差异无统计学意义(95%CI:0.922~4.936;P=0.077);矢状径每增加1 cm,术后效果不佳的风险降低16.4% (OR=0.836,95%CI:0.740~0.944;P=0.004);“非钙化”患者术后不佳的风险是“钙化”患者的1.743倍(OR=1.743,95%CI:1.064~2.855;P=0.027);退变级别为“I-III级”的患者术后效果不佳的风险与“V级”患者相比,差异无统计学意义(95%CI:0.184~1.147;P=0.096),退变级别为“IV级”的患者术后效果不佳的风险比级别为“V级”的患者低63.7%( OR=0.363,95%CI:0.163~0.809;P=0.013)。
(四) 绘制ROC曲线
1. 软件操作
① 点击“分析”—“分类”—“ ROC 曲线”(图53)。
② 在“ROC 曲线”对话框中将上述操作中新生成的变量“PRE_1”选入右侧“检验变量”,将变量“预后”选入右侧“状态变量”,下方“状态变量值”处输入数字“1”,表示变量值为1时预后不佳。下方“显示”处勾选“ROC 曲线”、“带对角参考线”和“标准误差和置信区间”。然后点击“确定”(图54)。
2. 结果解读
图55为ROC曲线,横坐标是“1-特异度”,纵坐标是“灵敏度”,红色斜线是诊断参考线,蓝色曲线是该预测模型的ROC 曲线。
图56显示了曲线下面积的具体数值,为72.8%,提示该模型的判断效果一般。
四、结论
本研究采用二分类Logistic回归探讨经皮内镜下腰椎间盘摘除术治疗腰椎间盘突出疗效不佳的主要影响因素。因变量例数分布满足样本量需求,变量之间不存在严重共线性和异常值,数据不存在完全分离现象。
九个自变量经过分析后,最终有5个(年龄、突出部位、是否钙化、矢状径和退变级别)进入模型,其中年龄60岁及以上的患者术后不佳的风险是60岁以下患者的2.780倍(95%CI:1.643~4.702;P<0.001);突出部位为“中央”和“极外侧”的患者术后效果不佳的风险分别是“单侧”患者的2.091倍(95%CI:1.318~3.318;P=0.002)和2.133倍(95%CI:0.922~4.936;P=0.077);矢状径每增加1 cm,术后效果不佳的风险降低16.4% (OR=0.836,95%CI:0.740~0.944;P=0.004);“非钙化”患者术后不佳的风险是“钙化”患者的1.743倍(95%CI:1.064~2.855;P=0.027);退变级别为“I-III级”的患者术后效果不佳的风险与“V级”患者相比,差异无统计学意义(95%CI:0.184~1.147;P=0.096),退变级别为“IV级”的患者术后效果不佳的风险比级别为“V级”的患者低63.7%( OR=0.363,95%CI:0.163~0.809;P=0.013)。所建立的模型有统计学意义(χ²=64.125,P<0.001),对因变量正确分类的准确性为69.6%,灵敏度为31.5%、特异度为89.6%,ROC曲线下面积为72.8%,该模型的判断效果一般。
五、多重共线性的判断及处理
- 多重共线性是指自变量间存在线性相关关系,容忍度越小、VIF越大,表明共线性越强。实际数据分析过程中,若容忍度<0.2或VIF>5则表明存在较强共线性,若容忍度<0.1或VIF>10则表明存在严重共线性问题。
- 在实际数据分析过程中,若存在以下情况,则暗示模型可能存在共线性问题:①整个模型的检验结果为P值≤检验水准a,但各自变量的偏回归系数检验结果却为P值>检验水准a。②专业上认为应该有统计学意义的自变量,检验结果确无统计学意义。③自变量的偏回归系数的取值大小甚至符号明显与实际情况相违背,难以解释。④增加或删除一个自变量或一个案例,自变量偏回归系数发生较大变化。
- 自变量若存在严重多重共线性,可采取以下措施进行处理:①基于专业知识直接确认优先选择哪些变量进入模型,而将相对次要的共线性变量从模型中剔除。②逐步回归,但是当共线性比较严重时,变量自动筛选的方法并不能完全解决问题。③岭回归/lasso回归,为有偏估计,但能有效地解决共线性问题。④主成分回归法,这种方法的代价是在提取主成分时会丢失一部分信息,收益则是大大降低了共线性对参数估计值的扭曲,而且自变量间的多重共线性越强,提取主成分时丢失的信息就越少。
- 需要注意的是,多重共线性的存在不一定必然影响模型的使用价值,其理论上共线性不应当降低模型的预测效果,其影响主要是使模型的偏回归系数发生改变,从而无法得到专业上合理的解释。
六、自变量进入模型的形式
- 无序多分类自变量需要以哑变量形式进入模型,在SPSS中通过选择参照水平实现哑变量的设置,但需要注意以下事项:①参照水平要具有实际意义,否则会失去比较的目标,如“其他”一般不适宜做参照水平。②参照水平应有一定的例数(不低于30或50例),否则将导致与其比较的其他组的置信区间较大。③哑变量整体分析无统计学意义时,所有哑变量都不用再纳入模型;整体分析有统计学意义时,尽管有些哑变量无统计学意义,但仍需要纳入模型,即“同进同出”原则。
- 有序多分类自变量进入模型有多种方式备选,但应选择最具合理性的方式:①直接以计量资料形式带入模型:此时得到的模型较为简洁,也容易解释。但应用的前提是自变量的每个水平对因变量的影响作用基本一致,可通过观察哑变量各水平的回归系数值是否存在等级变化关系进行判定。建议先将有序多分类资料分别以哑变量和连续变量的形式引入模型,观察每个哑变量的回归系数间是否存在等级关系,并对两个模型进行似然比检验,如果似然比检验无统计学意义,且每个哑变量的回归系数间存在等级关系,则可以将该自变量以连续变量形式引入模型,否则还是采用哑变量的方式引入模型。②设置哑变量:参照无序多分类资料。③当有序多分类变量的等级水平与因变量结局不成线性关系时,应采用最优尺度回归探讨效应拐点。
- 定量资料进入模型有多种方式备选,但也应选择最具合理性的方式:如果某计量资料能以计量形式进入模型(有统计学意义),那么转化后应当同样能进入模型,且OR值会显著增加。①直接带入模型,尽管此种方法较为简单,但仍不做首选推荐。因为此时得出的OR值一般较小,即自变量变化一个单位对结局风险的影响其实是有限的,不能贴近专业解释。 如果资料分布严重失衡时(非均匀分布)尤其不能直接带入模型。但以计量资料形式直接进入模型往往模型的拟合效果较好。②根据专业意义降维后(如根据BMI指数分级标准降维为有序多分类资料),参照有序多分类资料或者二分类资料处理方式。③如果没有专业划分标准,可以资料分布形式根据四分位数间距或等分法降维或者标准化后按Per 1 sd (每一个标准差)降维。④建立自变量和因变量之间的ROC曲线,根据约登指数进行二分类降维。⑤中位数(非正态分布)或者均数(近似正态或正态分布)降维。⑥当自变量的单位不合适导致因变量的风险改变很小时,可对自变量采取缩小(如除以100)或扩大(如乘以10)相应倍数的方式。
七、自变量的选择策略
关于自变量是否纳入多因素分析模型除了根据本章节介绍的判定方法以外,还可采取以下策略:
- 专业原则:首先需要考虑的就是专业原则,这一点最为重要。如果目前专业知识有证据表明该变量与结局发生有关,那么不论该变量单因素分析结果是否有统计学意义,都应纳入多因素分析模型。
- 以单因素分析为基础:当分析的变量较多时,可先采取单因素分析方法,对有统计学意义的变量再纳入多因素分析。此时单因素分析检验水准可设置为0.1—0.2,如果样本量较大,可将检验水准设置为较为严格;如果样本量较小可将检验水准设置较为宽松。
- 比较原则:可以尝试多种方法对该变量进行分析,如采用多种自变量进入方法分析,或将计量资料降维后再分析,如果变量在多种进入方法和不同变量类型时,均能在多因素分析模型中有统计学意义,则表明该变量的确是因变量的真正影响因素。