变量选择:最优子集、逐步回归和交叉验证

一堆候选的解释变量里,留哪几个?按 Cp、AIC、BIC、调整 R² 和交叉验证分别选出来的模型一样吗?

SOA SRMSOA PACAS MAS-IIFoA CS1IFoA CS2
对过的标准答案
3 条
覆盖的考试公式
3 个
参数
13 个
开源库
1 个

01当场运行

改一个参数,当场重算

正在用默认参数运行,计算量大的方法最多要 20 秒。

04出处和说明

公式从哪里来,有什么限制

列出参考的教材、论文和考试公式条目。方法的限制和实现上的说明也写在这里。

参考

  • James、Witten、Hastie、Tibshirani:An Introduction to Statistical Learning6.1 Subset Selection;5.1 Cross-Validation
  • Mallows (1973) Some comments on Cp

覆盖的考试公式

  • REG-014交叉验证(LOOCV/PRESS 与 k 折)SRMPAMAS-ICS2
  • REG-015模型比较:Mallows Cp、替代 AIC/BICSRMMAS-I
  • REG-016子集选择的模型个数SRMMAS-ICS1

公式条目按精算考试的公式表整理,编号和中文名是平台自己的。

这个方法算什么

对线性回归做最优子集、向前逐步或向后逐步选择。每个大小的最优模型都列出 SSE、R²、调整 R²、Cp、AIC、BIC、留一交叉验证(PRESS)、k 折交叉验证,按选定的准则挑出最终的模型,并给出拟合过的模型个数。

说明和限制

  • d 是解释变量的个数(不含截距),σ̂² 用全部变量的模型的 MSE。Cp、AIC、BIC 按 ISLR(SRM 公式表)的写法,同一个数据集上 Cp 和 AIC 选出的模型相同。
  • 另列经典的 Mallows Cp = SSE_d/σ̂² − n + 2(d + 1):全模型的值正好是 d + 1,好的子模型的 Cp 接近 d + 1。
  • 留一交叉验证用帽子矩阵的公式,不用真的拟合 n 次。k 折交叉验证按种子随机分折,结果和种子有关。
  • 逐步选择每一步按 SSE 选变量(ISLR 算法 6.2、6.3),最后才用准则在 k + 1 个模型里挑。它不保证找到最优子集。

数据

看参数里选的数据:选平台的数据集时是真实数据或公开样例,填自己的数时只用输入的数。上面运行的输出里写明这一次用的是哪种。

开源库和版本

  • numpy2.4.6BSD-3-Clause数值计算

05同族的方法

广义线性模型,还有 21 个方法

同一个方法族里的其他方法。在智能体里,用一句话就能调用这些方法。

在智能体里这样问“一堆候选的解释变量里,留哪几个?按 Cp、AIC、BIC、调整 R² 和交叉验证分别选出来的模型一样吗?”