最近,一位 JMP 用户打电话给我,提出以下问题:“当我尝试拟合名义逻辑回归模型时,我收到一条 JMP 警报消息,告诉我‘响应必须至少有两个级别’。 而且平台不会运行。 然而,当我选择一个包含我的预测变量子集的模型时,模型就会运行。 这是怎么回事? 都丢了吗?”
都丢了吗? 也许不是。
Figure 1. A JMP Alert message.Figure 1. A JMP Alert message.Figure 1. A JMP Alert message.Figure 1. A JMP Alert message.图1。 JMP 警报消息。
出现上述 JMP Alert 消息的原因是数据集中缺少太多数据。 JMP 的默认操作特性是从分析中排除包含缺失数据的行。 如果缺失的程度足够严重,平台将不会运行。 有时甚至丢失的数据也有我们可以用来解决实际问题的信息。 如果 JMP 默认排除缺少数据的数据行,我们如何探索这种可能性? 答案:使用 JMP 的缺失数据检测、插补和信息缺失建模功能。
统计建模最佳实践表明,我们应该花费一些时间和精力来评估数据集的质量,着眼于异常值、无意义值、缺失值和任何其他使分析出现问题的特征等问题。 本文提供了一个示例,如何使用 JMP 的数据“缺失”功能来做出正确的决策并采取适当的行动。
每个建模问题都应该从一个值得我们花时间解决的业务问题开始。 我将解决一个假设但说明性的问题。 运动钓鱼锦标赛组委会希望了解参与者对锦标赛的满意度的关键驱动因素,以尝试推动重复参与。 他们要求过去一年的参与者提供信息、数据和反馈,以了解他们明年参加同一锦标赛的可能性。 委员会通过调查从参与者那里收集信息。 然而,钓鱼的人的一个特点是……嗯……他们可能并不总是最诚实或最坦率的。 有多少人会为了让 BIG ONE 登陆而放弃他们最喜欢的、最有成效的钓鱼点给一个完全陌生的人? 或者他们使用的诱饵类型?
委员会询问参与者他们是否有可能在明年返回、参与者的年龄以及诱饵的类型(人工或活的)。 年龄和诱饵类型是建模中使用的预测变量。 完整的数据集如下图所示:
Figure 2: The Original DataFigure 2: The Original DataFigure 2: The Original DataFigure 2: The Original Data图 2:原始数据
请注意,参与者年龄和诱饵类型都有几个缺失值?列。 因为 JMP 排除了包含缺失数据的行,所以如果我们尝试“按原样”对数据建模,我们最终会得到图 1 所示的 JMP 警报消息。 实际上只有两行没有缺失值(在图 2 中突出显示)! 难怪 JMP 会提醒我们!
我们应该如何着手? 找到受访者并“再次”提问? 伪造数据? 放弃?
好吧,让我们备份一下。 通过快速目视检查图 2 所示的数据表,很容易找到丢失的数据。 如果我们有一个更大的数据集怎么办? 数百万行? 数百列? “缺失”的目视检查是一个站不住脚的解决方案。 JMP 的缺失数据模式和探索缺失值平台可助您一臂之力。 当我们发现缺失值行时……我们如何处理它们缺失的事实? 从这里开始,JMP 中的探索缺失值和信息缺失功能可为我们提供帮助。
让我们使用缺失数据模式平台来查找缺失值。 该平台生成图 3(右下)所示的缺失数据模式表。 Patterns 列是关键。 非零值表示原始数据表中的缺失模式。 在模式列行条目中,模式中的每个数字都是原始数据表中列的二进制指示符。 全零模式(第一行)表示没有缺失值。 Count 列条目表示有 2 行没有缺失值。 第二行表示缺失模式,其中行的值仅从诱饵类型中缺失?柱子。 第三行,参与者年龄列中的缺失值。 使用 JMP 的签名动态链接功能,选择缺失数据模式数据表中的第 2 行和第 3 行,将选择原始数据中的相应行。
Figure 3. Missing Data Pattern Data Table and Original DataFigure 3. Missing Data Pattern Data Table and Original DataFigure 3. Missing Data Pattern Data Table and Original DataFigure 3. Missing Data Pattern Data Table and Original Data图 3。 缺失数据模式数据表和原始数据
既然我们已经找到了缺失值,我们如何才能回答基本问题……哪些因素会影响参与者返回的可能性? 从这里开始,让我们转向使用 JMP 的探索缺失值平台来估算参与者年龄列的值。 这不是捏造数据吗? 这不是不诚实吗? 嗯……不完全是……特别是如果我们透露我们正在创建替代值,以便从建模的角度不必把婴儿和洗澡水一起扔出去。 结果……有了一点建模魔法……如果我们明智地选择我们的替代值,效果的参数估计仍然是有意义的。 在探索缺失值平台中,有两种插补算法。 对于此示例,我选择了如下图 4 所示的多元正态插补选项。 请注意,等于参与者年龄平均值的替代值现在已填充到原始数据表中具有缺失值的行中。
Figure 4. Multivariate Normal ImputationFigure 4. Multivariate Normal ImputationFigure 4. Multivariate Normal ImputationFigure 4. Multivariate Normal Imputation图 4。 多元正态插补
现在我们如何处理 Bait Type 中的缺失值?柱子。 处理分类预测变量缺失值的一种方法是调用 JMP 的信息缺失功能。 使用信息缺失构造的基本基本原则是我们愿意假设在缺失值的事实背后存在一些主题、共性或潜伏变量。 就像锦标赛参赛者出于某种未公开的原因不愿透露他们使用的诱饵类型一样?
在拟合模型规范窗口中,我们通过从模型规范红色小三角下拉菜单中选择信息缺失来调用信息缺失,如图 5 所示。
Figure 5. Model Specification and Informative MissingFigure 5. Model Specification and Informative MissingFigure 5. Model Specification and Informative MissingFigure 5. Model Specification and Informative Missing图 5。 模型规范和信息缺失
通过选择信息缺失,JMP 将为诱饵类型分配一个新级别? 'Missing' 的分类预测变量,并使用所有预测变量列中的所有值进行模型拟合过程。 下面的图 6 显示了名义 Logistic 回归模型报告的效果摘要部分。 注意诱饵类型?似乎确实会影响反应。
Figure 6. Effect Summary TableFigure 6. Effect Summary TableFigure 6. Effect Summary TableFigure 6. Effect Summary Table图 6。 效果汇总表
进一步检查 JMP 预测刻画器,如图 7 所示。表明 Bait Type 的缺失值级别?真的是在推动是的反应!
Figure 7. Prediction ProfilerFigure 7. Prediction ProfilerFigure 7. Prediction ProfilerFigure 7. Prediction Profiler图 7。 预测刻画器
现在是领域专业知识发挥作用的地方。 毫无疑问,一个在捕鱼方面有过很多成功经验的比赛选手肯定会倾向于不透露他们使用的诱饵类型。 商业机密? 但他们肯定会倾向于回到他们取得成功的锦标赛。
分析后,对锦标赛记录的深入研究揭示了额外的数据,这些数据肯定与秘密参与者的概念同时存在。 下图 8 中的 Fit Y by X 逻辑回归图。明年回来的概率?是捕获的鱼的总重量的函数……捕获它们的参与者肯定没有告诉我们太多关于他们的秘密。
Figure 8. Logistic Regression PlotFigure 8. Logistic Regression PlotFigure 8. Logistic Regression PlotFigure 8. Logistic Regression Plot图 8。 逻辑回归图
因此,下次您在数据集中出现缺失值时,请记住,使用 JMP 您也许可以了解系统的一些信息,即使数据实际上已经缺失! 一切确实没有丢失。