collinearity(二分类logistic回归)

二分类logistic回归的SPSS教程,不过有些问题未详细阐述,例如,如何验证:连续自变量与因变量的logit转换值之间存在线性关系;自变量之间无多重共线性等。经常有伙伴问到这些问题,为此,我们...

二分类logistic回归的SPSS教程,不过有些问题未详细阐述,例如,如何验证:连续自变量与因变量的logit转换值之间存在线性关系;自变量之间无多重共线性等。经常有伙伴问到这些问题,为此,我们对二分类logistic回归的教程做了更新,希望能对大家有所帮助。

一、问题与数据

某研究者想了解年龄、体重、性别和最大摄氧量(VO2max)预测患心**的能力,招募了100例研究对象完成最大摄氧量试验,登记年龄(age)、体重(weight)和性别(gender),并评估研究对象目前是否患有心**(heart_disease)。

二分类logistic回归

二、对问题的**

使用二分类Logistic模型前,需判断是否**以下7项假设。

假设1:因变量(结局)是二分类变量。假设2:有至少1个自变量,自变量可以是连续变量,也可以是分类变量。假设3:每条观测间相互独立。分类变量(包括因变量和自变量)的分类必须全面且每一个分类间互斥。假设4:最小样本量要求为自变量数目的15倍,但一些研究者认为样本量应达到自变量数目的50倍。假设5:连续的自变量与因变量的logit转换值之间存在线性关系。假设6:自变量之间无多重共线性。假设7:没有明显的离群点、杠杆点和强影响点。

假设1-4取决于研究设计和数据类型,本研究数据**假设1-4。那么应该如何检验假设5-7,并进行Logistics回归呢?

三、SPSS操作

检验假设5:连续的自变量与因变量的logit转换值之间存在线性关系

连续的自变量与因变量的logit转换值之间是否存在线性关系,可以通过多种方法检验。这里主要介绍Box-Tidwell方法,即将连续自变量与其自然对数值的交互项纳入回归方程。

本研究中,连续的自变量包括年龄(age)、体重(weight)、最大摄氧量(VO2max)。使用Box-Tidwell方法时,需要先计算age、weight和VO2max的自然对数值,并命名为ln_age、ln_weight、ln_VO2max。

(1) 计算连续自变量的自然对数值

以age为例,计算age的自然对数值ln_age的SPSS操作如下。

在主界面点击 Tran**orm→Compute Variable,出现Compute Variable对话框中。在Target Variable框中输入即将生成自然对数值的变量名称(如输入ln_age表示age的自然对数值)。

选择Function group菜单下的Arithmetic,选择Functions and special variables菜单下的Ln,双击Ln将该公式选入Numeric Expression框中,最后双击age将该变量选入“LN()”公式中。点击OK生成新变量ln_age(即age的自然对数值)。

二分类logistic回归

此时新变量会同时出现在Variable View和Data View窗**。在Data View窗**,新生成的ln_age变量如下图。

二分类logistic回归

重复以上**,将本研究中的所有连续自变量的自然对数值全部生成。在Data View中,新生成的ln_age,ln_weight,ln_VO2max变量如下图。

二分类logistic回归

(2) Box-Tidwell法

Box-Tidwell法检验连续的自变量与因变量的logit转换值之间是否存在线性关系的SPSS操作如下。

在主界面中点击 Analyze→Regression→Binary Logistic。在Logistic Regression对话框中将变量heart_disease选入Dependent框中,将变量age、weight、gender和VO2max选入Covariates框中。Methods选项选择默认值,即Enter。如果目前未选择Enter,应修改为Enter。

二分类logistic回归

点击Categorical,在Logistic Regression:Define Categorical Variables对话框中,将gender选入Categorical Covariates框中。在Change Contrast区域,将Reference Category从Last改为First后,点击Change→Continue。

二分类logistic回归

对于二分类变量(如本研究的gender),也可以不通过Categorical选项指定参照,SPSS将默认以赋值较低的变量为参照。

Categorical选项可将多分类变量(包括有序多分类和无序多分类)变换成哑变量,指定某一分类为参照。比如,某研究中COPD是多分类变量(分为无COPD病史、轻/中度、中度),如果指定“无COPD病史”的研究对象为参照组,可以分别比较“轻/中度”和“重度”组相对于参照组发生结局的风险。

Contrast右侧的下拉菜单中(该下拉菜单内的选项是几种与参照比较的**),Indicator**最常用,其比较方法为:第一类或最后一类为参照类,每一类与参照类比较。在Reference Category的右侧选择First,表示本研究以女性为对照组(赋值为0)。

回到Logistic Regression对话框后,可见gender已显示为gender(Cat)。分类变量后显示“(Cat)”说明已正确定义分类变量。

二分类logistic回归

