运行1000个仿真,并存储LASSO的输出

时间:2018-07-11 07:24:29

标签: r simulation glmnet

我正在使用glmnet软件包通过以下命令运行LASSO:

x_ss <- model.matrix(y_variable ~ X_variables, data="data")
y_ss <- c(y_variable)
cv.output_ss <- cv.glmnet(x_ss,y_ss, alpha=1, family="gaussian", type.measure="mse")

lambda.min_ss <- cv.output_ss$lambda.min

coef(cv.output_ss,s=lambda.min_ss)

根据我对LASSO回归的理解,每次运行时生成的估计值都略有不同。因此,我考虑可能要生成1000个模拟,并收集所讨论的X变量的估计值,以便我可以报告更有意义的内容,例如均值和方差。有什么办法可以多次运行并“保存”输出,以便获得估计的均值和方差?

1 个答案:

答案 0 :(得分:1)

自然,您可以使用CSS: span { width: 100%; background: linear-gradient(130deg, lightblue 5%, white 0%); /*Or whatever width you like*/ transition: .3s; text-align: center; line-height: 4; } span.active { background: linear-gradient(130deg, lightblue 75%, white 0%); /*Or whatever width you like*/ } sapply甚至lapply

例如

replicate

将运行相同的代码1000次并在列表中输出coef的结果。函数完成后,您可以按任意方式操作xy <- replicate(1000, { # ... coef(...) }, simplify = FALSE) ,例如提取所需的统计数据,将其绑定到data.frame或矩阵中,并报告均值,方差,分布...