多分类Logit分析

  • B站优酷 Logistic回归分析对比及剖析
  • 在研究X对于Y的影响关系时,如果Y为定类数据,比如是否愿意购买,是否愿意推荐,出行方式偏好,总统候选人选择偏好等。当Y为定类数据时,则应该使用Logistic回归分析,而具体来看,logistic回归可以划分为二元logistic回归分析,或者多分类logistic回归分析。二者即有相同之处,也有不同的地方。主要区别在于Y的选项个数。

    • 特征 举例 其它
      二元Logistic回归 Y为定类且选项仅2个 是否愿意购买(愿意用1表示,不愿意用0表示) Y的数字个数仅2个,且数字只能为0和1
      多分类Logistic回归 Y为定类且选项大于2个 总统候选人偏好(特朗普、希拉里、卢比奥)
      • 需要特别注意的地方在于:
      • Logistic回归时,因变量Y值为定类数据,因而需要有对照参考项。如果是二元Logistic回归,默认以数字0作为参考项【通常数字0表示不愿意,不喜欢,不会等】;如果是多分类logistic回归,则SPSSAU默认以第一项【即数字最小的那项】作为参考项。

      • 如果希望改变对照项,可使用数据编码功能先编码后再分析。同时针对定类数据,SPSSAU建议先进行数据标签设置,便于系统输出带“标签”的智能文字分析。

    • 多分类logistic回归(也称作多元logistic回归,多项Logit等),对于多分类logistic回归建模,通常需要分析信息包括:基本信息描述,模型检验判断或者对比,模型结果汇总。SPSSAU分别输出三个表格。

      SPSSAU分析结果表格示例如下:

      多分类Logistic回归分析基本汇总
      名称 选项 频数 百分比
      总统候选人选择 特朗普 661 35.79%
      希拉里 278 15.05%
      卢比奥 908 49.16%
      总计 1847 100.0

      上表格对于模型的因变量进行基本统计。

    • 多分类Logistic回归模型似然比检验
      似然比卡方值 df p AIC 值 BIC 值 -2LLNULL值 -2LLF值
      91.573 6 0.000 3625.256 3669.427 3700.829 3609.256

      上表格是模型检验判断或者相关模型对比指标等,其中p 值用于验证模型是否有意义;AIC或BIC 值用于对比不同模型的优劣。

    • 多分类Logistic回归分析结果汇总
      希拉里 回归系数 标准误 z p OR值 OR值95% CI(LL) OR值95% CI(UL)
      性别(男) 0.309 0.145 2.127 0.033 1.362 1.025 1.810
      年龄 -0.437 0.072 -6.076 0.000 0.646 0.561 0.744
      学历 -0.065 0.062 -1.053 0.292 0.937 0.829 1.058
      截距 0.081 0.224 0.364 0.716 1.085 0.700 1.682
      卢比奥 回归系数 标准误 z p OR值 OR值95% CI(LL) OR值95% CI(UL)
      性别(男) -0.436 0.104 -4.192 0.000 0.647 0.527 0.793
      年龄 0.076 0.050 1.516 0.130 1.079 0.978 1.191
      学历 -0.002 0.043 -0.054 0.957 0.998 0.917 1.085
      截距 0.312 0.171 1.826 0.068 1.366 0.977 1.910
      McFadden R 方:0.025

      上表格是模型结果汇总表格,也是最核心的表格。具体关于多分类Logistic回归的剖析,请参考下面的案例解析。

