You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为reg_model1编写代码仅输出有意义的最优拟合预测变量汇总

线性回归模型最优预测变量筛选代码实现

假设你使用的是R语言中lm()函数生成的reg_model1模型,可直接用以下两种方案实现需求:

方案1:基于AIC准则的逐步回归筛选最优变量组合

该方案会自动比较变量增删后的模型拟合效果,平衡拟合精度与变量精简度,直接输出最优变量构成的模型汇总:

# 加载内置MASS包
library(MASS)
# 执行双向逐步回归,trace设为FALSE可关闭中间过程输出
best_fit_model <- stepAIC(reg_model1, direction = "both", trace = FALSE)
# 输出最优模型的完整汇总结果
summary(best_fit_model)

如果仅需提取筛选后的预测变量列表,运行names(best_fit_model$coefficients)即可,排除截距项后就是最终的最优预测变量。

方案2:从原模型直接提取显著性达标的变量

如果不需要重新拟合模型,仅需提取原模型中p值达标的变量,使用以下代码:

# 提取原模型系数汇总表
coef_table <- as.data.frame(summary(reg_model1)$coefficients)
# 筛选p值<0.05的非截距项变量,可按需调整显著性阈值
significant_vars <- rownames(coef_table)[coef_table$`Pr(>|t|)` < 0.05 & rownames(coef_table) != "(Intercept)"]
# 输出符合要求的变量
significant_vars

注意事项

  • 若你的模型包含多分类因子变量,方案2默认仅返回显著的因子水平对应的变量名,若需要保留整个因子变量,可额外增加逻辑判断:只要该因子的任意一个水平p值低于阈值,就保留整个因子变量。
  • 方案1的逐步回归筛选结果兼顾拟合效果与模型泛化性,比单纯按p值筛选更符合“对模型拟合效果最优”的要求。

内容的提问来源于stack exchange,提问作者Cheruiyot Koech

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:36:09