r - 使用逐步回归查找指定数量的预测变量
问题描述
我试图在 104 个变量中找到有限数量的预测变量(最大值 = 6)。所以,我使用逐步回归(对于每个变量我有 10532 个值)。我试过 MATLAB:
mdl = stepwiselm(Pr, obs,'PEnter', 0.06)
但是,它给了我大约 70 个变量。另外,我尝试使用 R 包解决问题leaps
:
b <- leaps::regsubsets(obs ~ ., data=Pr, nbest=1, nvmax=6)
我收到以下错误:
“Leaps.exhaustive(a,really.big) 中的错误:穷举搜索会很慢,必须指定 real.big=T”
我知道这应该是解决这个问题的一种简单方法,但我似乎无法找出正确的格式。先感谢您。
解决方案
利用
leaps::regsubsets(obs ~ ., data=Pr, nbest=1, nvmax=6, really.big=T)
或者你可以试试
library(MASS)
# Fit the full model
full.model <- lm(obs ~ ., data=Pr)
# Stepwise regression model
step.model <- stepAIC(full.model, direction = "both",
trace = FALSE)
summary(step.model)
推荐阅读
- ruby - ERB 模板中的代数符号操作
- jasper-reports - 线条仅在第一页可见
- javascript - 如何更改单击文本标签上的 svg 颜色
- jquery - 在 html/jquery 中用一个 JSON 字符串替换许多数据标签
- node.js - 节点脚本以 root 身份运行,无法在 AWS 中的 Ubuntu 上获得凭证访问权限,是这样吗?
- scala - 斯卡拉阿卡 | 如何在集群中使用 allButSelf 属性?
- tensorflow - Tensorflow NN 实现不收敛
- python - 对 RGB 图像进行维纳滤波
- mpi - 在 Slurm 中,是否可以为每个任务分配不同数量的 CPU?
- python - 尝试编写快速排序的就地实现,但我无法返回排序后的数组