逻辑回归变得更好但分类变得更糟?

机器算法验证 r 回归 物流 分类 逐步回归
2022-04-06 12:20:13

我目前正在为我的硕士论文做分析,遇到了一些我无法解释的结果。

在我的论文中,我试图探索决定人们是否加入当地能源倡议的因素。由于我有很多不同的变量,我的导师建议了一种模型构建方法。具体来说,我在我的逻辑回归中添加了一组预测变量,并且只保留那些在模型中显着的变量,然后再添加下一组。为了评估模型拟合,我被告知使用分类表。

我现在的问题如下:

我从一组假人开始,以控制来自不同社区的参与者。这个基本模型正确分类了 56% 的案例。现在我添加第二组预测变量,其中一些很重要,所以我将它们保留在模型中。如果我现在再次使用分类表,我的分类会变得更糟。比机会还糟糕!(48%)。

我怎样才能找到重要的预测变量,但我的模型变得比机会更糟?

编辑附加信息:

我的数据集包含 636 个案例。318 人参与倡议,318 人不参与。我使用的变量集的结构如下:

1)“控制”:人们来自 30 个不同的社区,所以我添加了 29 个虚拟变量来控制由于社区成员身份而导致的差异(我知道这不是最好的方法,但我只是按照这个命令)

2) 个人预测变量:15 个人口统计和心理变量

3) 群体预测因素评估:8 个变量衡量个人如何看待潜在参与者群体

我在用于构建模型的相同数据上使用了分类表,不幸的是我只有这个数据集,我试图找出哪些预测变量最有希望用于未来(因果关系)研究。

1个回答

每组有 318 个案例,您可以检查大约 20 个预测变量,而不会有太大的过度拟合风险。您的第二组和第三组变量加起来为 23;一个大问题是将变量集 1 中的每个邻域都计算为固定效应,从而占用另外 29 个自由度。

最简单的短期解决方案可能是将邻域视为随机效应而不是逻辑回归中的固定效应,例如使用glmerRlme4包中的函数。这考虑了邻域之间的差异,正如您所得到的那样,但在分析中仅使用 1 个自由度,因为您正在对邻域之间的效应分布而不是单个邻域效应进行建模。这可能允许直接分析单个模型中的所有其他变量,而不会有逐步选择的危险。如有必要,LASSO 肯定是在剩余预测变量中进一步选择的有用方法。

但是,您也必须对您测量的预测变量与参与选择无关的可能性持开放态度。