我有一个我很满意的(线性)回归模型。但是,我想为预测变量自动添加一些转换,并根据调整后的 R^2 自动选择具有转换变量的最佳模型。
有没有类似的功能step
可以leap
做到这一点?这是使用内置state.x77
数据集的示例:
st = as.data.frame(state.x77)
names(st)[c(4,6)] <- c("Life.Exp","HS.Grad")
fm = lm(formula = Life.Exp ~ Murder + HS.Grad + Frost, data = st)
transformations = list(function(x) sqrt(x), function(x) log(x))
现在我想逐步考虑模型中预测变量的所有转换fm
并选择最佳模型。例如,在第一次交互中,比较
fm_sqrt_1 = lm(formula = Life.Exp ~ sqrt(Murder) + HS.Grad + Frost, data = st)
到 fm_log_1 = lm(公式 = Life.Exp ~ log(Murder) + HS.Grad + Frost,数据 = st) 到 fm_sqrt_2 = lm(formula = Life.Exp ~ Murder + sqrt(HS.Grad) + Frost,数据 = st) to fm_log_2 = lm(formula = Life.Exp ~ Murder + log(HS.Grad) + Frost, data = st) to ...
从这些模型中挑选出最好的模型,然后在迭代 2 中再次执行相同的操作。