自举样本数量的经验法则


40

我想知道是否有人根据数据的特征(观察数等)和/或所包含的变量了解有关应使用的引导程序样本数量的任何一般经验法则?


2
在计划进行模拟分析时,我也对此感到很好奇。是否有任何理由不进行可行/可行的采样?除了环境问题(例如,电费)和个人问题(例如,超过可持续书呆子的临界阈值,过渡为纯粹的怪胎)之外,到目前为止,我在答案中没有看到任何禁忌症(BTW周围均为+1)。 。
尼克Stauner

4
@Nick我基本同意-我通常会花尽可能多的钱等待(通常不是一百万就可以达到一百万),但通常将1000视为一个很明显的下限。第一次尝试时,我经常做1K来获取时序信息,然后算出准备好等待实际答案的倍数。
Glen_b 2014年

1
如果该过程中耗时的部分是生成仿真,并且可以轻松地汇总来自它们的观察结果(通常可以通过添加一些额外的编码来进行汇总),那么似乎没有任何借口可以避免过高的表现。我想如果所有人都这样做却忘记了原因,这可能会随着时间的流逝而逐步升级,但是既然那可能永远不会发生……...将最低限度的人们不必要地瞄准的门槛似乎适得其反,如果替代方案……只是继续努力直到没有真正的疑问余地,从而隐含地劝阻。
尼克·斯汤纳

我只是自举,直到看到清晰的融合。如果您想减轻审阅者的担忧,我将仅包括引导程序迭代与结果估计的可视化,以说明收敛。
RTbecard

诺斯等。2002年提供了一些我发现有用的DOI准则:10.1086 / 341527 [ ncbi.nlm.nih.gov/pmc/articles/PMC379178/pdf/AJHGv71p439.pdf]
Michael

Answers:


33

我的经验是,除非迭代次数超过1,000,否则统计人员不会认真对待模拟或引导程序。MC错误是一个大问题,值得赞赏。例如,本文用于Niter=50演示LASSO作为特征选择工具。如果认为50次迭代是可以接受的,那么我的论文将花费更少的时间运行!我建议您应始终检查引导程序样本的直方图。它们的分布应该看起来很规则。我认为没有任何简单的数字规则就足够了,并且执行双重引导来评估MC错误可能是过大的选择。

假设您是根据两个独立的标准正态随机变量的比率来估计平均值,那么某些统计学家可能会建议自举,因为积分很难计算。如果您掌握基本的概率论,您将认识到该比率形成了不存在均值的柯西随机变量。与更规则的高斯密度对应物相比,任何其他轻快分布都需要进行几次额外的自举迭代。在这种情况下,1000、100000或10000000个引导程序样本将不足以估计不存在的引导样本。这些引导程序的直方图将继续看起来不规则和错误。

这个故事还有一些皱纹。特别地,仅当存在数据生成概率模型的时刻时,才真正证明引导程序是合理的。那是因为您将经验分布函数用作实际概率模型的稻草人,并假设它们具有相同的均值,标准差,偏度,第99个百分位数等。

简而言之,仅当自举样本的直方图在无合理怀疑的情况下呈现规律性且自举是合理的时,才可以对统计信息及其标准误差的自举估计进行辩护。


3
我也总是看到大型的引导程序样本。但是,在Efron和Tibshirani撰写的“ Bootstrap简介”(1994年)中,他们报告说,在B = 25的情况下可以得到不错的估计,而在B = 200的情况下,您可以得到与无穷大相似的变异系数。他们提供了一张表格,列出了各种B的变异系数(第52-53页,两个页面都可以在Google图书中找到)。
jeramy townsley 2015年

19

编辑:

如果您真的想拥有足够的样本,则应该做的是,使用您希望的次数,运行足够多次的样本运行引导程序,并查看引导程序估计“跳跃”的次数。如果重复的估计值相差不大(其中“很大程度”取决于您的具体情况),则很可能会罚款。当然,您可以通过计算样本SD或类似数据来估算重复估算值的跳跃量。

如果您需要参考和经验法则,Wilcox(2010)写道“建议一般使用599”。但这仅应视为准则,或者应该考虑的最少样本数。如果您出于安全考虑,没有理由(如果在计算上可行)为什么不应该生成更多数量级的样本。

就个人而言,在估计“为我自己”时,我倾向于运行10,000个样本,在估计传递给其他人的东西时,我倾向于运行100,000个样本(但这在我使用小型数据集时很快)。

参考

Wilcox,RR(2010)。现代统计方法的基础:显着提高功能和准确性。施普林格。


17
599?五百九十九?到底有什么理由支持这个数字?
变形虫说恢复莫妮卡2014年

问威尔科克斯(2010),我想……我也很好奇。也许拉斯穆斯会为我们提供一些围绕报价的上下文?
尼克·史陶纳

我也不清楚599的来源...虽然为答案添加了一些更好的建议...
RasmusBååth2014年

