r - 运行 1000 次模拟,并存储 LASSO 的输出
问题描述
我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 变量的估计值,以便我可以报告更有意义的东西,例如均值和方差。有什么方法可以多次运行并“保存”输出,以便获得估计的均值和方差?
解决方案
当然,您可以使用sapply
,lapply
甚至replicate
.
例如
xy <- replicate(1000, {
# ...
coef(...)
}, simplify = FALSE)
将运行相同的代码 1000 次并在列表中输出 coef 的结果。函数完成后,您可以xy
以任何方式进行操作,例如提取所需的统计数据,将其绑定到 data.frame 或矩阵中,并报告均值、方差、分布...
推荐阅读
- mp3 - 我无法从云转换器 m4a 下载到 mp3 错误任务导入 1:文件名无效
- javascript - 如何使用 Jquery 在 Ajax 数据响应中循环遍历数组?
- python - 将自定义包添加到使用 pyinstaller 创建的 dist
- r - 将列表列表转换为R中的特定长度
- python - 我的按钮不会将表单保存到数据库中。请帮忙
- javascript - 将 MySQL 与电子应用程序捆绑在一起的任何方式
- netlogo - 有没有办法根据网络徽标中的补丁变量设置补丁集?
- swift - Swift Playground 无法识别其他文件夹中的结构
- javascript - 单击时更改按钮值和颜色
- huawei-mobile-services - Health Kit:无法通过华为帐号完成登录和授权