Questions tagged «bootstrap»

引导程序是一种重采样方法,用于估计统计信息的采样分布。

4
Bootstrap,蒙特卡洛
作为作业的一部分,我被设置了以下问题: 设计并实施模拟研究,以检查引导程序的性能,以获取单变量数据平均值的95%置信区间。您的实现可以采用R或SAS。 您可能要查看的性能方面是置信区间覆盖率(即,置信区间包含真实均值的几率)和蒙特卡洛变化(即,模拟之间的上下置信限有多少变化)' 有谁知道该怎么做蒙特卡洛变化方面?我似乎什至无法解决算法或其他问题。与蒙特卡洛积分有关吗?谢谢!

4
Bootstrap vs蒙特卡洛,误差估计
我正在阅读《地球化学计算中的蒙特卡洛方法的误差传播》一书,安德森(Anderson,1976年),有些事情我不太了解。 考虑一些测量数据和程序,其处理它,并返回一个给定值。在本文中,此程序用于首先使用数据手段(即)获得最佳值。{A±σA,B±σB,C±σC}{A±σA,B±σB,C±σC}\{A\pm\sigma_A, B\pm\sigma_B, C\pm\sigma_C\}{A,B,C}{A,B,C}\{A, B, C\} 然后,作者使用蒙特卡洛方法,通过在不确定性范围内改变输入参数(由均值和标准偏差给出的高斯分布来确定),将不确定性分配给该最佳值。),然后再将其提供给程序。如下图所示:{A,B,C}{A,B,C}\{A, B, C\}{σA,σB,σC}{σA,σB,σC}\{\sigma_A, \sigma_B, \sigma_C\} (版权:ScienceDirect) 可以从最终的分布中获得不确定性。ZZZ 如果我应用了bootstrap方法而不是Monte Carlo方法,将会发生什么情况?像这样: 这是:我不是在不确定性范围内更改数据,而是先将它们替换为样本,然后再将其提供给程序。 在这种情况下,这两种方法有什么区别?应用任何警告之前,我应该注意哪些注意事项? 我知道这个问题,蒙特卡洛(Bootstrap)引导程序,但是它并不能完全解决我的疑问,因为在这种情况下,数据包含分配的不确定性。

1
多元时间序列的块引导程序的替代方法
我目前使用以下过程来引导R中的多元时间序列: 确定块大小-运行包中的函数b.star,该函数np将为每个系列生成块大小 选择最大块大小 tsboot使用选定的块大小在任何系列上运行 使用引导输出中的索引来重构多元时间序列 有人建议使用meboot软件包作为块引导程序的替代方法,但是由于我没有使用整个数据集来选择块大小,因此,我不确定如果要使用通过在运行meboot时创建的索引来保持序列之间的相关性。一个系列。如果有人在多变量环境下使用过meboot,我将不胜感激有关此过程的建议。

1
计算模式的置信区间?
我正在寻找有关计算模式的置信区间的参考(一般而言)。Bootstrap似乎是自然的首选,但正如Romano(1988)所讨论的那样,标准的bootstrap对于mode来说是失败的,并且它没有提供任何简单的解决方案。自本文以来,有什么变化吗?计算模式置信区间的最佳方法是什么?最好的基于引导的方法是什么?您可以提供任何相关参考吗? Romano,JP(1988)。引导模式。统计数学研究所的年鉴,40(3),565-586。