8
@amoeba 您可以自己阅读“段落”。这是统计数据中非常不清楚的示例,特别是仅适用于使用温莎标准误差估计值对修整后的平均值进行推断的情况。
2014年

11

在某些情况下,您可以事先或在几次迭代后就知道,大量的引导迭代最终将无济于事。

  • 希望您事先对有意义的结果解释所需的精度有一个了解。如果您不这样做,那么该是时候进一步了解数据分析背后的问题了。无论如何,经过几次迭代后,您便可以估计还需要多少次迭代。

  • 显然,如果您的案例极少(例如,道德委员会允许5只老鼠),则无需考虑数万次迭代。也许最好看看所有可能的平局。也许最好停下来思考一下,可以(不是)根据5只老鼠得出某种结论。

  • 考虑结果的总体不确定性。在我的领域中,您可以通过自举进行测量和减少的不确定性部分可能只占总不确定性的一小部分(例如,由于实验设计的限制,重要的变异来源通常未包含在实验中-说,我们将从细胞系的实验开始,尽管最终目标当然是患者)。在这种情况下,运行太多的迭代是没有意义的-无论如何它都无助于最终结果,而且它可能会带来错误的确定性。

  • 在模型的自举或交叉验证期间发生了一个相关的(尽管不完全相同)问题:您有两个不确定性来源:有限(在我的情况下通常是很少数量的独立情况)和(输入)自举模型的稳定性。根据重新采样验证的设置,您可能只有一个人参与重新采样估计。在这种情况下,您可以使用其他方差来源的估算值来判断通过重新采样应达到的确定性,以及何时停止进行采样才能帮助最终结果。

  • 最后,尽管到目前为止,我的想法是如何减少迭代次数,但这里有一个实际的考虑因素,是建议做更多迭代:
    实际上,引导程序运行后我的工作就没有完成。引导程序的输出需要汇总为摘要统计信息和/或数字。结果需要解释论文或报告要写。引导程序的一些迭代的初步结果已经可以完成许多这样的操作(如果结果很清楚,那么经过几次迭代就已经显示出来了,如果它们是边界线,它们将保持边界线)。因此,我通常以一种使我能够获取初步结果的方式来设置引导程序,以便在计算机计算时继续工作。这样,如果启动又需要几天的时间,那也不会打扰我。


10

TLDR。10,000似乎是一个很好的经验法则,例如,对于这种方法,大约95%的时间,来自大量或大量Bootstrap样本的p值都将在“真实p值”的0.01以内。

我只考虑下面的百分位数引导程序方法,据我所知,这是最常用的方法,但也应承认存在弱点,因此不应将其用于小样本

略微改组。计算与引导程序结果相关的不确定性,以了解使用引导程序导致的不确定性,可能很有用。请注意,这不能解决引导程序中可能存在的弱点(例如,请参见上面的链接),但确实有助于评估特定应用程序中是否有“足够”的引导程序样本。通常,与引导程序样本大小 相关的误差随无穷大而n变为零n,问题问,n与较小的引导程序样本大小相关的误差应小到多少?

引导p值不确定性。估计的p值的不精确性(例如pv_est是从引导程序估计的p值)约为2 x sqrt(pv_est * (1 - pv_est) / N),其中N是引导程序样本的数量。如果pv_est * N(1 - pv_est) * N都是有效的>= 10。如果其中之一小于10,则精度较低,但与该估计值大致相同。

置信区间内的引导程序错误。如果使用95%的置信区间,则通过检查位于的百分位数(对于2.5%百分位数),来查看引导分布的分位数在2.5%和97.5%附近的变异性2.5 +/- 2 * 100 * sqrt(0.025 * 0.975 / n)。该公式根据自举样本的数量传达了95%置信区间下限的不确定性。应该在高端进行类似的探索。如果此估计值有些波动,请确保获取更多的引导程序样本!


n

7

599

αB

α(1+B)=integer

α1=0.1α2=0.05

我们有

B1=integer0.11,B2=integer0.051

599

我从Davidson,R.和MacKinnon,JG(2000)获得了以下信息 引导程序测试:多少个引导程序?计量经济学评论,19(1),55-68。 (工作文件版本可免费下载)。

0.053990.011499

B

“很容易理解为什么预测试程序行之有效。当零假设为真时,B可以安全地变小,因为我们根本不关心功效。类似地,当零假设为假且测试功效极高时, B不必很大,因为功率损耗不是一个严重的问题,但是,当null为假且测试功率适中时,B一定要很大,以避免功率损耗,预测试程序往往会使B可以安全地变小,而需要变大时可以变大。”

B


4

我见过的大多数引导应用程序都报告了大约2,000至100k的迭代。在具有足够软件的现代实践中,引导程序的主要问题是统计问题,而不是时间和计算能力。对于使用Excel的新手来说,在需要使用高级Visual Basic编程之前,只能执行数百种操作。但是,R使用起来更简单,并且使数千个自举值的生成变得简单而直接。

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.