几年前在 CV 上提出了这个问题,鉴于 1)数量级更好的计算技术(例如并行计算、HPC 等)和 2)更新的技术,例如 [3],这似乎值得重新发布。
首先,一些背景。让我们假设目标不是假设检验,也不是效果估计,而是对未见测试集的预测。因此,任何可解释的好处都没有得到重视。其次,假设您不能排除任何预测因素与主题考虑的相关性,即。它们单独或与其他预测因素结合似乎都是合理的。第三,您面临着(数亿)数百万个预测变量。第四,假设您可以无限预算访问 AWS,因此计算能力不是限制因素。
变量选择的常见原因是 1) 效率;更快地拟合更小的模型并且更便宜地收集更少的预测变量,2)解释;了解“重要”变量可以深入了解底层过程 [1]。
现在众所周知,许多变量选择方法是无效的并且通常是完全危险的(例如,前向逐步回归)[2]。
其次,如果所选模型有任何好处,则根本不需要减少预测变量列表。该模型应该为您完成。一个很好的例子是套索,它为所有不相关的变量分配一个零系数。
我知道有些人提倡使用“大象”模型,即。将所有可能的预测变量都扔到合适的位置并与之一起运行 [2]。
如果目标是预测准确性,是否有任何基本理由进行变量选择?
[1] Reunanen, J. (2003)。在比较变量选择方法时过度拟合。机器学习研究杂志,3,1371-1382。
[2] Harrell, F. (2015)。回归建模策略:应用于线性模型、逻辑和序数回归以及生存分析。施普林格。
[3] Taylor, J. 和 Tibshirani, RJ (2015)。统计学习和选择性推理。美国国家科学院院刊,112(25),7629-7634。
[4] Zhou, J.、Foster, D.、Stine, R. 和 Ungar, L.(2005 年 8 月)。使用 alpha-investing 进行流式传输特征选择。在第十一届 ACM SIGKDD 数据挖掘知识发现国际会议论文集上(第 384-393 页)。ACM。