1
非参数自举p值与置信区间
语境 这有点类似于此问题,但我认为这并非完全相同。 当您寻找有关如何执行自举假设检验的说明时,通常会指出,使用经验分布作为置信区间是可以的,但是您需要从原假设下的分布中正确地自举以获得p-值。例如,请参阅对此问题的公认答案。在互联网上进行的一般搜索似乎似乎可以找到类似的答案。 不使用基于经验分布的p值的原因是,大多数时候我们没有平移不变性。 例 让我举一个简短的例子。我们有一个硬币,我们想进行一个单面测试,看看正面的频率是否大于0.5 我们执行试验,得到个头。该测试的真实p值为。n=20n=20n = 20k=14k=14k = 14p=0.058p=0.058p = 0.058 另一方面,如果我们从20个磁头中引导14个,则可以有效地从且的二项分布中进行采样。通过减去0.2来偏移此分布,当针对获得的经验分布测试观察值0.7时,我们将得到几乎没有显着结果。n=20n=20n = 20p=1420=0.7p=1420=0.7p = \frac{14}{20}=0.7 在这种情况下,差异很小,但是当我们测试的成功率接近1时,差异会更大。 题 现在让我提出我的问题的实质:对于置信区间,同样的缺陷也成立。实际上,如果置信区间具有规定的置信度水平则在无效假设下不包含参数的置信区间等效于在重要性水平为拒绝无效假设。αα\alpha1−α1−α1- \alpha 为什么基于经验分布的置信区间被广泛接受而p值却未被接受? 是否存在更深层的原因,或者人们是否没有那么自信的保守度? Peter Dalgaard 在这个答案中给出的答案似乎与我的观点一致。他说: 这种推理方式没有什么特别错误的,至少没有(比)CI的计算差很多。 (很多)从哪里来?这意味着以这种方式生成p值会稍差一些,但在这一点上没有详细说明。 最后的想法 同样在《埃夫隆(Efron)和蒂布希尔尼(Tibshirani)的引言》中,它们为置信区间分配了很多空间,但没有为p值分配空间,除非它们是在适当的零假设分布下生成的,除了关于有关置换测试的章节中的置信区间和p值。 让我们也回到我链接的第一个问题。我同意迈克尔·切尔尼克(Michael Chernick)的回答,但他再次重申,在某些情况下,基于经验自举分布的置信区间和p值同样不可靠。它没有解释为什么您会发现很多人告诉您间隔是正确的,但p值却不正确。

2
偏向引导程序:是否可以将CI置于观察到的统计数据的中心?
这类似于Bootstrap:估算值超出置信区间 我有一些数据可以代表人群中基因型的数量。我想使用Shannon指数来估算遗传多样性,并且还要使用自举法生成一个置信区间。但是,我已经注意到,通过自举进行的估算往往会产生极大的偏差,并导致置信区间超出我观察到的统计数据。 下面是一个例子。 # Shannon's index H <- function(x){ x <- x/sum(x) x <- -x * log(x, exp(1)) return(sum(x, na.rm = TRUE)) } # The version for bootstrapping H.boot <- function(x, i){ H(tabulate(x[i])) } 资料产生 set.seed(5000) X <- rmultinom(1, 100, prob = rep(1, 50))[, 1] 计算方式 H(X) ## [1] 3.67948 …

1
引导程序是否适合此连续数据?
我是一个完整的新手:) 我正在从大约745,000的人口中进行10,000个样本量的研究。每个样本代表一个“百分比相似度”。大部分样本在97%-98%左右,但少数样本在60%到90%之间,也就是说,分布严重负向倾斜。约0.6%的结果为0%,但这些将与样品分开处理。 所有10,000个样本的平均值为97.7%,仅在Excel中,StdDev为3.20。我知道StdDev在这里并不是真正适用的,因为结果不是正态分布的(因为+3.20会使您超过100%!)。 我的问题是: 自举(对我来说是个新概念)是否合适? 我是否正确引导:) 足够的样本量是多少? 我正在做的是对10,000个结果进行重新采样(并替换)并计算新的均值。我执行了数千次,并将每个均值存储在一个数组中。然后,我计算“均值”,这是我的统计结果。要计算出99%的置信区间,我选择了第0.5%的值和第99.5%的值,这产生了非常狭窄的范围:97.4%-98.0%。这是有效的结果,还是我做错了什么? 至于样本量,我仅抽样了约1.3%的人口-我不知道这是否足够。我如何知道我的样本是否代表人群?理想情况下,我希望对+/- 0.50%的平均值(即97.2%-98.2%)有99%的信心。 在此先感谢您提供任何提示!

1
了解在R中执行的引导程序的输出(tsboot,MannKendall)
我对R中的tsboot调用的解释有疑问。我检查了Kendall和启动软件包的文档,但并不比以前更聪明。 当我使用Kendall包中的示例运行引导程序时,测试统计量为Kendall的tau: library(Kendall) # Annual precipitation entire Great Lakes # The Mann-Kendall trend test confirms the upward trend. data(PrecipGL) MannKendall(PrecipGL) 这确认了上升趋势: tau = 0.265, 2-sided pvalue =0.00029206 然后,该示例继续使用块引导程序: # #Use block bootstrap library(boot) data(PrecipGL) MKtau<-function(z) MannKendall(z)$tau tsboot(PrecipGL, MKtau, R=500, l=5, sim="fixed") 我收到以下结果: BLOCK BOOTSTRAP FOR TIME SERIES Fixed Block Length …
11 r  bootstrap 

