能否利用Bootstrap置信区间计算单个观测值的95%置信区间?
单个观测值的Bootstrap置信区间是否可行?
答案是:不能用常规Bootstrap方法对单个观测值计算有意义的95%置信区间,原因如下:
Bootstrap的核心逻辑是通过从现有样本中重复有放回采样,模拟统计量的抽样分布来估计置信区间。但当样本量
n=1时,每次重采样只能得到唯一的那个观测值——比如你代码里的x=98,理论上所有重采样结果的均值都应该是98,对应的置信区间上下限也应该和原均值一致,但你给出的结果[3.000, 96.000]明显不符合预期,大概率是代码执行过程中出现了错误(比如变量x被意外覆盖、采样逻辑出错)。从统计本质来说,单个观测值无法提供任何关于总体变异的信息。置信区间的意义是反映估计值的不确定性,而这种不确定性来自样本内部的变异。当只有一个观测值时,没有变异可以利用,Bootstrap自然无法给出有效的置信区间。
你给出的R代码及运行结果如下:
> n=1 > x=98 > mean_est=mean(x) > nboot <- 2000 > resample_dist <- rep(NA, length = nboot) > for (i in 1:nboot) { + resample_i <- sample(x, size = n, replace = TRUE) + resample_dist[[i]] <- mean(resample_i) + } > b_lci <- quantile(resample_dist, probs = 0.025) > b_uci <- quantile(resample_dist, probs = 0.975) > > > sprintf("Bootstrapped: %.3f [%.3f, %.3f]", mean_est, b_lci, b_uci) [1] "Bootstrapped: 98.000 [3.000, 96.000]"
内容的提问来源于stack exchange,提问作者ACHD
相关产品推荐
相关产品推荐

