【问题标题】:Logistic Regression Model & Multicolinearity of Categorical Variables in RR中分类变量的逻辑回归模型和多重共线性
【发布时间】:2014-06-21 00:01:23
【问题描述】:

我有一个包含 3233 行和 62 列的训练数据集。自变量是Happy (train$Happy),它是一个二元变量。其他 61 列是分类自变量。

我创建了如下逻辑回归模型:

logModel <- glm(Happy ~ ., data = train, family = binary)

但是,我想减少进入模型的自变量数量,可能会减少到 20 个左右。我想从摆脱共线性分类变量开始。

有人可以阐明如何确定哪些分类变量是共线的,以及在从模型中删除变量时我应该使用什么阈值?

谢谢!

【问题讨论】:

  • This 可以帮助您开始
  • 您可以使用潜在类分析来减少变量的数量,类似于使用因子分析来解决多元回归的多重共线性。

标签: r correlation glm logistic-regression


【解决方案1】:

如果您的变量是分类变量,那么显而易见的解决方案将是 R 中的惩罚逻辑回归 (Lasso),它在 glmnet 中实现。

对于分类变量,问题要困难得多。

我遇到了类似的情况,我使用了随机森林包中的重要性图来减少变量的数量。 这不会帮助您找到共线性,而只会按重要性对变量进行排名。

您只有 60 个变量,也许您了解该领域,因此您可以尝试向您的模型添加一些对您有意义的变量(例如 z=x1-x3,如果您认为 x1-x3 的值是重要。)然后根据随机森林模型对它们进行排名

【讨论】:

    【解决方案2】:

    您可以使用 Cramer 的 V 或相关的 Phi 或列联系数(参见 http://www.harding.edu/sbreezeel/460%20files/statbook/chapter15.pdf 上的一篇精彩论文)来测量分类变量之间的共线性。如果两个或更多分类变量的 Cramer's V 值接近 1,则意味着它们高度“相关”,您可能不需要将所有这些变量都保留在逻辑回归模型中。

    【讨论】:

      猜你喜欢
      • 2020-07-16
      • 2020-12-27
      • 2022-01-12
      • 2016-12-11
      • 2019-06-03
      • 2018-02-06
      • 2021-07-29
      • 1970-01-01
      • 2021-04-28
      相关资源
      最近更新 更多