如何在引导回归时处理缺失系数

机器算法验证 多重回归 引导程序 回归系数
2022-04-13 06:53:50

我正在使用 R boot() 函数来执行回归引导。

当 boot() 对我的数据重新采样时,可能会丢失一些系数,尤其是在具有许多情况的因子变量的情况下。

从理论上讲,您将如何处理这种情况?

在我的实现中,我用 NA 替换缺失的系数,因此在构建自举分布的统计数据时忽略它们。

作为替代方案,我考虑使用 0,但它不会作为收缩正则化将分布推向 0 吗?

在其他情况下,回归函数会崩溃,因为某些因素变量被剥离了所有级别,但只有一个级别,并且不能有一个只有一个值的预测变量。在这种情况下,我完全忽略了这个回归的系数,只返回 NA。但是我不明白是否可以仅仅因为一个预测变量无用而放弃整个回归。我应该剥离预测器吗?

总之,我想知道: - 如何处理丢失的系数,我应该使用 NAs 还是 Zeros。- 如何处理回归函数经常由于预测变量只剩下一个级别而崩溃?我应该剥离预测器吗?

谢谢

1个回答

一种可以使用的方法(小心!!)是分层引导。也就是说,假设我们在第 1 组中有 20 名受试者,在第 2 组中有 20 名受试者。那么我们可以根据这些样本大小对数据进行重新采样即,我们从第 1 组中重新采样 20 人,从第 2 组中重新采样 20 人)。正因为如此,我们现在确保差异的估计量将在每个引导样本中定义。

就谨慎而言,您需要意识到您可能会在非常小的子样本上执行引导!一个简单的例子是假设我们按 x 分层,但 x 是连续的。那么每个样本都是它自己的阶层,我们估计的方差将为 0。显然是一个问题。

在您的情况下,我确信每个级别有超过 1 个观察值,但是如果每个级别的观察次数非常少,您仍然需要警惕结果。如果是这种情况,我当然会考虑 Jeremy 的建议,即尝试将本质上彼此非常相似的关卡组合起来。