最佳子集选择题

机器算法验证 自习 线性模型 统计学习
2022-04-01 11:11:11

我正在阅读《统计学习简介》,我有一个关于最佳子集选择算法的问题。

算法是这样的:假设有p预测器,目的是选择使用这些预测器的子集得出的最佳模型。

第一:空模型。没有预测器,只是一个拦截。

第二:出p可能的预测变量,适合所有仅包含 2 个预测变量的模型。这意味着那里(p2)方法。

第三:重复第二步,沿途增加选择的预测变量的数量,直到达到p.


以下是我的问题:

  1. 我不确定这个“模型”会产生什么结果。我们真的从每个预测变量中回归方程吗?例如,对于我们有的空模型Y=β0? 然后在第二步,我们得到所有可能的组合Y=β0+β1X1, 在哪里X1是这些预测因素中的任何一个吗?

  2. 我们如何从所有这些中确定“最佳”模型?例如,如果我有p预测变量,我在子集中选择了 2 个,我将拥有(p2)方程组。我将如何从这些方程中确定“最佳”模型?

你的见解很有帮助。

2个回答

问题 1

是的,如果我们说三个变量(在这里写出来会很乏味),那么所有包含 1 个预测变量的模型都将被拟合:

yi=β0+β1xi1+εi
yi=β0+β1xi2+εi
yi=β0+β1xi3+εi

然后包含两个预测变量的所有组合

yi=β0+β1xi1+β1xi2+εi
yi=β0+β1xi2+β1xi3+εi
yi=β0+β1xi1+β1xi3+εi

然后是三个预测变量的所有组合,在这种情况下只是一个,完整的模型

yi=β0+β1xi1+β1xi2+β1xi3+εi

问题2

想如何衡量“最佳” 常用的度量包括 AIC、BIC 或 Mallow's Cp,或调整后的R2或普通的旧R2. 所有这些都将根据该指标的特征对模型进行排名,但在实践中,它们都在告诉您考虑到模型拟合的复杂性,哪个模型给出了最佳预测(预测准确性或相关)。

经历了这个过程之后,就很难再使用p模型中术语的测试值或所有术语的综合测试,因为此类测试对您对数据进行的选择过程一无所知。也不清楚如何通过最佳子集选择“纠正”选择过程的 p 值(Hastie 等人 2009 - 抱歉,我现在无法完全找到该页面,如果我找到它会添加之后)。

此外,因为您使用的是包含硬性阈值(术语在模型中或不在模型中,在这种情况下,它的系数是βij=0) 系数很可能有偏差。如果真实系数较小,则根据您收集的数据样本,可能无法在上述过程中被选中。在这种情况下,您的模型会说系数的估计值为 0,这与真实值相比偏低。保留在模型中的变量也可能具有偏高的系数,因为如果这些项具有很大的影响,则选择过程可能会保留这些项,如果没有,则将其丢弃。

1) 是的。

2)您通过获得每个模型的样本外错误率估计值来进行评估,然后选择具有样本外错误最佳估计值的模型。一些常见的方法是交叉验证,使用完全保留的数据集,以及可以对训练数据本身执行的某种估计,以惩罚参数的数量。在前两种情况下,您有一个适合训练数据的模型,以及您提供的一组模型没有看到的数据。您对保留的数据进行预测,然后使用损失函数的样本估计值(通常是线性回归设置中的残差平方和)。第三种情况包含 AIC 和 BIC 等方法,其中对训练错误率应用惩罚项。

所有这些概念都在书中进行了讨论!继续阅读!