Bootstrap抽样技术的简单介绍

文摘   2024-10-18 08:29   北京  


Vol.1

方法介绍


bootstrap的主要思想:Bootstrap方法是一种通过从原始数据集中进行有放回抽样并重复计算统计量来估计总体参数的分布,从而进行统计推断的非参数技术,它不依赖于对数据分布的任何假设。简单来说就是利用重复抽样的样本来进行总体推断。


举个例子:假设你有一堆苹果,你想知道这些苹果的平均重量是多少。传统的方法可能假设这些苹果的重量遵循某种特定的分布,比如正态分布,然后根据这个假设来计算平均重量的置信区间。但是,如果实际上苹果的重量并不遵循我们假设的分布,那么我们得到的置信区间可能就不准确了。

Bootstrap法的巧妙之处在于,它不依赖于这些假设。它的做法是,从这堆苹果中随机地、有放回地抽取若干个苹果(就像你闭着眼睛从袋子里摸苹果,摸完一个再放回去,然后再摸下一个),然后计算这若干个苹果的平均重量。重复这个过程很多次,比如一千次或一万次,每次都记录下抽取样本的平均重量。最后,就有了一个平均重量的分布,这个分布完全是基于你的原始数据生成的,没有依赖任何关于苹果重量分布的假设。

通过观察这个由多次模拟得到的平均重量分布,你可以得到关于原始平均重量的置信区间,也可以了解这个平均重量的估计有多可靠。如果很多次模拟得到的平均重量都集中在某个范围内,那么你就有理由相信,这个范围很可能接近真实的情况。



Vol.2

Bootstrap法的优点


非参数假设:不需要对数据的分布做任何假设。

灵活性:适用于各种统计量和数据类型,无论是均值、方差、还是其他复杂的统计量。

易于实现:特别适合在不确定数据分布情况下的分析,常用于小样本或非正态分布的情形。



Vol.3

bootstrap在R中的实现


Bootstrap的核心机制是有放回的抽样,相当于只使用手上的数据进行模拟。假设我们只有6个样本:1、2、3、4、5、6,为了使用bootstrap,我们使用 sample() 函数对该序列进行有放回的抽样。

n <- 6 # sample size samp <- c(1:n)sample(samp, size = n, replace = TRUE)


当我们运行第三行代码,相当于只抽了一次,如果我们想抽1000次,此时可以使用一个for循环来完成:

nboot <- 1000  boot.m <- vector(mode = "numeric", length = nboot) for(B in 1:nboot){ boot.samp <- sample(samp, size = n, replace = TRUE) boot.m[B] <- mean(boot.samp)}


通常我们需要用循环来一次次地生成Bootstrap样本,但还有一种更简便的方法:我们可以一次性生成所有需要的Bootstrap样本(样本总数等于原始数据量乘以我们要生成的Bootstrap样本数量size = n*nboot),然后把这些样本整理成一个矩阵的形式。接下来,我们可以用apply函数来快速计算这个矩阵中每一行(也就是每一组Bootstrap样本)的平均值。

boot.m <- apply(matrix(sample(samp, size = n*nboot, replace = TRUE), nrow = nboot), 1, mean)




Vol.4

bootstrap置信区间


通过上述的bootstrap的分布,我们可以计算一下置信区间:

alpha <- 0.05ci <- quantile(boot.m, probs = c(alpha/2, 1-alpha/2)) round(ci, digits = 3)

这里的 alpha 设置为0.05,表示我们希望计算95%的置信区间。通过 quantile 函数可以得到Bootstrap样本的上下边界,从而构成置信区间。



Vol.5

bootstrap的P值计算


假设我们要检验一个均值是否等于某个特定值(如 2.5),可以通过Bootstrap分布计算p值:

null.value <- 2.5 half.pval <- mean(boot.m>null.value) +.5*mean(boot.m==null.value)pval <- 2*min(c(half.pval,1-half.pval)) pval


这个过程首先计算样本均值分布中超过或等于空值的比例,然后计算出双侧p值。Bootstrap的p值可以帮助我们评估数据是否显著偏离假设值。

其实一般的心理学研究方法中使用bootstrap非常简单,已经有很多包,只需要改改参数就行,本篇推文我们主要是在R中演示了bootstrap的原理,即这是怎么做的,希望能让大家对这个方法有更全面的了解。



参考文献

Rousselet, G. A., Pernet, C. R., & Wilcox, R. R. (2021). The percentile bootstrap: a primer with step-by-step instructions in R. Advances in Methods and Practices in Psychological Science, 4(1), 2515245920911881.




PSYCH统计实验室

通知公告

网络分析课程目前开放视频课啦!


单次课200元/讲(学生),250元/讲(非学生)
共有四讲内容
①横断面网络分析简介与基础
②网络分析与因子分析
③交叉滞后网络分析
④时间序列网络分析


购买后开放视频权限14天,可多次申请。
并赠送所有课程相关资料(无PPT)
如果想申请购买,请联系M18812507626



更多资讯

关注我们


文稿:Traveler

排版:Peruere
责编:Wink
审核:摘星

本文由“Psych统计自习室”课题组原创,欢迎转发至朋友圈。如需转载请联系后台,征得作者同意后方可转载。



Psych统计自习室
大家好,我们是由来自北京师范大学,西南大学,天津医科大学等高校在读硕士、博士研究生组成的一个科研团队——Psych统计自习室。Psych统计自习室旨在关注心理学、精神病学领域的最前沿的系列研究,并做前沿统计知识的分享。
 最新文章