如何从插入符号中的此模型中提取系数?

时间:2019-03-15 03:26:26

标签: r linear-regression r-caret feature-selection

我正在使用插入符号包和jumps包来获取要在线性回归中使用的变量数量。如何提取使用mdl $ bestTune变量数量的最低RMSE的模型?如果无法做到这一点,那么您会建议其他软件包中包含函数,以便允许逐步线性回归的loocv并实际上让我找到最终模型吗?

下面是可复制的代码。从中,我可以从mdl$bestTune看出变量的数量应为4(即使我希望为3)。看来我应该能够从summary(mdl$finalModel)的第三行中提取变量,但是我不确定在一般情况下(而不仅仅是在此示例中)如何执行此操作。

library(caret)
set.seed(101)
x <- matrix(rnorm(36*5), nrow=36)
colnames(x) <- paste0("V", 1:5)
y <- 0.2*x[,1] + 0.3*x[,3] + 0.5*x[,4] + rnorm(36) * .0001 
train.control <- trainControl(method="LOOCV")
mdl <- train(x=x, y=y, method="leapSeq", trControl = train.control, trace=FALSE)
coef(mdl$finalModel, as.double(mdl$bestTune))
mdl$bestTune
summary(mdl$finalModel)
mdl$results

这是我的问题后面的内容,以防您感兴趣。我有历史的每月收益数百个共同基金。每个基金的收益都是一个因变量,我希望根据少数(例如5个)因素对一组收益进行回归。对于每个基金,我都希望进行逐步回归。我预计这五个因素中只有1到3个对任何基金都是重要的。

1 个答案:

答案 0 :(得分:1)

您可以使用: coef(mdl$finalModel,unlist(mdl$bestTune))