2016-11-03 2 views
0

Благодаря этому сообщению regarding the failure of stepwise variable selection in lmкак установить порог для пакета Step?

У меня есть данные, например, выглядит, как показано ниже, как описано в этой должности

set.seed(1)   # for reproducible example 
x <- sample(1:500,500) # need this so predictors are not perfectly correlated. 
x <- matrix(x,nc=5) # 100 rows, 5 cols 
y <- 1+ 3*x[,1]+2*x[,2]+4*x[,5]+rnorm(100) # y depends on variables 1, 2, 5 only 

# you start here... 
df <- data.frame(y,as.matrix(x)) 
full.model <- lm(y ~ ., df)     # include all predictors 
step(full.model,direction="backward") 

Что мне нужно выбрать только 5 лучших переменных, а затем 6 лучших переменных выхода из них 20, кто-нибудь знает, как сделать это contarains?

ответ

0

MuMIn::dredge() имеет опцию о лимитах на количество условий.
[ПРИМЕЧАНИЕ]: количество комбинаций, требуемое время, экспоненциально растет с числом предикторов.

set.seed(1)   # for reproducible example 
x <- sample(100*20) 
x <- matrix(x, nc = 20)  # 20 predictor 
y <- 1 + 2*x[,1] + 3*x[,2] + 4*x[,3] + 5*x[,7] + 6*x[,8] + 7*x[,9] + rnorm(100) # y depends on variables 1,2,3,7,8,9 only 

df <- data.frame(y, as.matrix(x)) 
full.model <- lm(y ~ ., df)     # include all predictors 

library(MuMIn) 

# options(na.action = "na.fail")  # trace = 2: a progress bar is displayed 
dredge(full.model, m.lim = c(5, 5), trace = 2)   # result: x2, x3, x7, x8, x9 
Смежные вопросы