一、Logistic回归的类型
Logistic回归(又称逻辑回归)是一种广义的线性回归分析模型,用于研究分类型因变量与自变量之间影响关系。Logistic回归分析根据因变量的不同可分为二元Logistic回归、多分类Logistic回归,有序Logistic回归三类,说明如下:
- 二元 Logistic 回归:
因变量只有两种结局,且结局是互斥的,如是与否、死亡与未死亡等。 - 多分类 Logistic 回归:
因变量是无序多分类变量,如某研究想了解不同性别、年龄等对于手机品牌偏好的不同,该因变量即为无序多分类变量,该问题适合采用多分类Logistic 回归进行分析。 - 有序 Logistic 回归:
因变量为有序分类变量(等级数据),如医学研究中关于某病的治疗效果,无效=1,有效=2,痊愈=3,如果要研究疗效的影响因素,则采用有序Logistic回归。
二、二元Logistic回归分析原理
逻辑回归中二元Logistic回归最为常用。二元Logistic回归分析适用于研究因变量为二分类变量的数据,二分类变量即为那些结局只有两种可能性的变量。
- 因变量Y:只能用数字0、1表示,若不是需要进行数据编码。
- 自变量X:既可以是定量数据也可以是定类数据,定类数据要进行哑变量处理。
1、模型公式
二元Logistic回归模型公式如下:
其中,指标项说明如下:
2、逐步法筛选自变量
和线性回归类似,多因素 Logistic 回归也可采用逐步回归方法对变量进行筛选,如向前法、向后法或逐步法,尤其逐步法在多因素 Logistic 回归中受到科研工作的青睐。此处注意,SPSSAU 平台会采用 Wald 检验进行对自变量的逐步筛选。
三、二元Logistic回归案例实战
二元Logistic回归分析一般步骤如下:
案例背景:研究者收集了银行贷款客户的个人负债信息,以及曾经是否有过还贷违约记录,数据赋值说明如下表所示,试分析是否违约的相关因素。
接下来按二元Logistic回归分析的一般步骤进行分析。
1、基本条件判断
(1)因变量类型:
研究贷款违约发生的相关因素,因变量“曾经违约”有两种结局“是”与“否”,因此选择使用二元Logistic 回归。
(2)多重共线性判断:
使用SPSSAU【进阶方法】模块的【共线性分析】进行多重共线性诊断,将所有变量拖拽到右侧分析框,点击开始分析,操作如下图:
共线性问题分析的判断标准上,通常有两种,分别是Pearson相关系数和VIF法。本例以Pearson相关系数法为例,通常以其绝对值大于0.8作为标准,输出结果如下:
分析上表可知,变量间相关系数均小于0.8,可认为不存在多重共线性问题,可以继续分析。
2、建立Logistic回归模型
建立Logistic回归模型前需要进行单因素筛查、因变量0-1编码和分类自变量哑变量处理。
(1)单因素筛查
建立 Logistic 回归模型的过程,较常见的是“先单后多”,即先通过单因素分析筛选自变量,然后仅保留有显著影响的自变量进行多因素回归。这种场景在探索性研究目的、自变量较多或样本量不足的情况下应用较多。
单因素分析的常见方法有卡方检验、t 检验、方差分析和秩和检验,为避免遗漏重要变量,差异的显著性水平可以由 0.05 适当放宽至 0.1、0.15,甚至 0.2。
本案例自变量包括四个定量变量(家庭收入、负债收入比率、信用卡负债、其他负债),四个定类变量(年龄、教育水平、当前雇佣时长、当前居住时长),分别使用t检验对定量自变量进行单因素筛查,使用卡方检验对定类自变量进行单因素筛查,并将显著性水平放宽至0.1。
- 单因素筛查1——t检验
SPSSAU操作如下图:
SPSSAU输出t检验结果如下:
分析上表可知,四个定量自变量的p值均小于0.1,因此会对曾经违约产生显著影响,均保留。
- 单因素筛查2——卡方检验
SPSSAU操作如下图:
SPSSAU输出卡方检验分析结果如下:
分析上表可知:四个定类自变量的p值均小于0.1,因此会对曾经违约产生显著影响,均保留。
【提示】:有一点必须明确,在进行多因素 Logistic回归前进行单因素筛选并不是绝对的,在样本量充足、研究目标明确、有足够专业理论支持的情况下,可将所有自变量一起进行多因素 Logistic 回归。
(2)因变量0-1编码
进行二元Logistic回归分析,因变量必须为使用数字0、1表示(本案例为0、1表示),若非如此,需要使用SPSSAU【数据处理】模块的【数据编码】进行处理,操作如下图:
(3)定类自变量哑变量处理
对于四个定类自变量需要对其进行哑变量处理,在【数据处理】模块,选择【生成变量】进行哑变量处理,操作如下图:
(4)二元Logistic回归分析
在SPSSAU选择【二元Logit】,自变量拖拽到右侧分析框,注意本例全部选择定类变量的第一个水平作为参照,4 个定类变量的一水平哑变量不移入分析框中,选择变量进入方法为“逐步法”,操作如下图:
3、模型整体检验与评价
(1)似然比卡方检验
似然比检验用于检验模型整体的有效性,如果p值小于0.05,则说明模型有效;反之则说明模型无效。
分析上表可知:χ2 =229.287,p<0.01,认为二元 Logistic 回归模型总体上有统计学意义,模型中引入的自变量至少有一个对因变量有影响,模型是有效的。
表中的AIC和BIC值用于多次分析时的对比,此两值越低越好。如果多次进行分析,可对比此两个值的变化情况,综合说明模型构建的优化过程。
(2)Hosmer-Lemeshow检验
H-L检验原假设为,模型拟合值和观测值的拟合状况良好,如果p值大于0.05则说明通过HL检验,反之则说明模型没有通过HL检验,模型拟合优度差。
分析上表可知:χ2=5.219,p=0.734>0.05,说明模型拟合良好。
(3)决定系数R方
在模型分析结果汇总表(偏回归系数解释时使用),即下表的底部,SPSSAU提供了3个伪 R2指标,其含义类似线性回归中的决定系数R2 ,取值越大越好,在实际分析中应用较少,可以不做关注。
(4)模型预测准确率
本例二元 Logistic 回归模型对结局 0 即未违约的预测准确率为 93.04%(481/517),对结局为 1 即违约的预测准确率为 45.90%,总体预测准确率为 80.71%。从银行贷款业务风险预警角度来看,本例更关注对违约结局的预测能力,显然 45.90%是比较低的,该模型的实用价值有待进一步提高。
【注意】:有些研究并不看中模型的预测能力,而主要关注的是因变量的相关影响因素。
4、回归系数/OR值解读
回归系数与OR值的关系
OR 值等于回归系数的自然对数值。若自变量X的偏回归系数为0.6,则其OR=exp(0.6)
- 若 β j < 0,则 OR 值小于 1,表示该因素是保护或抑制因素。
- 若 β j = 0,则 OR 值等于 1,表示该因素对结局的发生与否不起作用。
- 若 β j > 0,则 OR 值大于 1,表示该因素是危险或促进因素。
SPSSAU输出二元Logistic回归分析结果如下。通过逐步法,模型能自动根据显著性情况对自变量进行引入或剔除,最终保留了以下变量均对因变量“曾经违约”的影响有统计学意义。
表中重点是各因素的回归系数、OR 值及其95%CI。
(1)定量变量解读
两个定量数据“负债收入比率”“信用卡负债”的回归系数为正数,认为其与“是否违约”存在正向相关关系。相对应的 OR 值大于 1,OR 值 95% CI 不包括 1,说明“负债收入比率”“信用卡负债”越高越容易出现偿还贷款违约的情况。
以“信用卡负债”为例:
- Wald χ2=29.666,p<0.01,认为其对“是否违约”的影响有统计学意义。
- 回归系数为0.426,说明二者存在正相关关系。
- OR=1.530>1,说明其为发生违约的危险因素或促进因素,“信用卡负债”每增加一个单位,其发生违约的可能性是原来的 1.530 倍,或发生违约的可能性比原来增加 53%。
(2)定类变量解读
4 个哑变量的偏回归系数均为负数,说明其与“曾经违约”存在负相关关系,相对应的 OR 值均小于 1,OR 值 95% CI 不包括 1,说明变量对“是否违约”起抑制作用,“当前居住时长”“当前工作时长”越长(相对于参照项—最低水平哑变量时长越长)越不容易出现还贷违约的情况。
以“当前雇佣时长_10 年以上”为例:
- Wald χ2=67.611,p<0.01,相较于“当前雇佣时长_4 年以下”认为其对“是否违约”的影响有统计学意义。
- 回归系数为-3.211,说明二者存在负相关关系。
- OR=0.040<1,说明其为发生违约的保护因素或抑制因素,“当前雇佣时长”每改变一个等级,其发生违约的可能性是原来的 0.040 倍,或发生违约的可能性比原来降低 99.6%。
5、结果报告
本例建立的贷款违约二元 Logistic 回归模型为:ln(P/1-P)=-1.099-0.947×当前居住时长_10 年以上-0.789×当前居住时长_4~10 年-3.211×当前雇佣时长_10 年以上-1.292×当前雇佣时长_4~10 年+0.103×负债收入比率+0.426×信用卡负债
其中,P 代表“曾经违约”为 1 的概率,1-P 代表“曾经违约”为 0 的概率。总体而言模型有统计学意义。“负债收入比率”和“信用卡负债”正向影响违约的发生,而“当前居住时长”和“当前雇佣时长”则反向抑制违约的发生。
coefPlot 图形可直观地展示模型中引入的自变量,以及各自变量对因变量影响的 OR值情况。SPSSAU输出二元Logistic回归的OR值结果绘制的 coefPlot 图形如下图所示:
图中垂直的虚线代表 OR 值等于 1,为无效线,图中的横线段为各自变量的 OR 值 CI,线段中间的圆点为具体的 OR 值。若各自变量的 OR 值 CI 和虚线无交叉或重叠,则表示对应的自变量有显著性,位于虚线右侧表示 OR 值大于 1,为危险因素;位于虚线左侧表示 OR 值小于 1,为保护因素。
若不会解读分析结果,可以参考SPSSAU分析结果表格下方的智能分析与分析建议,如下图:
四、总结
划重点
1、应用:二元Logistic回归分析因变量为二分类变量,自变量可以为定量数据或者定类数据,定类数据时需要进行哑变量处理再分析。
2、单因素筛查:当自变量较多时,先通过单因素分析筛选自变量,然后仅保留有显著影响的自变量进行多因素Logistic回归。同时为避免遗漏重要变量,差异的显著性水平可以适当放宽。
3、哑变量参照项:进行回归分析时,针对定类变量生成的哑变量,需要留一项作为参照项,一般为最低水平。
4、回归系数与OR值:解读的时候需要注意二者的关系,定量变量与定类变量解读方式略有不同。
参考文献:周俊,马世澎. SPSSAU科研数据分析方法与应用.第1版[M]. 电子工业出版社,2024.