如何处理逻辑回归的强相关协变量?

机器算法验证 物流 多重回归 多重共线性
2022-03-10 03:17:18

我必须建立一个具有两个强相关协变量(预测变量)的多元逻辑回归模型。他们应该如何对待?我要从回归中排除其中之一吗?

还有一个协变量是逻辑(布尔)变量,仅对 2 个观察值(总共 107 个)为 TRUE。我是要从回归中排除这个协变量,还是有任何考虑协变量的意义?

我有 6 个协变量和 107 个观察值。所有协变量都是布尔值,但我可能会用源数值变量替换其中的一些。

非常感谢您的回答。我是一名数学家,但在应用统计学方面是新手,所以我需要详细的答案。

我需要估计每个协变量对结果的影响,所以我需要计算优势比或类似的东西。

2个回答

至少有三种正则化策略可以解决这种多重共线性/分离问题。

1)建立一个贝叶斯回归模型,该模型在回归系数上建立一个先验分布,将估计值缩小到零,但如果后验分布足够强,则为后验分布提供足够的先验概率以向数据中的信号移动。有几种类型的先验,包括但不限于 Laplace、spike-and-slab 和 horseshoe priors。格尔曼等人。bayesglm有一篇很好的论文描述了逻辑回归中系数的默认先验分布,它与他们在 R 包中开发的函数很好地配对arm,这使您可以轻松地构建和总结逻辑和其他广义线性模型。你可以在这里阅读他们关于这个主题的论文

2) 使用 L1 范数(LASSO 回归)、L2 范数(岭回归)或它们的某种组合(弹性网络模型)的惩罚回归。Tibshirani、Hastie 及其同事在 R 中开发了一个名为 的包glmnet,它实现了弹性网络回归(因此 L1 和 L2 回归,因为它们是弹性网络的特例)。该软件包包括 logit 模型。该软件包有一个很好的小插图,在其末尾您可以找到有关一般正则化以及 ridge/LASSO/elastic-net 框架的有用参考资料。如果您想观看该小插曲的视频版本,并了解很多其他内容,我建议您也参加他们的斯坦福在线课程

3)在逻辑和其他广义线性模型中处理多重共线性问题的另一种方法是通过增强回归。在增强回归模型中,您迭代地聚合来自许多称为“基础学习器”的简单模型的推论。通过聚合许多简单模型的估计,您可以避免维度灾难,还可以计算变量重要性度量。如果您正确设置基础学习器,多重共线性不再是问题。R 中有一个很棒的包叫做mboost,它实现了增强的广义线性模型和多级广义线性模型。另一个mboost重要的原因是可用的基础学习器的多样性,包括非参数平滑样条和随机场。惊人的东西。更好的是一个相关的包叫做gamboostLSS,它允许您在我们可能性的每个参数上构建增强回归模型,而不仅仅是平均值或其他一些位置参数。

在您的情况下,我想说这些方法中最好的是 Gelman 等人。配方或弹性网选项。其中,我更喜欢 Gelman 等人。配方,因为它不仅会产生点估计,还会产生系数的后验分布。

旁注:弹性网络和提升方法的美妙之处,以及对于某些先验完全贝叶斯推理方法,通过正则化模型,您还可以构建具有许多特征的模型——甚至模型比观察更多的特征。在某种意义上,正则化过程选择了那些最重要的特征,同时避免或至少减轻了维度灾难。

您可以在模型中包含弱相关变量,但任何 r > 0.7 的协变量对都应简化为最相关的预测变量。

您可以从分析中排除方差接近零的协变量,因为它们不会提高模型的准确性,但会增加自由度。