从自举重采样中获取的置信区间的含义是什么?

机器算法验证 置信区间 引导程序
2022-02-09 14:55:55

我一直在这个网站上查看有关引导和置信区间的许多问题,但我仍然感到困惑。我感到困惑的部分原因可能是我的统计知识不够先进,无法理解很多答案。我的统计学入门课程已经过了一半,而我的数学水平只有代数 II 的中级,所以任何超过那个水平的东西都会让我感到困惑。如果该站点上的一位知识渊博的人可以在我的水平上解释这个问题,那将非常有帮助。

我们在课堂上学习如何使用 bootstrap 方法进行重新采样,并使用这些方法为我们想要测量的一些统计数据建立置信区间。例如,假设我们从大量人口中抽取样本,发现 40% 的人表示他们会投票给候选人 A。我们假设这个样本非常准确地反映了原始人口,在这种情况下,我们可以从它是为了发现一些关于人口的事情。因此,我们重新采样并发现(使用 95% 的置信水平)得到的置信区间在 35% 到 45% 之间。

我的问题是,这个置信区间实际上是什么意思

我一直在读到(频率主义者)置信区间和(贝叶斯)可信区间之间存在差异。如果我理解正确,可信区间会说在我们的情况下,真实参数有 95% 的机会在给定的区间内(35%-45%),而置信区间会说有 95% 的概率在这个区间内情况的类型(但不一定在我们的具体情况下)我们使用的方法将准确地报告真实参数在给定的区间内。

假设这个定义是正确的,我的问题是:当使用使用 bootstrap 方法建立的置信区间时,我们正在谈论的“真实参数”是什么?我们指的是(a)原始总体的真实参数,还是(b)样本的真实参数?如果是 (a),那么我们会说 95% 的时间引导方法将准确地报告关于原始人口的真实陈述。但我们怎么可能知道呢?整个引导方法不是基于假设吗原始样本是否准确反映了样本的来源?如果(b)那么我根本不理解置信区间的含义。我们不是已经知道样本的真实参数了吗?这是一个简单的测量!

我和老师讨论过这个问题,她很有帮助。但我还是很困惑。

3个回答

如果引导程序和置信区间的形成正确执行,则意味着与任何其他置信区间相同。从频率论者的角度来看,95% CI 意味着如果整个研究无限重复,则以这种方式形成的 95% 的置信区间将包括真实值。当然,在您的研究或任何给定的个人研究中,置信区间要么包含真实值,要么不包含真实值,但您不知道是哪个。为了进一步理解这些想法,它可能会帮助您在这里阅读我的答案:为什么 95% 置信区间 (CI) 并不意味着 95% 的机会包含平均值?

关于您的进一步问题,“真实值”是指相关人群的实际参数。(样本没有参数,它们有统计量;例如,样本均值是样本统计量,但总体均值是总体参数。)至于我们如何知道这一点,在实践中我们没有。你是对的,我们依赖于一些假设——我们一直都是。如果这些假设是正确的,则可以证明这些属性成立。这就是 Efron 在 1970 年代末和 1980 年代初的工作重点,但大多数人很难理解数学。有关引导程序的某种数学解释,请参阅@StasK 在此处的回答:向外行解释引导程序的工作原理x¯μ. 对于缺少数学的快速演示,请考虑使用以下模拟R

# a function to perform bootstrapping
boot.mean.sampling.distribution = function(raw.data, B=1000){
  # this function will take 1,000 (by default) bootsamples calculate the mean of 
  # each one, store it, & return the bootstrapped sampling distribution of the mean

  boot.dist = vector(length=B)     # this will store the means
  N         = length(raw.data)     # this is the N from your data
  for(i in 1:B){
    boot.sample  = sample(x=raw.data, size=N, replace=TRUE)
    boot.dist[i] = mean(boot.sample)
  }
  boot.dist = sort(boot.dist)
  return(boot.dist)
}

# simulate bootstrapped CI from a population w/ true mean = 0 on each pass through
# the loop, we will get a sample of data from the population, get the bootstrapped 
# sampling distribution of the mean, & see if the population mean is included in the
# 95% confidence interval implied by that sampling distribution

set.seed(00)                       # this makes the simulation reproducible
includes = vector(length=1000)     # this will store our results
for(i in 1:1000){
  sim.data    = rnorm(100, mean=0, sd=1)
  boot.dist   = boot.mean.sampling.distribution(raw.data=sim.data)
  includes[i] = boot.dist[25]<0 & 0<boot.dist[976]
}
mean(includes)     # this tells us the % of CIs that included the true mean
[1] 0.952

您所说的是,无需从自举重采样中找到置信区间。如果您对从自举重采样中获得的统计数据(样本均值或样本比例)感到满意,请不要找到任何置信区间,因此没有解释问题。但是,如果您对从自举重采样获得的统计量不满意或满意但仍想找到置信区间,则对此类置信区间的解释与任何其他置信区间相同。这是因为当您的自举重采样完全代表(或假设是)原始人口时,那么哪里需要置信区间呢?自举重采样的统计数据是原始总体参数本身,但是当您不将统计数据视为原始总体参数时,则需要找到置信区间。所以,这完全取决于你如何考虑。假设您从自举重采样中计算出 95% 的置信区间。现在的解释是:“在 95% 的情况下,这种引导方法准确地产生了包含真实总体参数的置信区间”。

(这是我的想法,如有错误请指正)。

我们指的是原始种群的真实​​参数。假设数据是从原始总体中随机抽取的,则可以这样做——在这种情况下,有数学论据表明引导程序将给出有效的置信区间,至少当数据集的大小变得足够大时.