2
为什么在引导假设检验中应在零假设下对数据进行重新采样?
引导程序方法在假设检验中的直接应用是通过对自举样本进行重复计算来估计测试统计信息的置信区间 (将从引导程序采样的统计信息称为)。如果假设参数(通常等于0)位于的置信区间之外,则我们拒绝。θ^θ^\hat{\theta}θ^θ^\hat{\theta}θ∗^θ∗^\hat{\theta^*}H0H0H_0θ0θ0\theta_0θ∗^θ∗^\hat{\theta^*} 我读过,这种方法缺乏力量。在Hall P.和Wilson SR的文章“引导假设检验的两个准则”(1992年)中,它被写为第一条准则,即应该对重新采样,而不是在。这是我不了解的部分。θ∗^- θ^θ∗^-θ^\hat{\theta^*} - \hat{\theta}θ∗^- θ0θ∗^-θ0\hat{\theta^*} - \theta_0 这不就是措施的估计只是偏置?对于无偏估计量,此表达式的置信区间应始终小于,但是我看不到与测试什么关系?我在哪里都看不到我们放置有关。θ∗^- θ^θ∗^-θ^\hat{\theta^*} - \hat{\theta}θ∗^θ∗^\hat{\theta^*}θ∗^- θ0θ∗^-θ0\hat{\theta^*} - \theta_0θ^= θ0θ^=θ0\hat{\theta}=\theta_0θ0θ0\theta_0 对于那些无法访问本文的人,本文引用紧随其后的相关段落: 要理解为什么这很重要,请注意如果在中,测试将涉及拒绝 是“太大”。如果与真实值很远 (即,如果严重错误),则差异 与的非参数引导分布相比,它看起来永远不会太大。比较有意义的是的分布 。事实上,如果真值 ISH0H0H_0∣∣θ^- θ0∣∣|θ^-θ0|\left| \hat{\theta} - \theta_0\right|θ0θ0\theta_0θθ\thetaH0H0H_0∣∣θ^- θ0∣∣|θ^-θ0|\left|\hat{\theta} - \theta_0 \right|∣∣θ^- θ0∣∣|θ^-θ0|\left| \hat{\theta} - \theta_0\right|∣∣θ∗^- θ^∣∣|θ∗^-θ^|\left| \hat{\theta^*} - \hat{\theta}\right|θθ\thetaθ1个θ1个\theta_1那么自举测试的功效将增加为1,原因是增加,前提是测试基于重采样 | ^ θ * - θ | 上,但是电源至多降低至显着性水平(如| …

1
为什么从混合效应模型中自举残差会产生反保守的置信区间?
我通常处理的数据是,在2个或更多条件下,分别测量了多个个体。我最近一直在使用混合效果建模来评估条件之间差异的证据,individual并将其建模为随机效果。为了可视化此类建模预测的不确定性,我一直在使用自举法,其中在引导程序的每次迭代中,对个体和条件内观察进行替换抽样,并从中计算新的混合效应模型获得。这对于假定高斯误差的数据效果很好,但是当数据为二项式时,自举可能会花费很长时间,因为每次迭代都必须计算一个计算量相对较高的二项式混合效应模型。 我当时的想法是,我可以使用原始模型中的残差然后使用这些残差代替引导程序中的原始数据,这将使我能够在引导程序的每次迭代中计算一个高斯混合效果模型。将原始数据的二项式模型的原始预测与残差的自举预测相加,得出原始预测的CI为95%。 不过,我最近编码这种做法的一个简单的评价,造型两种情况之间没有区别的,计算的时间比例为95%置信区间未能包括零,而且我发现,上述基于残差,引导过程的产量相当强烈反保守的时间间隔(超过5%的时间排除零)。此外,我然后编码(与以前的链接相同)对该方法的类似评估,该评估应用于原始高斯数据,并且获得了相似的(尽管不是极端的)反保守CI。知道为什么会这样吗?

1
基本自举置信区间的覆盖概率
我正在研究的课程存在以下问题: 进行蒙特卡洛研究,以估计标准正常自举置信区间和基本自举置信区间的覆盖概率。从正常人群中抽样,并检查样本均值的经验覆盖率。 标准普通引导程序CI的覆盖率很容易: n = 1000; alpha = c(0.025, 0.975); x = rnorm(n, 0, 1); mu = mean(x); sqrt.n = sqrt(n); LNorm = numeric(B); UNorm = numeric(B); for(j in 1:B) { smpl = x[sample(1:n, size = n, replace = TRUE)]; xbar = mean(smpl); s = sd(smpl); LNorm[j] = xbar + …

1
引导方法。为什么用“替换”重新采样而不是随机子采样?
近年来,bootstrap方法得到了极大的推广,我也经常使用它,特别是因为背后的原因很直观。 但这是我不明白的一件事。为什么埃夫隆选择通过替换进行重采样,而不是通过随机包含或排除单个观测值来简单地进行二次采样? 我认为随机二次抽样具有非常好的质量,理想地代表了现实生活中的情况,在这种情况下,我们在研究中得到的观察值是假设总体的子集。我没有看到在重采样期间增加观察数的优势。在实际情况下,没有观察到与其他观察相似的情况,尤其是对于复杂的多元情况。

2
引导的利弊
我刚刚了解了自举的概念,并且想到了一个幼稚的问题:如果我们总是可以生成大量的数据自举样本,为什么还要费心去获取更多的“真实”数据呢? 我确实有一个解释,请告诉我我是否正确:我认为引导过程会减少方差,但是如果我的原始数据集是BIASED,那么无论有多少副本,我都将保持低方差和高偏差我在拿。

1
自举重要性测试的两种方法
使用引导程序,我使用两种方法计算重要性测试的p值: 在原假设下重新采样并计算结果至少与原始数据得出的结果一样极端 在替代假设下进行重采样,并计算结果与原始结果的距离至少与与原假设对应的值一样远 我相信第一种方法完全正确,因为它遵循ap值的定义。我对第二个不太确定,但是它通常会给出非常相似的结果,并让我想起Wald测试。 我对吗?两种方法都正确吗?它们是否相同(对于大样本)? 两种方法的示例(在DWin的问题和Erik的回答后进行编辑): 示例1.让我们构造一个类似于两个样本T检验的自举测试。方法1将从一个样本中重新采样(通过合并原始两个样本获得)。方法2将分别从两个样本中重新采样。 示例2.让我们构造一个x₁…xₐ和y₁…yₐ之间的相关性的自举测试。方法1将假定没有相关性,并重新采样允许(xₑ,yₔ)对,其中e≠ə。方法2将编译原始(x,y)对的引导程序样本。 示例3.让我们构造一个引导测试来检查硬币是否公平。方法1将创建随机样本,设置Pr(head)= Pr(tail)= 1/2。方法2将重新采样实验头/尾值的样本,并将比例与½进行比较。

4
为什么对重新采样的数据集进行假设检验经常会拒绝零值?
tl; dr:从空值下生成的数据集开始,我对样本进行了替换并重新采样,并对每个重新采样的数据集进行了假设检验。这些假设检验在超过5%的时间内拒绝了原假设。 在下面的非常简单的模拟中,我使用生成数据集,并为每个数据集拟合一个简单的OLS模型。然后,对于每个数据集,我通过替换替换原始数据集的行来生成1000个新数据集(该算法在Davison&Hinkley的经典文章中专门描述为适合线性回归的算法)。对于每一个,我都使用相同的OLS模型。最终,引导样本中大约16%的假设检验拒绝了null,而我们应该得到5%(就像在原始数据集中所做的那样)。X〜ñ(0 ,1 )⨿ ÿ〜ñ(0 ,1 )X〜ñ(0,1个)⨿ÿ〜ñ(0,1个)X \sim N(0,1) \amalg Y \sim N(0,1) 我怀疑这与重复观察导致虚假关联有关,因此为了进行比较,我尝试了以下代码中的两种其他方法(注释掉)。在方法2中,我修复,然后用原始数据集上OLS模型中的重采样残差替换在方法3中,我绘制了一个随机子样本而不进行替换。这两种选择均起作用,即它们的假设检验拒绝了5%的无效时间。ÿXXXÿÿY 我的问题:罪魁祸首是反复观察吗?如果是这样,考虑到这是引导程序的标准方法,那么我们到底在哪里违反标准引导程序理论? 更新#1:更多模拟 我尝试了一个更简单的方案,即的仅拦截回归模型。发生相同的问题。ÿÿY # note: simulation takes 5-10 min on my laptop; can reduce boot.reps # and n.sims.run if wanted # set the number of cores: can change this to match your machine library(doParallel) registerDoParallel(cores=8) …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.