R 在启动时使用自适应套索功能时出错
我目前有以下代码。在boot()函数之外运行时,该函数可以工作,但在使用boot()函数时,它会提供错误信息R 在启动时使用自适应套索功能时出错,r,glmnet,statistics-bootstrap,lasso-regression,R,Glmnet,Statistics Bootstrap,Lasso Regression,我目前有以下代码。在boot()函数之外运行时,该函数可以工作,但在使用boot()函数时,它会提供错误信息 t.star[r,]中的错误由alassoOLS_ydot_n10_fn返回的向量长度不是常数,而是取决于glmnet选择的变量数量 我修改了你的函数如下: alassoOLS_ydot_n10_fn <- function(data,index){ x <- data[index,-1] y <- data[index,1] cv.out <- c
t.star[r,]中的错误由
alassoOLS_ydot_n10_fn
返回的向量长度不是常数,而是取决于glmnet
选择的变量数量我修改了你的函数如下:
alassoOLS_ydot_n10_fn <- function(data,index){
x <- data[index,-1]
y <- data[index,1]
cv.out <- cv.glmnet(x,y,alpha=1,nfolds=10)
bestlam <- cv.out$lambda.min #the best lambda chosen by CV
lasso.mod <- glmnet(x,y,alpha=1,lambda=bestlam, penalty.factor = 1/abs(best_ridge_coef.ydot.n10))
coef <- as.vector(coef(lasso.mod))[-1]
coef_nonzero <- coef != 0
ls.obj <- lm(y ~x[, coef_nonzero, drop = FALSE])
ls_coef <- (ls.obj$coefficients)[-1]
# Generate a fixed-length vector fo OLS coefficients
# The coefficients of variables not selected by glmnet were set to zero.
vect_coef <- rep(0,length(coef_nonzero))
vect_coef[coef_nonzero] <- ls_coef
return(vect_coef)
}
产出报告如下
ORDINARY NONPARAMETRIC BOOTSTRAP
Bootstrap Statistics :
original bias std. error
t1* 0.00000000 -0.002330197 0.02319543
t2* 0.13530886 -0.001906712 0.09889174
t3* -0.19509877 -0.013020365 0.07251921
t4* -0.01954785 0.015227018 0.09184750
t5* 0.05600451 0.008896392 0.08729263
t6* 0.12978757 -0.013795860 0.11320119
t7* 0.06525111 -0.007208380 0.09703813
t8* 0.09368079 -0.017343037 0.08947958
t9* -0.09518469 -0.003352512 0.08575450
这正是我需要的。谢谢@很高兴能帮助你!请接受并投票表决我的答案。非常感谢。
set.seed(1)
ydot_matrix_n10 <- matrix(runif(1000), ncol=10)
best_ridge_coef.ydot.n10 <- 10
boot(ydot_matrix_n10,alassoOLS_ydot_n10_fn,R=50)
ORDINARY NONPARAMETRIC BOOTSTRAP
Bootstrap Statistics :
original bias std. error
t1* 0.00000000 -0.002330197 0.02319543
t2* 0.13530886 -0.001906712 0.09889174
t3* -0.19509877 -0.013020365 0.07251921
t4* -0.01954785 0.015227018 0.09184750
t5* 0.05600451 0.008896392 0.08729263
t6* 0.12978757 -0.013795860 0.11320119
t7* 0.06525111 -0.007208380 0.09703813
t8* 0.09368079 -0.017343037 0.08947958
t9* -0.09518469 -0.003352512 0.08575450