首页网站bootstrap抽样方法原理(bootstrap官方网站)

bootstrap抽样方法原理(bootstrap官方网站)

编程之家2026-05-28829次浏览

大家好,感谢邀请,今天来为大家分享一下bootstrap抽样方法原理的问题,以及和bootstrap官方网站的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

bootstrap抽样方法原理(bootstrap官方网站)

R语言实现bootstrap和jackknife检验方法

写在最前面:

首先需要说一下,本文的bootstrap和jackknife都算是蒙特卡罗方法(Monte Carlo method)的一种。应用广泛的的MCMC链(马尔可夫链蒙特卡洛方法;Markov chain Monte Carlo)也是蒙特卡罗与马尔可夫链的结合。简单来说,蒙特卡罗方法就是从已知样本的分布中随机抽取新的样本集进行评估,然后放回,再次抽取的方法。根据具体方法的不同,抽取样本集的手段也不同。

bootstrap抽样方法将观测到的样本视为一个有限的总体,是唯一的信息来源,从中有放回的随机抽样来评估总体特征,以及对抽样总体进行推断统计。bootstrap也分参数bootstrap和非参数bootstrap,前者的分布已完全知道。但在生信领域一般没有这种情况。所以下面讨论的是非参数bootstrap。

直接上例子:

假设现在有bootstrap包中的law数据集如下,

现在我们要计算LSAT成绩(美国法学入学考试)和GPA之间的相关系数。但因为样本量太少了,所以我们使用bootstrap重复抽样评估其标准误。

bootstrap抽样方法原理(bootstrap官方网站)

200次循环抽样后,计算得se.R标准误为0.1474629

得到如下的图:

1e6次循环抽样后,计算得se.R标准误为0.1333802

得到如下的图:

如果用bootstrap包的bootstrap函数会快一些:

bootstrap函数的用法: bootstrap(抽取样本范围,重复次数,进行bootstrap的函数,bootstrap的数据集)

bootstrap抽样方法原理(bootstrap官方网站)

偏差定义为bootstrap结果(多个数值)与原数据统计结果(单个数值)的均值:

得到bias大约为0.001817608,比较小

换一个包,boot包

这里用了三种方法计算置信区间:basic、正态和百分数。样本相关系数分布接近正态,则正态置信区间接近百分数区间。此外还有“Better Bootstrap Confivendence Interval”更好的bootstrap置信区间,称为BCa区间,使用偏差和偏度对百分数置信区间进行矫正。设置type="bca"即可。

简单的说,bootstrap是从原有真实样本中有放回地抽取n个。jacknife就是每次都抽取n-1个样本,也就是每次只剔除一个原样本。

同样地,如果以bootstrap包中的law数据进行演示:

Jackknife计算的bias为-0.006473623。这里jackknife的偏差公式相比于bootstrap有一个(n-1)系数,推导就不写了。

标准误se为0.1425186,与bootstrap得出的比较接近。

当统计量不太平滑的时候,Jacknife有很大误差。比如说对中位数进行统计,其变化很大。在进行Jacknife之后最好再跑一次bootstrap,看看是否相差很大。

居然还能这么嵌套着玩,针对每次bootstrap形成的数列向量计算jackknife的标准差,这样可以看出bootstrap若干次取样之间的差异。

算出来分别为0.1344824和0.08545141。后者较小,表面bootstrap取样之间的variance较小。

简单来说就是一种数据分割检验的方法,将数据分割为K份,称为"K-fold"交叉检验,每次第i个子集作为测试集来评估模型,其余的用来构建模型。Admixture使用的就是这个原理。Jackknife也属于Cross Validation的应用之一。

现在我创建一个这样的alignment:

这棵树长这样,符合遗传距离:

进行bootstrap:

phylogeny的bootstrap是对每一个节点都进行bootstrap取样并建树,比如说在9号节点,查看其bootstrap子集建的树符合系统发育关系((human2,human4,human3)(human8,human1,human6,human7,human5))的百分比(不管内部怎么样,先看这个节点)。发现Node1支持率是100(1000次都符合)。而后移到下一个节点,并且只看节点内部的分支支持率是多少。

其实原理都比较简单,计算bootstrap也会有专门的软件。

参考资料:

1)中科大张伟平教授课件

2)

bootstrap方法验证结构方程模型

Bootstrap方法是一种基于重抽样的非参数统计技术,通过有放回地重复抽样生成大量“新样本”,用于估计模型参数的不确定性,尤其适用于结构方程模型(SEM)中提高参数估计的稳健性和可信度。以下从原理、应用场景、操作方法及结果解读四个方面展开说明:

一、Bootstrap方法的核心原理重抽样机制

