我想知道是否有人根据数据的特征(观察数等)和/或所包含的变量了解有关应使用的引导程序样本数量的任何一般经验法则?
我想知道是否有人根据数据的特征(观察数等)和/或所包含的变量了解有关应使用的引导程序样本数量的任何一般经验法则?
Answers:
我的经验是,除非迭代次数超过1,000,否则统计人员不会认真对待模拟或引导程序。MC错误是一个大问题,值得赞赏。例如,本文用于Niter=50
演示LASSO作为特征选择工具。如果认为50次迭代是可以接受的,那么我的论文将花费更少的时间运行!我建议您应始终检查引导程序样本的直方图。它们的分布应该看起来很规则。我认为没有任何简单的数字规则就足够了,并且执行双重引导来评估MC错误可能是过大的选择。
假设您是根据两个独立的标准正态随机变量的比率来估计平均值,那么某些统计学家可能会建议自举,因为积分很难计算。如果您掌握基本的概率论,您将认识到该比率形成了不存在均值的柯西随机变量。与更规则的高斯密度对应物相比,任何其他轻快分布都需要进行几次额外的自举迭代。在这种情况下,1000、100000或10000000个引导程序样本将不足以估计不存在的引导样本。这些引导程序的直方图将继续看起来不规则和错误。
这个故事还有一些皱纹。特别地,仅当存在数据生成概率模型的时刻时,才真正证明引导程序是合理的。那是因为您将经验分布函数用作实际概率模型的稻草人,并假设它们具有相同的均值,标准差,偏度,第99个百分位数等。
简而言之,仅当自举样本的直方图在无合理怀疑的情况下呈现规律性且自举是合理的时,才可以对统计信息及其标准误差的自举估计进行辩护。
编辑:
如果您真的想拥有足够的样本,则应该做的是,使用您希望的次数,运行足够多次的样本运行引导程序,并查看引导程序估计“跳跃”的次数。如果重复的估计值相差不大(其中“很大程度”取决于您的具体情况),则很可能会罚款。当然,您可以通过计算样本SD或类似数据来估算重复估算值的跳跃量。
如果您需要参考和经验法则,Wilcox(2010)写道“建议一般使用599”。但这仅应视为准则,或者应该考虑的最少样本数。如果您出于安全考虑,没有理由(如果在计算上可行)为什么不应该生成更多数量级的样本。
就个人而言,在估计“为我自己”时,我倾向于运行10,000个样本,在估计传递给其他人的东西时,我倾向于运行100,000个样本(但这在我使用小型数据集时很快)。
Wilcox,RR(2010)。现代统计方法的基础:显着提高功能和准确性。施普林格。
在某些情况下,您可以事先或在几次迭代后就知道,大量的引导迭代最终将无济于事。
希望您事先对有意义的结果解释所需的精度有一个了解。如果您不这样做,那么该是时候进一步了解数据分析背后的问题了。无论如何,经过几次迭代后,您便可以估计还需要多少次迭代。
显然,如果您的案例极少(例如,道德委员会允许5只老鼠),则无需考虑数万次迭代。也许最好看看所有可能的平局。也许最好停下来思考一下,可以(不是)根据5只老鼠得出某种结论。
考虑结果的总体不确定性。在我的领域中,您可以通过自举进行测量和减少的不确定性部分可能只占总不确定性的一小部分(例如,由于实验设计的限制,重要的变异来源通常未包含在实验中-说,我们将从细胞系的实验开始,尽管最终目标当然是患者)。在这种情况下,运行太多的迭代是没有意义的-无论如何它都无助于最终结果,而且它可能会带来错误的确定性。
在模型的自举或交叉验证期间发生了一个相关的(尽管不完全相同)问题:您有两个不确定性来源:有限(在我的情况下通常是很少数量的独立情况)和(输入)自举模型的稳定性。根据重新采样验证的设置,您可能只有一个人参与重新采样估计。在这种情况下,您可以使用其他方差来源的估算值来判断通过重新采样应达到的确定性,以及何时停止进行采样才能帮助最终结果。
最后,尽管到目前为止,我的想法是如何减少迭代次数,但这里有一个实际的考虑因素,是建议做更多的迭代:
实际上,引导程序运行后我的工作就没有完成。引导程序的输出需要汇总为摘要统计信息和/或数字。结果需要解释论文或报告要写。引导程序的一些迭代的初步结果已经可以完成许多这样的操作(如果结果很清楚,那么经过几次迭代就已经显示出来了,如果它们是边界线,它们将保持边界线)。因此,我通常以一种使我能够获取初步结果的方式来设置引导程序,以便在计算机计算时继续工作。这样,如果启动又需要几天的时间,那也不会打扰我。
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%置信区间下限的不确定性。应该在高端进行类似的探索。如果此估计值有些波动,请确保获取更多的引导程序样本!
我们有
我从Davidson,R.和MacKinnon,JG(2000)获得了以下信息 。引导程序测试:多少个引导程序?计量经济学评论,19(1),55-68。 (工作文件版本可免费下载)。
“很容易理解为什么预测试程序行之有效。当零假设为真时,B可以安全地变小,因为我们根本不关心功效。类似地,当零假设为假且测试功效极高时, B不必很大,因为功率损耗不是一个严重的问题,但是,当null为假且测试功率适中时,B一定要很大,以避免功率损耗,预测试程序往往会使B可以安全地变小,而需要变大时可以变大。”