如何强制指定变量纳入bestglm输出的最优模型?
可以调整,bestglm() 内置了 force.in 参数,专门用来指定必须强制进入最终模型的变量。
你只需要在原有代码基础上补充该参数,传入要保留变量在训练集自变量部分的列索引即可,修改后的参考代码如下:
# 写法1:确认var1在训练集自变量中的列索引后直接填入(示例为第1列,根据实际调整) result2 = bestglm(training_set, IC = "AIC", family = binomial, method = "exhaustive", force.in = 1) # 写法2:通过变量名自动匹配索引,避免手动数错列 var1_col <- which(colnames(training_set) == "var1") result2 = bestglm(training_set, IC = "AIC", family = binomial, method = "exhaustive", force.in = var1_col)
加了该参数后,变量筛选的所有候选模型都会强制包含var1,再基于AIC准则在剩余12个变量中做最优组合筛选,最终输出的模型一定会包含你要保留的var1。如果有多个需要强制保留的变量,给force.in传入列索引组成的向量即可。
内容的提问来源于stack exchange,提问作者baby_gsus
相关产品推荐
相关产品推荐

