Stepwise AIC - 围绕这个话题是否存在争议?

机器算法验证 预测 预测模型 有马 aic 逐步回归
2022-02-06 17:25:03

我在这个网站上阅读了无数帖子,这些帖子非常反对使用任何类型的标准逐步选择变量,无论是基于 p 值、AIC、BIC 等。

我理解为什么这些程序一般来说对于变量的选择很差。gung 的可能著名的帖子在这里清楚地说明了原因;最终,我们将在我们用来提出假设的同一数据集上验证假设,这只是数据挖掘。此外,p 值受共线性和异常值等数量的影响,这些数量会严重扭曲结果等。

但是,我最近一直在研究时间序列预测,并且遇到了 Hyndman 备受推崇的教科书,他在这里特别提到了使用逐步选择来找到 ARIMA 模型的最佳顺序。事实上,在forecastR 的包中,众所周知的算法auto.arima默认使用逐步选择(使用 AIC,而不是 p 值)。他还批评了基于 p 值的特征选择,这与该网站上的多个帖子非常吻合。

最终,如果目标是开发用于预测/预测的良好模型,我们应该始终以某种方式进行交叉验证。然而,当涉及到除 p 值以外的评估指标的程序本身时,这肯定有点分歧。

有没有人对在这种情况下使用逐步 AIC 有任何意见,但在一般情况下也是如此?我被教导相信任何逐步选择都是糟糕的,但老实说,auto.arima(stepwise = TRUE)从样本结果中得到的结果比我更好,auto.arima(stepwise = FALSE)但也许这只是巧合。

1个回答

这里有几个不同的问题。

  • 可能主要问题是模型选择(无论是使用 p 值还是 AIC,逐步或所有子集或其他东西)对于推理来说主要是有问题的(例如,获得具有适当类型 I 错误的 p 值,具有适当覆盖率的置信区间)。对于预测,模型选择确实可以在偏差-方差权衡轴上选择一个更好的位置并改善样本外误差。
  • 对于某些类别的模型,AIC 渐近等效于留一法 CV 错误 [参见例如http://www.petrkeil.com/?p=836 ],因此使用 AIC 作为 CV 的计算有效代理是合理的。
  • 逐步选择通常由其他模型选择(或平均)方法(如果计算可行,则为所有子集,或收缩方法)主导。但它简单易实现,如果答案足够清晰(一些参数对应强信号,另一些弱,中间很少),那么它会给出合理的结果。同样,推理和预测之间存在很大差异。例如,如果您有几个强相关的预测变量,那么选择不正确的预测变量(从“真相”/因果的角度来看)对于推理来说是一个大问题,但是选择恰好给您最好的 AIC 的预测变量是合理的预测策略(尽管如果您尝试预测预测变量相关性发生变化的情况,该策略将会失败......)

底线:对于具有合理信噪比的中等大小的数据,基于 AIC 的逐步选择确实可以产生可防御的预测模型;例如,参见 Murtaugh (2009)。

Murtaugh, Paul A. “应用于真实生态数据的几种变量选择方法的性能。” 生态字母 12,没有。10 (2009): 1061-1068。