从原始样本中有放回地随机抽取观测值,生成与原始样本量相同的“新样本”,重复此过程多次(通常≥1000次),形成多个Bootstrap样本集。

基于每个样本集计算参数估计值(如路径系数、标准误),最终通过统计分布(如百分位数法)构建置信区间。

非参数特性

不依赖数据服从特定分布(如正态分布),仅通过原始样本的重复抽样模拟参数分布,因此对非正态数据或小样本更稳健。

优势对比

传统极大似然法(ML):假设数据多元正态分布,小样本或非正态数据下可能产生偏差。

Bootstrap:通过重抽样直接估计参数分布,避免分布假设限制,尤其适合复杂关系(如中介效应)的显著性检验。

二、SEM中应用Bootstrap的场景小样本研究

当样本量较小(如N<200)时,传统方法的标准误估计可能不准确,Bootstrap通过重抽样提高估计稳定性。

非正态数据

心理学、社会学等领域数据常呈现偏态或峰态,Bootstrap不依赖正态假设,结果更可靠。

复杂效应检验

中介效应:Bootstrap比Sobel检验更优,后者对分布敏感且效能低。

调节效应:通过置信区间是否包含0判断显著性(如95% CI不包含0则显著)。

三、常用软件操作指南AMOS

步骤:打开模型→点击“Analysis Properties”→切换至“Bootstrap”标签页→勾选“Perform Bootstrap”→设置抽样次数(建议≥1000)→勾选“Bias-corrected confidence intervals”(可选)→运行模型→查看“Bootstrap”菜单结果。

输出重点:偏差校正置信区间、Bootstrap标准误。

Mplus

代码示例:ANALYSIS: bootstrap= 1000;OUTPUT: cinterval(bootstrap);

输出重点:参数的Bootstrap置信区间(如95% CI)。

R语言(lavaan包)

代码示例:fit<- sem(model, data= mydata, se="bootstrap", bootstrap= 1000)summary(fit)parameterEstimates(fit, boot.ci.type="bca")#推荐使用偏差校正加速法(bca)

输出重点:偏差校正置信区间、标准误对比。

四、Bootstrap结果解读要点置信区间(CI)

核心判断标准:若路径系数的95% CI不包含0,则该路径显著(如[0.21, 0.52]表示显著)。

偏差校正:启用偏差校正(如BCa法)可更准确反映真实分布,尤其适用于非对称分布。

标准误对比

比较Bootstrap标准误与常规标准误:若差异大,说明原估计可能不稳定,需警惕模型设定问题。

中介效应检验

关注中介路径的CI是否跨0:若CI完全在0同侧(如[0.10, 0.30]),则中介效应显著。

抽样次数建议

基础设置:至少1000次,小样本或复杂模型建议2000~5000次。

权衡原则:太少导致结果不稳定,太多增加计算成本。

五、注意事项与局限性模型合理性优先

Bootstrap无法弥补模型设定错误(如遗漏关键变量、路径指定错误),需确保理论模型合理。

计算效率

抽样次数增加会显著提升计算时间,需根据研究需求平衡精度与效率。

极端值处理

若原始数据存在极端值,Bootstrap可能放大其影响,建议提前进行数据清洗或稳健性检验。

总结:Bootstrap通过重抽样技术为SEM提供了更稳健的参数估计方法,尤其适合小样本、非正态数据及复杂效应检验。操作时需合理设置抽样次数,解读时重点关注置信区间、偏差校正及中介效应显著性,同时确保模型设定合理。掌握此方法可显著提升实证研究的可信度与说服力。

统计中的 Bootstrap 方法是指什么

非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法,也称为自助法.其核心思想和基本步骤如下:

(1)采用重抽样技术从原始样本中抽取一定数量(自己给定)的样本,此过程允许重复抽样.

(2)根据抽出的样本计算给定的统计量T.

(3)重复上述N次(一般大于1000),得到N个统计量T.

(4)计算上述N个统计量T的样本方差,得到统计量的方差.

应该说Bootstrap是现代统计学较为流行的一种统计方法,在小样本时效果很好.通过方差的估计可以构造置信区间等,其运用范围得到进一步延伸.

具体抽样方法举例:想要知道池塘里面鱼的数量,可以先抽取N条鱼,做上记号,放回池塘.

进行重复抽样,抽取M次,每次抽取N条,考察每次抽到的鱼当中有记号的比例,综合M次的比例,在进行统计量的计算.

关于本次bootstrap抽样方法原理和bootstrap官方网站的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

开源论坛源码(开源论坛源码哪个好)成员函数调用成员函数?成员函数和非成员函数的区别