二分类 Logistic 回归

Logistic回归是一种广义线性模型,适用于处理具有二分类结果的因变量。Logistic回归的特点是使用logit函数将线性预测子与因变量之间的关系建立起来,从而可以预测事件发生的概率。在医学研究中,Logistic回归常用于分析疾病发生与危险因素之间的关系。

以下是一个医学研究中应用Logistic回归的例子:

假设我们要研究糖尿病(因变量)与年龄、性别、体重指数(BMI)等危险因素(自变量)之间的关系。在这个例子中,我们可以运用Logistic回归模型来预测糖尿病发生的概率,进而分析这些危险因素与糖尿病之间是否存在显著关系。

MSTATA统计软件中的Logistic回归模块提供了Logistic回归的所有相关功能,可谓集大成者,包括:

  1. 设置自变量:可根据研究目的设置一个或多个自变量。

  2. 支持交互作用项:可以分析自变量间的交互作用对因变量的影响。

  3. 设置分类自变量的参照水平:方便进行多水平分类自变量的比较。

  4. 适用条件判断(多重共线性分析):检查自变量间是否存在多重共线性,以确保模型稳定性。

  5. 展示回归系数:输出每个自变量对应的回归系数。

  6. 展示OR值和可信区间:方便对各自变量的影响力进行评估。

  7. 模型拟合评价:包括Deviance、AIC、BIC、McFadden’s R²、Cox & Snell’s R²和Nagelkerke’s R²。

  8. 做Omnibus似然比检验:检验模型整体的显著性。

  9. Estimated Marginal Means分析:包括生成估计边际平均值(概率图)。

  10. 诊断预测和ROC曲线:评估模型的诊断能力。

  11. ROC曲线评估:计算AUC值及灵敏度特异度等,评估模型的区分能力。

  12. 生成cut-off图:根据截断点,进行分类预测。

  13. 生成分类表(混淆矩阵):用于评估模型的预测准确性。

  14. 导出Word格式的统计报告:方便进一步编辑和整理。

准备数据

首先务必按照下面的格式准备数据(网站上可下载,下载后在此基础上修改):

下载csv样例数据(右击另存为)

打开如下图:

本样例数据的规则:

  1. 一个患者一行(这是准备数据最重要的前提)。

  2. 代表结局的应变量:例如上图中的Effectiveness,有疗效Good、Bad两种情况

    解释变量(自变量):例如上图中的age、sex等等一系列指标。

  3. 解释(自)变量有两种,连续性变量(值是连续数据,它可以在变量值所属区间内任意进行取值,如年龄[岁]、血糖值、人的身高、智商等)以及分类变量(是说明事物类别的一个名称,其取值是分类数据。如”性别”就是一个分类变量,其变量值为”男”或”女”;“行业”也是一个分类变量,其变量值可以为”零售业”、“旅游业”、“汽车制造 业”等),在本例中 Age和Blood_test是连续性变量(numeric), 其他的是分类变量(factor)。

    以上概念很重要,后面有一个页面专门设置连续变量和分类变量。

Logistic回归分析

下一步就是回归分析啦:

选择结局变量

选择二分类变量作为应变量进行logistic回归。

选择解释变量(自变量)

根据提示选择自变量。这里要注意的是,如果上传的数据Excel文件里把连续性变量设置成了字符型,如年龄设置成了字符型,需要在前面”选择字段”功能里改回成numeric,如果按照分类变量放进影响因素分析。同理,如果把ID号也作为分类变量放进影响因素,也会出问题。

另外,在分类变量里,有些亚组人数很少,最好把它和其他亚组合并之后再传上来分析,亚组人数太少容易让可信区间特别宽,影响排版。当然,后续我们也会增加一个合并亚组的小工具。

选择交互作用

点开交互作用选项,点击增加交互作用项按钮,选定两个及以上变量即可生成交互作用项,如果要增加多个交互作用项,重复点击”增加交互作用项”按钮即可;如果选错了,点击重置清零即可。

设置分类变量的参照组

