То, что у вас есть, это класс regsubset, есть результаты из разных подмножеств терминов, и вам нужны критерии, чтобы выбрать, какая модель является лучшей, переформулируйте модель и сделайте свои прогнозы, например:
library(caret)
train.control <- trainControl(method = "cv",number=3)
step.model <- train(mpg ~., data = mtcars,
method = "leapSeq",trControl = train.control)
Допустим, мы используем модель с максимальным r-квадратом:
res = summary(step.model$finalModel)
bestm = which.max(res$adjr2)
terms_to_use = names(which(res$which[bestm,]))[-1]
terms_to_use
1] "cyl" "hp" "wt"
Подгонка окончательной модели:
final_form = as.formula(paste("mpg ~",paste(terms_to_use,collapse="+")))
fit = lm(final_form,data=mtcars)
Чтобы получить набор подгонки:
predict(fit,se=TRUE)
Чтобы получить 95 ci коэффициентов:
confint(fit)
2.5 % 97.5 %
(Intercept) 35.0915623 42.412012412
cyl -2.0701179 0.186884238
hp -0.0423655 0.006289293
wt -4.6839740 -1.649972191