选择要包含在多元线性回归模型中的变量

机器算法验证 回归 多重回归 特征选择 造型 模型选择
2022-01-28 11:03:17

我目前正在使用多元线性回归构建模型。在摆弄我的模型之后,我不确定如何最好地确定要保留哪些变量以及要删除哪些变量。

我的模型从 DV 的 10 个预测变量开始。当使用所有 10 个预测变量时,有四个被认为是显着的。如果我只删除一些明显不正确的预测变量,我的一些最初并不重要的预测变量就会变得重要。这引出了我的问题:如何确定要在他们的模型中包含哪些预测变量?在我看来,您应该使用所有预测变量运行一次模型,删除那些不重要的,然后重新运行。但是,如果仅删除其中一些预测变量会使其他预测变量变得重要,那么我想知道我是否对这一切采取了错误的方法。

我相信这个线程与我的问题相似,但我不确定我是否正确解释了讨论。也许这更像是一个实验性的设计主题,但也许有人有一些经验可以分享。

4个回答

根据您对我的评论的反应:

您正在寻找预测。因此,您不应该真正依赖系数的(不)显着性。你会更好

  • 选择一个最能描述您的预测需求的标准(例如,错误分类率、ROC 的 AUC、这些带有权重的某种形式……)
  • 对于每个感兴趣的模型,评估此标准。这可以通过例如提供验证集(如果你幸运或富有的话)、通过交叉验证(通常是十倍)或您感兴趣的标准允许的任何其他选项来完成。如果可能,还可以找到每个模型的标准 SE 的估计值(例如,通过使用交叉验证中不同折叠的值)
  • 现在您可以选择具有最佳标准值的模型,但通常建议选择在最佳值的一个 SE 内的最简约模型(变量最少)。

Wrt每个感兴趣的模型:这里有很多问题。有 10 个潜在的预测变量,那就是一大堆潜在的模型。如果您有足够的时间或处理器(或者如果您的数据足够小,以至于模型可以足够快地拟合和评估):有一个球。如果不是,您可以通过有根据的猜测、前向或后向建模(但使用标准而不是重要性)来解决此问题,或者更好的是:使用一些算法来选择一组合理的模型。执行此操作的一种算法是惩罚回归,特别是 Lasso 回归。如果您使用的是 R,只需插入 glmnet 包,您就可以开始使用了。

对此没有简单的答案。当您删除一些不重要的解释变量时,与这些变量相关的其他解释变量可能会变得重要。这并没有错,但它使模型选择至少部分是艺术而不是科学。这就是为什么实验旨在保持解释变量彼此正交,以避免这个问题。

传统上,分析师一次一步地向模型中添加和减去变量(类似于您所做的),并使用 t 或 F 测试单独或在小组中测试它们。这样做的问题是您可能会错过一些变量组合来减去(或添加),其中它们的组合效应(或非效应)被共线性隐藏。

借助现代计算能力,可以拟合所有 2^10 = 1024 种可能的解释变量组合,并通过多种可能标准之一选择最佳模型,例如 AIC、BIC 或预测能力(例如,预测值的能力)您从用于拟合模型的集合中分离出来的数据的测试子集)。但是,如果您要测试(隐式或显式)1024 个模型,您将需要从经典方法重新考虑您的 p 值 - 谨慎对待......

如果您只对预测性能感兴趣,那么最好使用所有特征并使用岭回归来避免过度拟合训练样本。这本质上是 Millar 专着“回归中的子集选择”附录中给出的建议,因此它带有合理的血统!

这样做的原因是,如果您根据基于固定数据样本(例如 AIC、BIC、交叉验证等)的性能估计选择子集,则选择标准将具有有限方差,因此可以过度拟合选择标准本身。换句话说,一开始,当你最小化选择标准时,泛化性能会提高,但是会有一个点,你越减少选择标准,泛化就会变得越差。如果你运气不好,你很容易得到一个性能比你开始时更差的回归模型(即一个具有所有属性的模型)。

当数据集很小(因此选择标准具有高方差)和有许多可能的模型选择(例如选择特征组合)时,这种情况尤其可能发生。正则化似乎不太容易过度拟合,因为它是一个需要调整的标量参数,这为模型的复杂性提供了一个更受约束的视图,即过度拟合选择标准的有效自由度更少.

您还可以使用 Akaike 信息标准中的阶跃函数。下面的例子。https://en.wikipedia.org/wiki/Akaike_information_criterion

StepModel = step(ClimateChangeModel)