分类变量会被自动拆成哑变量处理,可以下拉选择参照水平。通常选临床默认的参照水平,也可以将样本量最大的亚组设置为参照水平,以增加统计分析效能。

多重共线性分析

多重共线性是指自变量之间存在较高的相关性,可能导致回归系数估计不稳定,影响模型解释和预测能力。在Logistic回归中,多重共线性分析的目的是检查模型中自变量间是否存在较强的线性关系,以便在建模过程中采取相应措施。

多重共线性的判断通常基于方差膨胀因子(Variance Inflation Factor, VIF)和容忍度(Tolerance)两个指标。

  1. 方差膨胀因子(VIF):VIF是一个衡量多重共线性程度的指标,可以反映自变量的方差与无共线性情况下的方差之间的比值。VIF值越大,表示该自变量与其他自变量之间的共线性越强。通常,VIF值大于10被认为存在较强的多重共线性。

计算公式:VIF = 1 / (1 - R²)

其中,R²是该自变量作为因变量,其他自变量作为解释变量时,线性回归模型的解释力。

  1. 容忍度(Tolerance):容忍度是VIF的倒数,用于衡量一个自变量与其他自变量之间的独立性。容忍度值越小,表示该自变量与其他自变量之间的共线性越强。通常,容忍度值小于0.1被认为存在较强的多重共线性。

计算公式:Tolerance = 1 - R²

在实际应用中,可以通过计算每个自变量的VIF和容忍度来判断多重共线性的程度。如果发现存在较强的多重共线性,可以采取以下措施:

  1. 增加样本量:有时候多重共线性是由于样本量不足导致的,增加样本量可能有助于降低多重共线性。

  2. 删除某些自变量:如果某些自变量之间存在强相关性,可以考虑删除其中之一,以降低多重共线性。

  3. 组合自变量:对于高度相关的自变量,可以考虑将它们组合成一个新的自变量。

  4. 引入Lasso或者岭回归等方法:这些方法可以在一定程度上解决多重共线性问题。

总之,在进行Logistic回归分析时,应关注多重共线性的问题,通过VIF和容忍度等指标判断自变量间的相关性,并采取相应措施以确保模型的稳定性和解释力。

可以用本站另外一个APP”从单因素到多因素分析中自动变量筛选”功能来筛选变量,APP位于www.mstata.com , “以临床研究类型分类” - “影响因素分析” 菜单

多重共线性分析结果:

Logistic回归结果展示选项

选择结果展示的表格外观:

可以选择是否显示回归系数的置信区间、是否显示OR值,是否显示OR值的置信区间,以及是否做似然比检验。

回归分析结果如下:

在二分类Logistic回归分析中,对于每个自变量,我们需要估计其对应的参数。参数的估计值反映了自变量与因变量之间的关系。在结果报告中,我们通常可以找到以下信息:

Estimate(估计值):自变量对应的回归系数估计值。系数的正负表示自变量与因变量之间的正负相关关系。系数的绝对值表示了自变量变化一个单位时,对应的log-odds变化的大小。

SE(标准误差):回归系数估计值的标准误差。标准误差是估计值的不确定性度量,用于计算置信区间和进行假设检验。

Z(Z统计量):回归系数估计值除以其标准误差得到的值。Z统计量用于检验回归系数是否显著地不同于零。

p-value(p值):对应于Z统计量的p值。如果p值小于预定显著性水平(例如0.05),我们可以拒绝零假设(即回归系数为0),认为该自变量对因变量具有显著影响。

OR(Odds Ratio,比值比):回归系数的指数形式。比值比表示自变量每增加一个单位时,事件发生几率(Odds)的变化。值大于1表示自变量增加时,事件发生几率增加;值小于1表示自变量增加时,事件发生几率减少;值等于1表示自变量与事件发生几率无关。

95% CI Lower(95%置信区间下限):回归系数的95%置信区间的下限。置信区间表示我们对回归系数的不确定性范围。

