我将插入符号包与leaps包一起使用,以获得要在线性回归中使用的变量数。如何提取使用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个)因素的一组回报率进行回归。对于每一个基金,我都想进行逐步回归。我预计五个因素中只有一到三个对任何基金都有重要意义。