多分类Logit回归案例

  • 1、背景

    在2016年美国总统选举时,共有三名候选人,分别是特朗普、希拉里、卢比奥。有一市场研究公司想预测最终谁会胜出,因此收集到共1847名民众信息,包括选择偏好,性别,年龄,学历等信息进行研究,研究性别,年龄和学历对于总统候选人选择的影响情况,最终做出科学预测。

  • 2、理论

    多分类Logistic回归分析用于研究X对于Y的影响关系,其中X,也可以是定类数据(如果X为定类数据,需要做虚拟(哑)变量设置),Y为多分类定类数据。针对多分类Logistic回归分析时,可分为三个步骤。

    第一:模型的基本背景情况说明;比如模型研究X对于Y的影响,X分别是那些,Y具体情况如何等。

    第二:针对模型的构建和比较过程进行描述,包括分析p 值来检测模型构建是否有意义,以及模型构建时的重复选择过程,使用AICBIC准则对比,选出最优模型等;

    第三:针对模型的具体情况进行分析,首先分析p 值,如果此值小于0.05,说明X对于Y有影响关系,接着再具体研究影响关系情况即可,比如是正向影响还是负向影响关系等;除此之外,还可以写出回归模型构建公式,以及模型的预测准确率情况等。

    • 特别提示
    • 多分类Logistic回归时,Y是定类数据;需要有对照项,SPSSAU默认以Y对应的最小数字作为对照项。

    • 一定注意,SPSSAU建议首先对Y进行标签设置;便于输出带‘标签’的智能文字分析;

    • 如果X为定类数据,通常情况下需要将X进行虚拟(哑)变量设置【SPSSAU中生成变量功能中有】。

    • 如果X为定类数据,此时可以考虑使用交叉卡方分析去研究X和Y的关系。

    • 多分类Logistic回归模型,可通过对比AIC或BIC 值,对比选出最优模型。

    • 如果X非常多(比如超过10个),此时可以先对定类的X与Y进行卡方分析,对定量的X与Y进行方差分析,先看有没有差异关系,将最终有差异关系的X放入回归模型中,这样X会较少,并且X与Y均有差异关系,也更可能有影响关系,此时模型的构建会更有科学。

  • 3、操作

    • 本例子中研究X对于Y的差异;X分别性别,年龄和学历; Y为总统候选人。放置如下:

  • 4、SPSSAU输出结果

    SPSSAU共输出三个表格结果,上述已有说明不再赘述。

  • 5、文字分析

    多分类Logistic回归分析基本汇总
    名称 选项 频数 百分比
    总统候选人选择 特朗普 661 35.79%
    希拉里 278 15.05%
    卢比奥 908 49.16%
    总计 1847 100.0

    本研究共收集数据1847份。使用多分类logistic回归分析进行建模,研究民众性别,年龄和学历对于总统候选人的影响关系。总统候选人为定类数据,而且共为三名,分别是特朗普,希拉里和卢比奥。从上表可知,选择特郞普的比例是35.79%,希拉里的选择比例是15.05%,卢比奥的比例最高为49.16%。

    在进行模型构建时,将特朗普作为参照对比项。以及自变量中性别为定类数据,因而首先将其进行哑变量设置后,并且将女作为参照对比项,因此最终将“性别(男)”放入模型中。

    多分类Logistic回归模型似然比检验
    似然比卡方值 df p AIC 值 BIC 值 -2LLNULL值 -2LLF值
    91.573 6 0.000 3625.256 3669.427 3700.829 3609.256

    上表格对于模型构建是否有意义进行验证,模型检验的原定假设为:是否放入自变量(性别(男), 年龄, 学历)时模型质量均一样;这里p 值小于0.05(χ2=91.573,p =0.00),因而说明拒绝原定假设,即说明本次构建模型有意义。

    • 特别提示
    • AIC和BIC 值用于模型的对比,其标准为越小越好;如果同一个模型构建了两次(比如一个模型不放入学历,另一个模型放入学历),可将AIC和BIC 值记录下来,并且进行对比,最终选出最有意义的模型。

    多分类Logistic回归分析结果汇总
    希拉里 回归系数 标准误 z p OR值 OR值95% CI(LL) OR值95% CI(UL)
    性别(男) 0.309 0.145 2.127 0.033 1.362 1.025 1.810
    年龄 -0.437 0.072 -6.076 0.000 0.646 0.561 0.744
    学历 -0.065 0.062 -1.053 0.292 0.937 0.829 1.058
    截距 0.081 0.224 0.364 0.716 1.085 0.700 1.682
    卢比奥 回归系数 标准误 z p OR值 OR值95% CI(LL) OR值95% CI(UL)
    性别(男) -0.436 0.104 -4.192 0.000 0.647 0.527 0.793
    年龄 0.076 0.050 1.516 0.130 1.079 0.978 1.191
    学历 -0.002 0.043 -0.054 0.957 0.998 0.917 1.085
    截距 0.312 0.171 1.826 0.068 1.366 0.977 1.910
    McFadden R 方:0.025

    本次研究模型时,将特朗普作为对比参照项,自变量分别为:性别(男),年龄和学历。首先构建模型公式分别如下:

    • ln(希拉里/特朗普)=0.081 + 0.309*性别(男)-0.437*年龄-0.065*学历;

    • ln(卢比奥/特朗普)=0.312-0.436*性别(男) + 0.076*年龄-0.002*学历;

    以特朗普为对照项,分析希拉里的选择偏好情况。表格中显示:性别(男)的回归系数值为0.309>0,并且呈现出0.05水平的显著性(p =0.033 <0.05);则说明在特朗普和希拉里之间进行PK时,男性群体更加愿意选择希拉里。年龄的回归系数值为-0.437<0,并且呈现出0.01水平的显著性( p =0.000<0.01), 则说明在特朗普和希拉里之间进行PK时,年龄越大的群体,他们会更加愿意选择特朗普。

    以特朗普为对照项,分析卢比奥的选择偏好情况。表格中显示:性别(男)的回归系数值为-0.436 <0,并且呈现出0.05水平的显著性(p =0.000 <0.05);则说明在特朗普和卢比奥之间进行PK时,男性群体更加愿意选择特朗普。

    • 特别提示:
    • 在医学研究中,很可能会对OR值进行分析,其意义在于X增加1个单位时,Y的变化幅度情况。如果仅研究影响关系,则OR值的意义相对较小;

    • SPSSAU提供McFadden R 2值,其代表X对于Y的解释力度,比如上例中为0.025,即说明性别,年龄和学历共三个X可以解释总统候选人选择偏好2.5%的原因。通常情况下,此值使用较少。

  • 6、剖析

    多分类Logistic回归分析涉及以下几个关键点,分别如下:

    • SPSSAU默认将Y的最小数字作为对照项;

    • 在分析前建议首先对Y进行数据标签设置;

    • 如果模型预测准确率较低,需要多次进行分析对比(使用AIC和BIC 值),找出最优的模型结果;

    • 如果X是定类数据,此时需要对X进行虚拟(哑)变量设置。

    • 如果X的个数非常多(比如超过10个),此时需要进行甄别选择出有意义的X(比如使用方差分析或者卡方分析,选出X与Y有显著差异的X放入多分类Logistic回归模型中)。