95% CI Upper(95%置信区间上限):回归系数的95%置信区间的上限。置信区间表示我们对回归系数的不确定性范围。

总之,这些结果参数帮助我们了解自变量与因变量之间的关系、显著性和不确定性。通过分析这些参数,我们可以评估自变量对事件发生几率的影响以及其显著性水平。

似然比检验:

在二分类Logistic回归中,Omnibus似然比检验用于评估模型中一个或多个自变量对模型拟合优度的显著性贡献。这种检验通过比较包含某个自变量的完整模型与不包含该自变量的简化模型之间的对数似然差值来进行。差值经过计算后,得到一个χ²统计量,然后根据自由度(df)来计算对应的p值。较低的p值表示在包含该自变量的情况下,模型的拟合优度显著地得到了改善。

从结果中,我们可以看到不同自变量对模型拟合优度的贡献。例如,年龄(Age)的p值为0.0287,小于0.05,表示年龄对模型的拟合具有显著性贡献。然而,性别(Sex)的p值为0.9727,大于0.05,表明性别对模型的拟合优度没有显著影响。

通过Omnibus似然比检验,我们可以了解到哪些自变量对Logistic回归模型的拟合优度有显著性贡献,从而帮助我们确定关键因素,优化模型和提高预测准确性。

模型拟合评价

选择模型拟合评价的参数:

在Logistic回归分析中,模型拟合优度评价是用于衡量模型与数据之间拟合程度的指标。以下介绍几种常见的Logistic回归模型拟合优度评价指标:

离差(Deviance):离差是基于似然比的一种度量,用于衡量拟合模型与完全拟合模型(即每个观测值都有一个独立参数)之间的差异。较小的离差值表示模型拟合较好。离差值本身无明确标准,通常用于模型间的比较。

AIC(Akaike Information Criterion):AIC是由赤池质量量提出的一种模型选择准则,用于衡量模型拟合优度和模型复杂度之间的平衡。AIC值越小,表示模型拟合较好。AIC主要用于比较不同模型的拟合优度。

计算公式:AIC = -2 * ln(似然比) + 2 * k

其中,k表示模型中参数的个数。

BIC(Bayesian Information Criterion):BIC与AIC类似,也是一种衡量模型拟合优度和模型复杂度之间的平衡的指标。与AIC相比,BIC对模型复杂度的惩罚更大。BIC值越小,表示模型拟合较好。BIC也主要用于比较不同模型的拟合优度。

计算公式:BIC = -2 * ln(似然比) + k * ln(n)

其中,k表示模型中参数的个数,n表示样本量。

伪R²(pseudo-R²):伪R²是Logistic回归中类似于线性回归中R²的指标,用于衡量模型解释力。伪R²的值介于0和1之间,值越接近1,表示模型解释力越强。常见的伪R²有McFadden’s R²、Cox & Snell’s R²和Nagelkerke’s R²。

1)McFadden’s R²:McFadden提出的伪R²,基于空模型(不包含任何自变量)与拟合模型的离差之比。

计算公式:McFadden’s R² = 1 - (拟合模型离差 / 空模型离差)

2)Cox & Snell’s R²:Cox和Snell提出的伪R²,基于空模型和拟合模型的似然比。

计算公式:Cox & Snell’s R² = 1 - (拟合模型似然 / 空模型似然)^(2/n)

其中,n表示样本量。

3)Nagelkerke’s R²:Nagelkerke对Cox & Snell’s R²进行了调整,使其最大值为1,因此在实际应用中更为常用。

计算公式:Nagelkerke’s R² = (Cox & Snell’s R²) / (1 - 空模型似然^(2/n))

其中,n表示样本量。

以上各个参数的定义、意义和评价方法在Logistic回归模型拟合优度评价中都起到了重要作用。在模型评估和选择时,我们需要综合考虑这些指标,以确保选出的模型具有较好的拟合优度和较低的复杂度。需要注意的是,这些指标并非绝对标准,而是用于在多个模型之间进行相对比较。在实际应用中,除了考虑这些指标,还应结合领域知识和研究目标进行模型选择和评估。

