JMP 中是否存在与分类变量的多重共线性相当的内容?我正在尝试创建一个预测回归模型来预测连续变量的值。由于我纯粹是在寻找预测,因此多重共线性对我来说并不那么重要,但我记录了大量分类变量(20 多个)(以及 20 多个连续变量),并且我希望进行特征选择/变量减少,以免过度拟合数据,并且想知道是否有一种好的方法可以在 JMP 中对分类变量进行变量减少或找到可能相关的变量?我没有任何特定的模型,将使用 JMP PRO。
预测模型和机器学习回复:JMP 中分类变量的多重共线性是否有等价物?你好@mjz5448 ,
我从你的问题中看出了两点:
- 在对分类变量建模时如何评估多重共线性?
您可以通过在原始预测变量的参数估计中显示VIF 值来评估模型中连续变量和分类变量的多重共线性(右键单击表格,然后单击“列”和“VIF”)。高风险因子值表示模型中的项之间存在共线性问题。如果某些项相互线性相关,您还将在“奇异性详细信息”列中获得奇异性信息,以及参数估计值之前的“有偏差”和/或“归零”指示:

更多信息请见: 模型项间具有线性依赖关系的模型
- 如何选择特征/减少变量?
如果您想要进行特征选择/变量减少,则可能会有几种选项,具体取决于您使用的模型类型:- 对于多变量广义线性回归模型,您可以使用剪枝前向选择,或者如果多重共线性很重要,请尝试惩罚估计方法选项,例如 Lasso,它将通过强制将相关变量的估计值设为 0 来进行变量选择。一种不那么“激进”的方法是弹性网络估计,它结合了 Lasso 和 Ridge 惩罚。
- 随机森林本身也很有趣,或者可以将其用作预测筛选选项,使用特征重要性(列贡献)来识别最重要的/活跃的特征。
- 您还可以尝试使用预测因子选择助手插件,该插件基于使用 Boruta 特征选择方法和 Rendom Forest 的预测因子筛选的升级版本帮助选择变量:

- 您还可以结合上述不同的建模方法(以及更多方法),并比较获得的模型以查看其中包含哪些术语以及模型的相似/不同之处。
希望这个答案能帮到你,
回复:JMP 中分类变量的多重共线性是否有等价物?谢谢 Victor!这正是我所寻找的。
对于缩小模型的步骤有什么想法吗:
- 在使用 LASSO/Ridge 之前,您是否应该先删除相关变量/进行降维?
- 或者我们应该两者同时进行 - 减少变量然后转到 LASSO/Ridge,以及使用所有特征并执行 LASSO/Ridge 并比较哪个在验证数据上具有最佳 RASE?
回复:JMP 中分类变量的多重共线性是否有等价物?你好@mjz5448 ,
Justo 对 LASSO 和 Ridge 之间的区别做了一些解释(Elastic Net 是 LASSO 和 Ridge 惩罚的混合):
- LASSO能够将其认为不“有趣”的特征的系数设置为零。这意味着模型会进行一些“自动特征选择”,以决定哪些特征应该或不应该单独包含。此属性的优点是可以降低模型的复杂性(因此有助于避免过度拟合)。但是,系数会受到这种惩罚(系数收缩)的影响,并且在使用具有相关特征的数据进行训练时,LASSO 回归可能会“不稳定”:其中一个特征被任意选择,并且与该特征高度相关的所有其他特征都会从模型中被有效删除。这可能会导致某些人错误地得出结论,认为只有选择保留在模型中的特征才是重要的,而实际上其他一些特征可能同样重要甚至更重要。
LASSO 对异常值具有很强的鲁棒性,并且当在许多其他影响很小或没有影响的变量中,有一小部分变量对响应具有强烈影响时,它往往最有效。
- Ridge 能够最小化相关特征的系数(接近 0 但不为 0)。此属性使 Ridge 回归可用于具有许多相关特征的数据集,因为相关特征的负面影响被最小化,并且能够减少过度拟合。由于引入了惩罚,您还会得到有偏差的系数估计值。
Ridge 能够考虑所有特征,并且在存在大量具有较大且可比较的影响的变量时往往最有效。
- 弹性网络结合了两种惩罚方法,因此它将一些系数缩小到 0 并最小化其他系数,因此它可以成为进行特征选择以及处理对响应具有相似重要性的相关特征的良好折衷方案。
您可以在本《掌握: 使用 JMP® Pro 中的广义回归创建稳健线性模型》中了解有关广义(和惩罚)回归模型的更多信息
对于特征选择,我强烈建议查看随机森林的特征重要性,因为该模型不需要大量微调,能够处理相关特征,并且对过度拟合不敏感,因此它可以提供良好的基准比较。
由于您提到了验证数据,所以我不完全确定您使用此模型的目标是什么:系统理解(解释目标)还是预测目标?
它是验证数据(用于模型优化(超参数微调、特征/阈值选择......)和模型选择),还是测试数据(用于所选模型在新/未见数据上的泛化和预测性能评估)?
- 在第一种情况下(验证数据),您可以尝试在广义回归启动面板中使用此验证数据作为您的验证方法,以确保在您的数据集上正确设置和固定惩罚,并比较此验证数据上的不同模型:惩罚回归方法、随机森林……
- 在第二种情况下(测试数据),我建议不要使用该数据集,除非您已经比较了模型并选择了最有希望的模型。根据您的主要目标(系统理解或预测)和验证模型的方法(信息准则,如 AICc 或 BIC,或者如果您对预测性能感兴趣,则可以使用 K-folds/Holdback/Leave-One-Out 验证),您可以选择适当的验证方法并在训练/验证数据上比较模型结果以选择最有趣的模型。一旦选定,您就可以确认其在测试集(未见数据)上的泛化和预测性能。
希望这个答案能帮助你,