处理大小问题时的模型稳定性ppnn

机器算法验证 回归 交叉验证 模型选择 特征选择 弹性网
2022-02-01 23:50:00

介绍:

我有一个带有经典“大 p,小 n 问题”的数据集。可用样本数n = 150,而可能的预测变量数p = 400。结果是一个连续变量。

我想找到最“重要”的描述符,即那些最适合解释结果和帮助建立理论的描述符。

经过对这个主题的研究,我发现 LASSO 和 Elastic Net 常用于大 p,小 n 的情况。我的一些预测变量高度相关,我想在重要性评估中保留它们的分组,因此,我选择了Elastic Net我想我可以使用回归系数的绝对值来衡量重要性(如果我错了,请纠正我;我的数据集是标准化的)。

问题:

由于我的样本数量很少,如何才能获得稳定的模型?

我目前的方法是在 90% 的数据集上使用 10 倍交叉验证平均 MSE 分数在网格搜索中找到最佳调整参数(lambda 和 alpha)。然后我在整个 90% 的数据集上使用最佳调整参数训练模型。我可以使用保留 10% 的数据集(仅占 15 个样本)的 R 平方来评估我的模型。

反复运行这个过程,我发现 R 平方评估存在很大差异。同样,非归零预测变量的数量及其系数也会发生变化。

如何才能更稳定地评估预测变量的重要性以及更稳定地评估最终模型的性能?

我可以重复运行我的程序来创建多个模型,然后平均回归系数吗?或者我应该使用模型中预测变量的出现次数作为其重要性得分?

目前,我得到大约 40-50 个非归零预测变量。我应该更严厉地惩罚预测变量的数量以获得更好的稳定性吗?

3个回答

稀疏算法不稳定:无免费午餐定理

正如您所指出的,我想标题说了很多。

[...] 稀疏算法可以有非唯一的最优解,因此是病态的

查看随机套索Peter Buhlmann的演讲。

更新:

我发现这篇论文比 Meinshausen 和 Buhlmann 的论文“稳定性选择”更容易理解。

在“ Random Lasso ”中,作者考虑了 lasso 对于大、小问题的两个重要缺点,即pn

  1. 在存在多个相关变量的情况下,套索只选择一个或几个,从而导致您所说的不稳定性
  2. Lasso 不能选择比样本大小更多的变量,这对于许多模型来说都是一个问题n

随机套索的主要思想,能够解决套索的两个缺点,如下所示

如果从同一个分布中生成了几个独立的数据集,那么我们会期望 lasso 从不同的数据集中选择那些高度相关的重要变量的不同子集,而我们的最终集合可能是那些高度相关的重要变量中的大部分,甚至可能是全部。通过对来自不同数据集的选定变量进行联合来计算变量。这样的过程可能会产生超过变量,从而克服了 lasso 的其他限制。n

绘制引导样本以模拟多个数据集。最终系数是通过对每个 bootstrap 样本的结果进行平均来获得的。

如果有人可以在答案中进一步详细说明和解释这个算法,那就太好了。

我目前的方法是在 90% 的数据集上使用 10 倍交叉验证平均 MSE 分数在网格搜索中找到最佳调整参数(lambda 和 alpha)。然后我在整个 90% 的数据集上使用最佳调整参数训练模型。我可以使用保留 10% 的数据集(仅占 15 个样本)的 R 平方来评估我的模型。

调整参数有多稳定?

您是否发现拟合优度(例如最佳参数交叉验证的 MSE)和 10% 独立测试性能之间存在很大差异?

这将是过度拟合的症状:

的行为相当平滑但是对于小测试集,由于小测试集大小(= 10 个 cv 折叠中总共 135 个样本)导致的方差可能大于的实际差异。在那种情况下,参数已经相当不稳定。MSE=f(gridparameters)MSE=f(gridparameters)

我可以重复运行我的程序来创建多个模型,然后平均回归系数吗?或者我应该使用模型中预测变量的出现次数作为其重要性得分?

构建此类聚合模型有多种可能性:

  • 线性模型可以通过平均系数来平均
  • 个不同模型中的每一个来预测一个样本,个预测进行平均(您还可以通过查看预测的分布来了解不确定性)。mm

搜索词将是“聚合模型”、“引导聚合”、“装袋”。

侧面思考:某些类型的数据具有预期和可解释的共线性,这可能导致变量选择在或多或少相等的解决方案之间“跳跃”。

没有办法摆脱它。正如一些人所说,模型本质上是不稳定的(否则不需要统计数据)。

但不稳定本身会带来信息。因此,我没有试图摆脱它,而是试图分析它。

我多次运行交叉验证模拟,然后在每次运行中获取最佳选择参数的系数并将它们放在一起。

在弹性网络的情况下,我对具有相同 k 折叠数据的每个 alpha(0..1 x 0.1)运行交叉验证测试(您应该比较同一数据集上的 alpha)并选择 /对与更少的测试错误相关...比我用不同的随机选择的 k 折叠数据重复 n 次并为每次迭代选择最佳对。λα

然后我提取每个参数对的回归系数,这给了我每个参数的值分布。这样,我可以使用平均值/中值来描述预测变量的强度及其标准差/IQR 来描述它的可变性,即它的稳定性。

一个非常稳定的预测器意味着您可以预期它的效果也与新数据相似;即使在您的数据中也不稳定的预测器,即使使用新数据也可能非常不稳定。