模型拟合评价结果如下:

进行估计边际平均值分析:

估计边际平均值(Estimated Marginal Means,EMM)在Logistic回归中是一种描述自变量对因变量(概率)影响的方法。它考虑了其他自变量和交互作用的影响,计算在特定水平或条件下的预测概率。估计边际平均值有助于我们更直观地理解模型中各变量的效应,尤其是在模型中存在交互作用时。

在Logistic回归中,估计边际平均值通常表示某一自变量水平下事件发生的预测概率。这个概率是基于模型中所有其他自变量取其平均值或设定值时的预测值。通过计算不同自变量水平下的估计边际平均值,我们可以比较不同条件下事件发生的可能性。

统计图表在估计边际平均值分析中起到了重要作用。通常,我们使用线图或柱状图展示不同自变量水平下的估计边际平均值,其中横坐标表示自变量的水平,纵坐标表示预测的概率。这样的图表可以帮助我们直观地观察不同自变量水平下事件发生概率的变化,进而分析自变量对事件发生概率的影响。

例如,在一个研究中,我们关心某种药物剂量对患者康复概率的影响,同时需要考虑年龄的影响。在进行Logistic回归分析后,我们可以计算不同药物剂量下的估计边际平均值,并绘制统计图表。图表上的纵坐标表示患者康复的预测概率,横坐标表示药物剂量。通过观察图表,我们可以直观地了解药物剂量与康复概率之间的关系,为临床决策提供依据。

总之,估计边际平均值分析在Logistic回归中具有重要意义,可以帮助我们更好地理解自变量对事件发生概率的影响。通过绘制统计图表,我们可以直观地展示和比较不同自变量水平下的预测概率,从而为实际应用提供依据。

估计边际平均值(Estimated Marginal Means,EMM)分析结果如下:

横坐标是自变量的不同取值,纵坐标是结局事件发生的期望概率。期望,就是平均的意思,所以是自变量每个取值患者们,调整了协变量之后的平均概率。

做诊断预测和ROC曲线

Logistic回归的诊断预测主要用于评估模型在预测二分类结果方面的表现。接收者操作特征曲线(ROC曲线)是一种用于评价二分类模型预测性能的图形工具,横坐标表示1-特异度,纵坐标表示灵敏度。ROC曲线下的面积(AUC,Area Under the Curve)越接近1,表示模型的分类预测能力越强。

MSTATA软件界面提供了以下功能,用于评估Logistic回归模型的诊断预测性能:

  1. 显示模型的ROC曲线:绘制ROC曲线,直观展示模型在不同截断值下的特异度和灵敏度变化。

  2. 显示AUC值:计算ROC曲线下的面积,衡量模型的预测性能。AUC值越接近1,预测性能越好;接近0.5时,预测性能不佳,相当于随机猜测。

  3. 设定截断值(cut-off):截断值是一个阈值,用于将预测概率转换为二分类结果。通过调整截断值,可以在特异度和灵敏度之间找到一个平衡。

  4. 显示cut-off图:绘制截断值与准确度、特异度、灵敏度之间的关系图,帮助用户选择合适的截断值。

  5. 显示预测分类表(混淆矩阵):根据设定的截断值,生成预测分类表,展示真实结果与预测结果的对应关系,包括真阳性(TP)、真阴性(TN)、假阳性(FP)和假阴性(FN)。

  6. 显示准确度(Accuracy):计算模型预测结果的准确率,即正确预测的样本占总样本的比例。准确度 = (TP + TN) / (TP + TN + FP + FN)。

  7. 显示特异度(Specificity):计算模型在预测阴性样本方面的准确率,即真阴性占所有阴性样本的比例。特异度 = TN / (TN + FP)。

  8. 显示灵敏度(Sensitivity):计算模型在预测阳性样本方面的准确率,即真阳性占所有阳性样本的比例。灵敏度 = TP / (TP + FN)。

ROC分析的结果如下:

下载报告

点击下载word文件即可