【问题标题】:Running 1000 simulations, and storing the output from LASSO运行 1000 次模拟,并存储 LASSO 的输出
【发布时间】:2018-07-11 07:24:29
【问题描述】:

我正在使用 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 变量的估计值,以便我可以报告更有意义的东西,例如均值和方差。有什么方法可以多次运行并“保存”输出,以便获得估计的均值和方差?

【问题讨论】:

    标签: r simulation glmnet


    【解决方案1】:

    当然,您可以使用sapplylapply 甚至replicate

    例如

    xy <- replicate(1000, {
      # ...
      coef(...)
    }, simplify = FALSE)
    

    将运行相同的代码 1000 次并在列表中输出 coef 的结果。函数完成后,您可以以任何您想要的方式操作xy,例如提取所需的统计数据,将其绑定到 data.frame 或矩阵中,并报告均值、方差、分布...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      • 2020-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      相关资源
      最近更新 更多