【问题标题】:i need help for applying bootstrap我需要帮助来应用引导程序
【发布时间】:2021-11-26 16:50:18
【问题描述】:

我试图了解我应该在这里做什么。我已经应用了 lasso 和岭回归,找到了最佳 lambda 并重新拟合了模型。但我不明白在那之后我应该做什么。

问题:

"。对于糖尿病数据集(上传到 Moodle),我们希望使用 10 个特征(X 变量) 预测 prog (Y),即基线后一年疾病进展的定量评估。 变量 prog 是数据中的最后一列。在拟合岭回归和 LASSO 之前,不要 忘记对所有 X 变量进行标准化,以使它们具有相同的比例。 使用岭回归和 LASSO 预测 prog。在两个回归中,选择最优 lambda 使用交叉验证。最佳 lambda 将对应于最小 CV 误差。 为了获得最佳 lambda,重新拟合 ridge 和 LASSO 模型。使用 1000 个引导程序运行引导程序 复制以获得回归系数估计的标准误差 (SE)。 对于每个 bootstrap 复制,您必须重新调整 ridge 和 LASSO 模型并聚合 回归系数的估计。然后,回归系数的 SE 估计值将 自举估计的标准差。 "

【问题讨论】:

    标签: r statistics-bootstrap


    【解决方案1】:

    很遗憾,我没有足够的声誉来发表评论,所以这里有一个答案。

    样本统计量的抽样分布的标准差是标准误。通过引导,您正在为您的估计生成一个抽样分布。标准误差就是这些估计值的标准差。

    由于您已经完成了交叉验证,我假设您熟悉引导程序。它们都是重采样方法,但自举使用带替换的采样,而交叉验证不带替换的样本(这是一个非常简化的方法 - 自然它们有不同的应用程序)。您将多次使用新生成的样本重新拟合您的模型,并获得每个样本的估计系数。这些估计值的标准差就是标准误。

    这是一个使用我们生成的数据的平均值的示例,因为您没有为自己的示例提供代码或数据。

    set.seed(360)
    x <- rnorm(1000)
    xhat <- mean(x)
    
    ## we'll do 1000 replicates
    B <- 1000
    ## here we generate 1000 samples and take the mean of each one of those samples
    xhat_star <- apply(matrix(sample(x, rep=TRUE, B*length(x)), nrow=B), 1, mean)
    standard_error <- sd(xhat_star)
    

    话虽如此,我不确定使用这种方法得出的标准误差对于惩罚回归有多大意义。您已经对估计产生了偏差并减少了方差。这可能是对精度的误导性估计。请参阅penalized package 的第 18 页,了解有关惩罚回归中标准误差的说明。

    【讨论】:

    • 如果您能够提供这样一个全面的答案,就没有理由担心没有评论的声誉。评论的关注点通常是人们发布不尝试(直接)提供答案的答案,例如“我有这个问题”或“你能提供更多细节吗?”或“您查看过此文档吗?”。显然,您所做的远不止这些,这是值得欢迎的贡献。
    • 注意,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多