设置好分类自变量后,开始生成交互项。以age和ln_age为例,同时选中age和ln_age(使用Ctrl键+鼠标点击),点击>a*b>键,将ln_age*age交互项选入Covariates框中。

二分类logistic回归

重复以上**,将所有交互项都选入Covariates框中,点击OK。

二分类logistic回归

(3) 假设5的检验结果

查看Variables in the Equation表格中,有交互作用的行及行内“Sig”值,本研究中为age by ln_age、ln_weight by weight和VO2max by ln_VO2max”所在的行及行内“Sig”值。

二分类logistic回归

如果交互作用有统计学意义(P<>

本研究中,共有8项纳入模型**,包括三个连续自变量age、weight、VO2max,分类自变量gender,三个交互作用项age*ln_age、ln_weight*weight、VO2max*ln_VO2max和截距项(Constant)。

因此本研究中,建议选择显著性水平应为α=0.00625(即0.05 ÷ 8)。根据该显著性水平,本研究所有交互项的P值均高于0.00625,因此所有连续自变量与因变量logit转换值之间存在线性关系。

假设5检验完之后,有两种情况:① 所有连续自变量与因变量的logit转换值间存在线性关系,则直接进行下一步;② 如果一个及以上连续自变量与因变量的logit转换值间不存在线性关系,建议将该变量转换为有序分类变量。

(关于Box-Tidwell法,我们主要参考了外文的一些资料,小咖手上有两个PDF,有需要的伙伴,请在下方留言。)

检验假设6:自变量之间无多重共线性

与线性回归一样,Logistic回归模型也需要检验自变量之间是否存在多重共线性。自变量之间的简单相关或多重相关都会产生多重共线性。

容忍度(Tolerance)或方差**因子(VIF)可以用来诊断自变量之间的多重共线性。遗憾的是,SPSS的Binary Logistic模块并不能提供容忍度或方差**因子,但是我们可以通过线性回归来**。

由于我们关心的是自变量之间的关系,因此容忍度或方差**因子与模型中因变量的函数形式无关。也就是说,我们可以将Logistic回归的因变量(二分类变量)、自变量(二分类、多分类或连续变量)直接带入线性回归模型,从而**容忍度或方差**因子。

在主界面点击Analyze→Regression→Linear,将heart_disease选入Dependent,将age、weight、gender和VO2max选入Independent(s)。

二分类logistic回归

点击Statistics,出现Linear Regression:Statistics对话框,点击Collinearity diagnostics→Continue→OK。

二分类logistic回归

结果如下图:

二分类logistic回归

如果容忍度(Tolerance)小于0.1或方差**因子(VIF)大于10,则表示有共线性存在。本例中,容忍度均远大于0.1,方差**因子均小于10,所以不存在多重共线性。如果数据存在多重共线性,则需要用复杂的方法进行处理,其中最简单的方法是剔除引起共线性的因素之一,剔除哪一个因素可以基于理论依据。

检验假设7:没有明显的离群点、杠杆点和强影响点

该假设的SPSS操作可见后面的“Logistic 回归”部分,此处仅展示如何解读结果。结果中Casewise List表格显示学生化残差大于2倍**差的观测。学生化残差大于2.5倍**差的观测需要研究者进一步观察决定这些观测是否是离群点,如有必要甚至可以从**中剔除这些观测。

本例中,第70个观测(Case Number)的学生化残差为3.349,符合上述判断离群点的**。

二分类logistic回归

需要注意的是:

① 如果所有观测的学生化残差小于2倍**差,SPSS不会输出Casewise List表格。如果已经剔除离群点,则第一次****的Casewise Diagnostics表格不会再显示。

② 观测数(Case Number)指SPSS系统内自动编码(Data View窗**最左侧蓝色一列中的编码),而非研究者赋值的编码。

③ 研究者需要查看该观测为离群点的原因,决定是否删除该观测并报告。本研究考虑不删除该观测,并在结果中报告“纳入**的观测中有一项观测的学生化残差为3.349”。

Logistic 回归

在主界面点击Analyze→Regression→Binary Logistic,在Logistic Regression对话框中,将heart_disease选入Dependent,将age、weight、gender和VO2max选入Covariates。并按照前述操作,通过Categorical将gender变换为哑变量。

注意:如果是按本文中指导的步骤依次进行的**,此时Logistic Regression对话框下为因变量heart_disease,Covariates框中为4个自变量age、weight、gender(Cat)、VO2max和3个交互项ln_age*age、ln_weight*weight、ln_VO2max* VO2max。

此时仅需要将交互项ln_age*age、ln_weight*weight、ln_VO2max* VO2max从Covariates框中删除即可。

二分类logistic回归

对于自变量筛选的方法(Method对话框),SPSS提供了7种选择,使用各种方法的结果略有不同,读者可相互印证。各种方法之间的差别在于变量筛选方法不同,其中Forward: LR法(基于最大似然估计的向前逐步回归法)的结果相对可靠,但最终模型的选择还需要**专业理论的支持。本文以Enter法为例进行展示(其它方法**的结果,解释方法一样)。

点击Options,在Logistic Regression:Options对话框中,选中Classification plots,Ho**er-Lemeshow goodness-of-fit,Casewise listing of residuals和CI for exp(B)这4个选项。在Display区域,选中At last step选项。点击Continue→OK。

二分类logistic回归

四、结果解释

1. 检查变量和数据

首先检查是否存在缺失观测,纳入**的观测数是否和数据库中观测数一致。Case Processing Summary表格如下图。

二分类logistic回归

确认因变量的编码是否正确。Dependent Variable Encoding表格如下图。

二分类logistic回归

观察分类自变量是否存在某一类观测数过少的情况,如果某项分类较少,可能不利于二项Logistic回归**。本研究中,定义的分类自变量只有gender,因此Categorical Variables Codings表格只给出了gender的信息。

二分类logistic回归

2. 基本**

此部分结果的标题为“Block 0:Beginning Block”,指的是所有自变量不纳入模型、只包括常数项时的结果。此部分可以跳过。

3. Logistic回归

此部分结果的标题为“Block 1:Method=Enter”(Enter指前述SPSS操作部分所述的自变量筛选方法)。

(1) 模型整体评价

Omnibus Tests of Model Coefficients是模型系数的综合检验。其中Model一行输出了Logistic回归模型中所有参数是否均为0的似然比检验结果。P<>

二分类logistic回归

Ho**er and Lemeshow Test是检验模型的拟合优度。当P值不小于检验水准时(即P>0.05),认为当前数据中的信息已经被充分提取,模型拟合优度较高。

二分类logistic回归

Model Summary表格中,提供了因变量的变异能够被拟合的模型解释的比例。该表格包含Cox & Snell R Square和Nagelkerke R Square,这两种R2有时被称为伪R2,在Logistic回归中意义不大(与线性回归中的不同),可以不予关注。

(2) 模型预测能力

拟合Logistic回归模型后,对于每一个自变量组合,均可以**结局事件(本例中为患心**)发生的概率。如果事件发生的概率大于或等于0.5,Logistic回归判断为事件发生(患心**);如果可能性小于0.5,则判断为事件未发生(未患心**)。因此,与真实情况相比,就可以评价Logistic回归模型的预测效果。

二分类logistic回归

Logistic回归模型能够将71.0%的观测正确分类(Overall Percentage一行),该指标常被称作percentage accuracy in classification(正确分类百分比),即诊断试验中的一致率。

预测为“是”的观测数占实际为“是”的观测数的比例即灵敏度。本研究中,45.7%患有心**的研究对象被模型预测患有心**。预测为“否”的观测数占实际为“否”的观测数的比例即特异度。本研究中,84.6%未患心**的研究对象被模型预测未患心**。

同理,还可以计算**阳性预测值(61.5%)和阴性预测值(74.3%)。

(3) 方程中的自变量

由于本次统计**中筛选变量的**是Enter法,因此所有自变量均**了模型,Variables in the Equation表格中也列出了所有自变量及其参数。其中Sig.一列表示相应变量在模型中的P值,Exp (B)和95% CI for EXP (B)表示相应变量的OR值和其95%可信区间。

二分类logistic回归

结果显示,age(P=0.003),gender(P=0.021)和VO2max(P=0.039)有统计学意义,但weight(P=0.799)没有统计学意义。

对于分类变量,OR值的含义为:相对于赋值较低的研究对象(gender赋值为“0”的为女性),赋值较高的研究对象(男性)患心**的风险是多少(7.026倍)。对于连续变量,OR值的含义为:自变量每**一个单位(年龄每**1岁),发生结局的风险**的倍数(1.089倍)。

五、撰写结论

本研究采用二分类Logistic回归评估年龄、体重、性别和最大摄氧量对研究对象患心**的影响。使用Box-Tidwell方法检验连续自变量与因变量logit转换值间是否为线性。线性检验模型时共纳入8项,Bonferroni校正后显著性水平为0.00625。线性检验结果**所有连续自变量与因变量logit转换值间存在线性关系。一个观测的学生化残差为**差的3.349倍,但保留在**中。

最终,**的Logistic模型具有统计学意义,χ2=27.402,P<>

模型纳入的五个自变量中,年龄、性别和最大摄氧量有统计学意义。男性患心**的风险是女性的7.026倍。年龄每**1岁,患心**的风险**8.9%。最大摄氧量每**一个单位,患心**的风险**9.4%。

  • 发表于 2022-11-30 14:43:18
  • 阅读 ( 88 )
  • 分类:科技

0 条评论

请先 登录 后评论
浏览:91
浏览:91

634 篇文章

你可能感兴趣的文章

相关问题