glmnet中不同预筛选特征集的弹性网模型能否用AIC比较
解答
核心结论
你描述的两类模型无法使用AIC直接进行对比。
原因说明
- AIC对比的核心前提是:所有参与对比的模型必须基于完全相同的响应变量样本,且处在统一的建模框架下,共享一致的饱和模型定义与似然计算基准。你的两个模型分别使用了不同的特征集拟合,各自的零模型、饱和模型的计算基准完全不同,算出的似然值不具备横向可比性。
- 你提到的glmnet对数似然计算公式为
2 * 对数似然 = -(1 - fit$dev.ratio) * nulldev,其中nulldev是当前拟合所用特征集对应的仅含截距项的零模型偏差,不同特征集对应的nulldev取值本身就不一样,基于各自基准算出的对数似然、后续推导的AIC自然不能用来判断特征选择方案的优劣。 - 另外补充:弹性网属于正则化模型,即使是同一特征集下的不同正则参数模型,计算AIC时的参数个数也不能直接取非零系数的数量,需要额外计算有效自由度,这也会进一步影响AIC结果的可靠性。
推荐替代方案
你可以选择不依赖同建模框架前提的预测性能指标完成对比:
- 拆分独立测试集,在测试集上计算两个模型的AUC、分类准确率、对数损失等指标直接对比效果
- 采用交叉验证下的预测偏差、误分类率作为对比标准,结果更贴合你筛选特征选择方案的实际需求
内容的提问来源于stack exchange,提问作者TauSigma
相关产品推荐
相关产品推荐

