处理“不知道/拒绝”级别的分类变量

机器算法验证 物流 缺失数据
2022-03-09 18:22:50

我正在使用逻辑回归对糖尿病预测进行建模。使用的数据集是疾病控制中心 (CDC) 的 行为风险因素监测系统 (BRFSS )。自变量之一是高血压。它分为以下级别“是”、“否”、“不知道/拒绝”。我应该在构建模型时删除那些带有“不知道/拒绝”的行吗?从模型中保留或删除这些行有什么区别?

3个回答

在分析最新的全国医院出院调查数据时,我只是想知道完全相同的问题。一些变量具有大量缺失值,例如婚姻状况和程序类型。这个问题引起了我的注意,因为这些类别在我运行的大多数逻辑回归分析中都显示出强烈(且显着)的影响。

人们倾向于想知道为什么给出了一个缺失的代码。例如,在婚姻状况的情况下,未能提供这些信息可能与社会经济地位或疾病类型等重要因素有关,这似乎是合理的。对于您的高血压,我们应该问为什么不知道或拒绝该值?这可能与机构的做法有关(可能反映了宽松的程序),甚至与个人(例如宗教信仰)有关。这些特征反过来可能与糖尿病有关。因此,按照您的做法继续似乎是谨慎的做法,而不是将这些值编码为缺失(从而将它们完全排除在分析之外)或试图估算这些值(这有效地掩盖了它们提供的信息并可能使结果产生偏差)。真的不难做到:您只需确保该变量被视为分类变量,您将在回归输出中再获得一个系数。此外,我怀疑 BRFSS 数据集足够大,您不必担心功率问题。

首先,您必须考虑缺失数据是完全随机缺失 (MCAR)、随机缺失 (MAR) 还是非随机缺失 (MNAR),因为删除(换句话说,完整案例分析)可能会导致结果有偏差。替代方法是逆概率加权、多重插补、全似然法和双稳健法。如果通常是最简单的方法,则使用链式方程 (MICE) 进行多重插补。

您是否有任何理由认为患有糖尿病的研究对象更有可能或不太可能最终出现 DK/R 反应?如果不是(我会很惊讶地发现你这样做了),在不排除这些情况的情况下将这个预测器包含在模型中会导致噪音。也就是说,在评估“是”与“否”如何影响糖尿病的估计概率时,您最终的精确度会降低(因为您将尝试对“是”或“否”的影响进行建模与随机 DK/R 响应,而不仅仅是“是”与“否”)。最直接的选择是排除带有 DK/R 响应的案例。假设他们的“是/否”回答确实是随机缺失的,排除它们不会影响您对“是”与“是”的影响的估计。“不。” 但是,这种方法会减少您的样本量,从而降低剩余预测变量的统计功效。如果您在此变量上有很多 DK/R,您可能希望通过多重插补来插补“是”/“否”响应(可以说是最可靠的缺失值插补策略)。