疑难解惑

  • 出现非常多的‘null值’或者“数据质量异常!”
  • 如果模型质量非常糟糕,会出现很多的null值。建议首先查看因变量Y的类别分布情况(使用频数分析),如果Y的类别很多,而且个别类别的频数很低,则很容易出现此类问题。建议将因变量Y进行重新分组,使用“数据处理->数据编码”功能,然后重新分析。

  • 提示“Y的选项过少或过多”?
  • 如果出现此提示,意味着因变量Y的选项不符合多分类logistic回归分析要求,通常情况下因变量Y的分类个数应该介于3~8个之间。

  • 1.用户可使用频数分析功能进行查看因变量Y的选项个数情况;

  • 2.如果选项个数过多需要进行合并处理等,可使用【数据处理->数据编码】功能操作。

  • 参照项或参考项设置问题?
  • 进行多分类Logit时, SPSSAU默认以第一项【即数字最小的那项】作为参考项。如果需要进行改变,可使用【数据处理->数据编码】功能进行设置,将参考项的数字设为最小即可,如下图所示(原本以1作为参考项,现在改为3作为参考项,将3设置为数字最小0即可,当然设置其它更小值比如-1也可以):

  • McFadden R 方、Cox & Snell R 方和Nagelkerke R 方相关问题?
  • Logit回归时会提供此3个R 方值,此3个R 方均为伪R 方值(并非像线性回归的R 方值意义一样),其值越大越好,但其无法非常有效的表达模型的拟合程度,意义相对交小,而且多数情况此3个指标值均会特别小,研究人员不用过分关注于此3个指标值。

  • 结果出现一大堆的nan或者null值问题如何解决?
  • 出现此种情况原因是模型无法收敛所致。建议按以下步骤进行检查并解决。

  • 第一:数据分布严重不均匀。如果因变量有5个不同的数字,其中某项的比例仅为1%,也或者频数仅为个位数;此时有可能出现无法收敛模型无法拟合;

  • 第二:自变量中放入虚拟变量,比如学历有5项,虚拟变量出来为5项,5项全部都放入了模型,这一定会出错;

  • 第三:将所有项做相关分析,如果两两项之间的相关关系非常强(比如大于0.8)说明共线性问题严重,将此类自变量移除出去,再次分析就好;

  • 第四:分析样本量过小,比如分析项有10个,但分析样本量仅20个。

  • z 值的意义是什么?
  • z 值=回归系数/标准误,该值为中间过程值无意义,只需要看p 值即可。有的软件会提供wald值(但不提供z 值,该值也无实际意义),wald值= z 值的平方。

  • 多分类logit回归结果中出现非常多的null值?
  • 多分类logit回归,出现一堆null值,通常是由于‘因变量的类别分布有问题,比如某个类别的样本量小于10无代表性,也或者有共线性问题需要查看’,此时建议对因变量的各选项进行合并组别(或者先筛选下),然后再次进行分析。当然也有可能是由于共线性问题导致无法拟合出结果,此时可先进行相关分析,将相关系数值过大的项移出模型中再次进行分析即可。

  • 多分类logit回归的结果与SPSS不一致?
  • 针对多分类logit回归,SPSSAU默认是以第一项作为参照项,而SPSS默认是最后一项作为参考项,研究中以第一项还是最后一项作为参考项并没有固定的标准,更常用是使用第一项作为参考项。

  • 多分类logit回归保存预测类别?
  • 在进行多分类logit回归时,可选择将分析的预测类别进行保存,SPSSAU默认会新生成一列标题来标识预测识别,标题名称类似为“MulLogit_PredCategory_****”。

  • Logit回归时少了一项(阈值)?
  • 有序logit回归或者多分类logit回归时,spssau默认会设置第一项作为参照项,因此输出结果时会少一项。