我应该什么时候为 GLM/GAM 平衡我的数据?

机器算法验证 r 广义线性模型 不平衡类 广义加法模型
2022-03-08 12:15:36

我正在运行 GLM 和 GAM,但我找不到关于是否应该平衡数据的明确答案。

我试图获得有用的描述模型,而不是预测模型。所以我没有将我的数据分成训练和测试。有两个原因,我认为这没有必要(因为它不是预测模型),而且我没有大量的数据(男性 200 个样本,女性 100 个样本)。我正在调查哪些因素 (10) 会影响心力衰竭后的死亡率。

对于某些因素,我有很大的不平衡。例如,我将性别数据分开,97% 的女性是非吸烟者。

最好是忽略这个变量还是尝试一些平衡技术?因为它可能只是代表现实世界,所以我不要管它吗?根据我的阅读,平衡数据意味着模型可能不再反映现实。但就女性吸烟者而言,我似乎没有足够的数据来了解吸烟是否会影响女性心力衰竭后的死亡率。

我想应用混淆矩阵,但我没有预测,所以它似乎不适用。

2个回答

我强烈建议避免在第一时间重新平衡您的数据。

尤其是在使用 GLM/GAM 来描述手头样本的趋势时,尝试对原始样本进行上采样或下采样几乎没有意义,因为这会立即改变基准利率。GLM/GAM 预测通常是“经过良好校准的”(即模型估计的概率是准确的),并且通过破坏锚定我们估计β0

我们可能希望使用一些重新采样技术(例如自举)来更好地告知我们的观众采样方差和有限样本精度的方面,但这是不同的点。类似地,如果我们更关心预测性能,使用正则化(例如岭回归模型)可能更可取,但对于“描述性模型”来说又不是必需的)。请注意,是的,担心某些绝对计数小的协变量是完全合理的,但这种不确定性将被重采样和/或与该系数相关的标准误差捕获。

+1 对 usεr11852 的回答。

不用担心“不平衡”的数据,只要你使用合适的模型。不平衡的数据集是否存在问题,以及(如何)过采样(声称)有帮助?GLM/GAM 是合适的。

我认为没有必要(因为它不是预测模型)

无论您是在预测模型还是推理模型中使用过采样/欠采样,都没有任何意义。

我一开始没有大量数据(男性 200 个样本,女性 100 个样本)。我正在调查哪些因素 (10) 会影响心力衰竭后的死亡率。

评估样本量仅为 300 的 10 个因素是可疑的,特别是因为您显然还包括交互作用,例如吸烟状况的性别。考虑使用更简洁的模型。

但就女性吸烟者而言,我似乎没有足够的数据来了解吸烟是否会影响女性心力衰竭后的死亡率。

这是很有可能的。信息含量低,例如只有三个女性吸烟者,意味着您的参数估计值将是不确定的。不幸的是,这只是您数据的一个事实。对这些人进行过采样会向模型假装您拥有比实际更多的数据,并且在过采样后参数估计会更加“确定” - 但当然您并没有真正拥有更多数据,您只是多次计算一些观察值。解决此问题的唯一方法是收集更多数据。