了解如何使用简单的统计技术来帮助识别数据中的重要变量和交互作用,从而构建高性能的预测模型并发现更多见解。
看看如何:
- 在开始识别重要变量之前,请先了解需要考虑的前提条件。
- 使用列查看器清理和准备数据
- 使用“探索缺失值”、“探索异常值”和“探索模式”来识别并确定如何处理异常值和缺失数据。
- 确保数据集能够最好地代表您计划研究的系统。
- 使用列标题中的分布和图表构建器来探索数据并可视化趋势。
- 进行多元分析以识别相关变量
- 使用响应筛选来识别影响响应的最重要变量
- 使用预测因子筛选(决策树方法)来测试预测响应的多个因素
- 使用多元分析识别具有高度相关性的变量
- 对变量进行聚类,将相关变量分组,并识别出最具代表性的单个变量。
- 使用“拟合模型”>“响应筛选”和“逐步回归”来查找基于重要且独特的变量的交互项和高阶项。
Scott (@scott_allen)和@Byron_JMP在 2023 年 6 月的在线研讨会上回答了以下问题。
问:在图表构建器中,如何“取消选择”?
A:点击图表中的空白区域,而不是标记。
问:您能否进一步解释一下P值及其排名?高P值和低P值分别代表什么?当我们看到某些P值或趋势时应该预期什么?等等。
答:对于 p 值和大多数统计量,请考虑使用 . 此外,在 JMP 中,如果您需要有关某个统计量(或其他任何显示内容)的帮助,请选择“工具”>“?”,然后单击您需要帮助的区域(在本例中为 p 值列标题)。另请参阅此说明。
问:预测筛选平台与随机森林模型有何不同?
答:在 JMP 中,我们将随机森林称为Bootstrap Forest (因为 Random Forest 是注册商标)。它们本质上是一样的。预测器筛选不包含模型,只包含排名。
问:由于预测器屏幕没有显示每个预测器所占的变异百分比,是否有其他平台可以做到这一点?
答:预测因子筛选报告列出了所有预测因子及其贡献值和排名。贡献值最高的预测因子可能对预测 Y 值至关重要。“贡献”列显示了每个预测因子对 Bootstrap Forest 模型的贡献。报告中的“比例”列显示了每个变量的贡献百分比。
问:多元分析中能否使用绝对相关系数而不是-1到1之间的数值?
答:算是,也不算。该表是一个相关系数矩阵,它概括了每对响应变量(Y)之间线性关系的强度。参见多元方法。
问:如果自变量有连续型、二项式(是/否)和有序型(低、中、高)三种类型,你会如何选择最重要的变量?
A:是的,您可以使用所有这些方法:预测因子筛选和反应因子筛选。
问:您是否使用过逐步回归?JMP 是否提供所有可能的子集回归?
答:请参阅逐步回归的详细信息。
问:我的很多数据都包含多个响应,这限制了我在 JMP 中的一些操作。您是否会对多响应数据进行特殊清理,还是直接处理?我指的是“多响应”列属性(包含多个数据点的列表)。我猜想将它们拆分成两列会更简单,但我想看看是否有更好的方法。
A:是的,我们允许您将多个响应存储在一个单元格中,但要分析它们,将它们拆分到不同的列中才是正确的做法。
问:基于树的方法与PLS或PCA相比如何?
答:使用主成分分析 (PCA) 或偏最小二乘法 (PLS) 时,我们试图用较少的潜在变量来表示所有数据。您试图找到一个能够表示所有数据的简化维度。这与基于树的方法不同,后者有助于您确定真正解释数据的原因。树方法正在取代 PCA 和 PLS,成为构建更优模型的首选方法。基于树的方法非常适合数据建模,但它们对变化非常敏感,并且容易过拟合。基于树的方法在每次构建新树时都会随机抽取行和列样本,这使得它对异常值非常稳健,并且能够对交互项以及数据中存在的二次或三次函数等进行建模。因此,您无需做出大量假设。
问:对于数值型因变量和连续型、二项式、有序型自变量,我可以使用预测变量筛选和响应变量筛选吗?
A:是的。
看看如何:
- 使用 JMP Partition 来识别重要因素
- 准确、自动地处理任何模型交互效应
Modeling Workflow with Factor Selection利用因子选择对工作流程进行建模利用因子选择对工作流程进行建模
额外福利: Scott Allen @scott_allen和 Byron Wingerd @Byron_JMP在 2022 年演示结束后也回答了问题!
问:是否有关于异常值检测工具的教程视频?
答:这篇教程很好地介绍了 JMP 中的“探索异常值”工具。您还可以参考文档和示例。
问:为什么不先剔除相关变量呢?
答:变量间相关性的存在通常会影响建模方法的选择。例如,偏最小二乘法(PLS)对存在相关性的自变量(X)更为稳健。此外,顺序也可能因人而异。您可以先进行预测变量筛选再进行聚类,反之亦然。需要注意的是,当存在大量缺失值或列值保持不变(例如工具变量设置)时,聚类结果可能不够准确。如果您想先进行聚类,有时需要对数据进行额外的清理和准备工作。
问:您会如何决定预测算法?
答:这是一个复杂的问题,答案取决于具体情况。大多数情况下,线性模型是最简单且信息量最大的模型。其他方法则用于解决数据或分析目标方面的特定问题。
问:为什么强烈建议使用线性项?如果我的相关系数是 Y=X^2,为什么 JMP 总是试图添加 X 项?
答:这与效应遗传有关。有时,高阶项显著,但主效应不显著。因此,您需要保留主效应。例如,如果您移除主效应,那么在预测过滤器中,您将看不到斜率的变化,只会看到曲线的弯曲,并且预测效果会降低。
问:对于预测因子筛选,因子和响应的数据是否应该按相同顺序收集(配对),还是可以使用随机收集的数据(非配对)?
答:顺序其实并不重要,但在多元分析中,我们通常喜欢把Y值放在同一组里。你把它们添加到Y中的顺序,就是它们在矩阵中显示的顺序。
问:对 x 因子(600 列)进行多元线性回归分析是否有助于找出哪些 x 列对产量贡献更大?
答:如果你只对 600 列进行线性回归,实际上会稀释解释 Y 值的关键因素。像 Partition 这样的树形方法非常适合用来确定这 600 列中哪些列对结果有影响。Scott 展示的 Predictor Screening 方法会随机抽取行和列,构建一棵树,重复 100 次,然后对这 100 棵树的结果取平均值。使用 Partition,你可以强制执行某些操作,例如在不同位置强制执行决策,或者跟踪某个变量的拆分过程。之后,你可以查看方差重要性报告,或者
分割历史和 R 平方值的变化。这个例子太大了,无法一一列举,但可以让你了解如何使用分区功能。
问:如果 600 个独立的线性回归稀释了模型的解释力,那么响应筛选是否就是因为这个原因才在这些汇总统计数据(斯科特之前展示并做空的那些统计数据)中使用了 FDR(错误发现率)校正来试图弥补这一点?
答:仅仅依靠运气,你确实会发现一些非常好的结果,你需要尝试筛选出这些结果。我们不希望仅仅依靠运气就发现这些结果,所以 FDR 可以帮助我们进行校正。我强调“帮助”,是因为没有完美的模型。同样地,所有基于树的模型,在存在多重线性关系的情况下,最好先尝试分离方差,找到真正最重要的变量,而不是把所有变量都一股脑地塞进模型里。有时你可以使用 JMP Pro 构建集成模型。
问:使用 JMP Pro 还有其他三种方法可以实现这个功能吗?
答:是的,包括使用XGBoost 插件。详情请见下文。