ブートストラップサンプルの数の経験則


40

データの特性(観測数など)および/または含まれる変数に基づいて、使用すべきブートストラップサンプルの数に関する一般的な経験則を誰かが知っているのだろうか?


2
シミュレーション分析を計画しているので、私もこれに興味がありました。実行可能/実行可能な限り多くのサンプルを使用しない理由はありますか?環境問題(例:電力消費)と個人的な問題(例:持続的なオタクの重要なしきい値を超え、純粋なオタクに移行する)を別にすれば、これまでの回答には禁忌はありません(BTW全体で+1)。 。
ニックStauner

4
@Nick私は大体同意します-私は通常、待つことができる限り多くを使用します(通常は常にではありませんが100万を突破します)が、通常は1000をかなり明確な下限と見なします。最初の試行として、タイミング情報を取得するために1Kを実行することがよくあり、それから実際の答えを待つ準備ができている倍数を計算します。
Glen_b 14

1
プロセスの時間のかかる部分がシミュレーションの生成であり、それらからの観測を簡単に集約できる場合(多くの場合、少し余分なコーディングを行うことで可能)、過剰達成の側で間違えないという言い訳はほとんどないようです。みんながこれをやったので時間をかけてエスカレートする可能性があると思いますが、その理由を忘れてしまいますが、おそらくそうなることはないでしょうから...人々が不必要に目指す最低限のしきい値を持っているのは、もし代替手段なら疑いの余地が実際になくなるまでさらに努力するだけで、暗黙的に落胆します。
ニックスタウナー14

明らかに収束するまでブートストラップします。レビュアーの懸念を緩和したい場合は、ブートストラップの反復と結果の推定値を視覚化して、収束を示します。
RTbecard

ノース他 2002年には、役立つDOIであることがわかったいくつかのガイドラインが提供されています。10.1086 / 341527 [ ncbi.nlm.nih.gov/pmc/articles/PMC379178/pdf/AJHGv71p439.pdf]
Michael

回答:


33

私の経験では、反復回数が1,000回を超えない限り、統計学者はシミュレーションやブートストラップを真剣に受け止めません。MCエラーは大きな問題であり、少々感謝されています。例えば、本論文では使用Niter=50特徴選択ツールとしてLASSOを実証します。私の論文は、50回の反復が許容できると判断された場合、実行にかかる時間が大幅に短縮されました。ブートストラップサンプルのヒストグラムを常に検査することをお勧めします。それらの分布はかなり規則的に見えるはずです。単純な数値規則だけでは十分ではないと思います。たとえば、MCエラーを評価するためにダブルブートストラップを実行するのはやり過ぎです。

2つの独立した標準正規確率変数の比率から平均を推定するとします。積分を計算するのが難しいため、統計学者によってはブートストラップを推奨する場合があります。ベルトの下に基本的な確率理論がある場合は、この比率が存在しない平均を持つコーシー確率変数を形成することを認識するでしょう。他のレプトクルティック分布は、より通常のガウス密度の対応物と比較して、いくつかの追加のブートストラップ反復を必要とします。その場合、1000、100000、または10000000のブートストラップサンプルでは、​​存在しないものを推定するには不十分です。これらのブートストラップのヒストグラムは、不規則で間違って見え続けます。

その話にはさらにいくつかのしわがあります。特に、ブートストラップは、データを生成する確率モデルの瞬間が存在する場合にのみ実際に正当化されます。これは、経験分布関数を実際の確率モデルのストローマンとして使用しており、平均値、標準偏差、歪度、99パーセンタイルなどが同じであると仮定しているためです。

要するに、統計値とその標準誤差のブートストラップ推定値は、ブートストラップされたサンプルのヒストグラムが合理的な疑いを超えて規則的に見える場合、およびブートストラップが正当化される場合にのみ正当化されます。


3
私は常に大きなブートストラップのサンプルも見てきました。しかし、EfronとTibshiraniの「An Introduction to the Bootstrap」(1994)では、B = 25で適切な推定値を得ることができ、B = 200では無限大と同様の変動係数に近づくと報告されています。さまざまなBの変動係数の表を提供しています(p。52-53、両方のページがGoogleブックで利用可能です)。
ジェラミータウンズリー

19

編集:

十分なサンプルを取得することを真剣に考えている場合、ブートストラップ手順を実行して、必要なサンプルを何回も実行し、ブートストラップが「ジャンプアラウンド」を推定する量を確認する必要があります。繰り返される推定値の差がそれほど大きくない場合(「多く」は特定の状況に依存します)、おそらく大丈夫です。もちろん、サンプルSDなどを計算することで、繰り返し見積りがどの程度跳ね返るかを見積もることができます。

参照と大まかなルールが必要な場合、Wilcox(2010)は「599を一般的な使用に推奨します」と書いています。ただし、これはガイドラインのみ、またはおそらく考慮すべきサンプルの最小数と見なす必要があります。あなたが安全な側にいたいなら、それ以上のサンプルを生成するべきではない理由はありません(計算上実行可能であれば)。

個人的には、「自分用」を推定する場合は10,000サンプル、他の人に渡されるものを推定する場合は100,000サンプルを実行する傾向があります(ただし、これは小さなデータセットで作業するので迅速です)。

参照

ウィルコックス、RR(2010)。最新の統計手法の基礎:電力と精度を大幅に向上させます。スプリンガー。


17
599?599 この数字を支持する議論になりうるのは一体何でしょうか?
アメーバは

Wilcox(2010)に聞いてください。たぶん、ラスマスは引用を取り巻くもう少しの文脈で私たちを恵みますか?
ニックスタウナー14

599はあまりにも... ...しかし答えにいくつかのより良いアドバイスを追加しましたどこから来るのか、私にとっては不明
ラスマス・バース

8
@amoeba 自分で「通路」を読むことができます。これは統計の例外的に不明瞭な記述の例であり、特にウィンザー化された標準誤差推定によるトリミング平均の推論にのみ適用されます。
AdamO 14

11

事前に、または数回の反復の後に、膨大な数のブートストラップの反復は最終的には役に立たないことを伝えることができる状況があります。

  • 結果を有意義に解釈するために必要な精度のオーダーについて、事前にアイデアを持っていることを願っています。そうでない場合は、データ分析の背後にある問題についてもう少し学ぶ時間です。とにかく、数回の反復の後、さらに何回の反復が必要かを推定できる場合があります。

  • 明らかに、ケースが非常に少ない場合(たとえば、倫理委員会が5匹のネズミを許可した場合)、数万回の反復について考える必要はありません。たぶん、すべての可能なドローを見る方が良いでしょう。そして、たぶん、5匹のネズミに基づいて、どんな種類の結論が(どのように)成り立つのかを止めて考えるのがさらに良いでしょう。

  • 結果の全体的な不確実性について考えてください。私の分野では、ブートストラップによって測定および削減できる不確実性の部分は、全体の不確実性のごく一部にすぎない場合があります(たとえば、実験の設計上の制約により、重要な変動の原因はしばしば実験でカバーされません-たとえば、最終的な目標はもちろん患者になりますが、細胞株の実験から始めます。この状況では、繰り返しをあまり多く実行するのは理にかなっていない-とにかく最終結果を助けず、さらには確実性の誤った感覚を招く可能性がある。

  • 関連する(まったく同じではありませんが)問題は、ブートストラップ外またはモデルの相互検証中に発生します。2つの不確実性の原因があります。ブートストラップモデルの安定性。リサンプリング検証の設定に応じて、リサンプリングの推定に寄与するのはそのうちの1つだけです。その場合、他の分散源の推定値を使用して、リサンプリングでどの程度の確実性を達成する必要があるか、および最終結果を助けるためにいつ停止するかを判断できます。

  • これまでの私の考えを行う方法についてはあったが最終的に、少数の反復を、ここでの実用的な考慮事項はやっての賛成でありますより
    実際には、ブートストラップが実行された後、私の仕事が行われていません。ブートストラップの出力は、要約統計や図に集約する必要があります。結果は、書かれた論文またはレポートを解釈する必要があります。これらの多くは、ブートストラップの数回の反復の予備的な結果ですでに実行できます(結果が明確な場合、数回の反復後に既に表示されます。境界線の場合は境界線のままになります)。そのため、予備の結果を取得できるようにブートストラップをセットアップすることがよくあり、コンピューターが計算している間も作業を続けることができます。そうすれば、ブートストラップにさらに数日かかる場合でも、あまり気にしません。


10

TLDR。10,000は適切な経験則のようです。たとえば、この大規模または大規模なブートストラップサンプルのp値は、メソッドの約95%の「真の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%信頼区間の下限の不確実性を伝えます。同様の調査をトップエンドで行う必要があります。この見積もりが多少変動する場合は、必ずブートストラップサンプルを増やしてください!


任意のおよび任意の乗法値(2倍、10倍?)を選択すると、ブートストラップに対する相対的な効率として最尤がその値を持つ確率モデルを提供できます。n
AdamO 14

7

私は別の答えで提起された何かに応答することから始めます:なぜ " "(ブートストラップサンプルの数)のような奇妙な数ですか? 599

これは、(基礎となる統計がある場合、ブートストラップが同等されたモンテカルロ試験にも適用される回動)し、次から来る:テストが正確である場合ならば、次いで、所望の有意水準であり、ですサンプル数、次の関係が成り立つ必要があります。BαB

α(1+B)=integer

次に、典型的な有意水準および考えますα 2 = 0.05α1=0.1α2=0.05

我々は持っています

B1=integer0.11,B2=integer0.051

この「マイナス1」は、正確なテストを確実にするために、「」のような提案された数値につながるものです。599

Davidson、R.、&MacKinnon、JG(2000)から次の情報を入手しました ブートストラップテスト:ブートストラップの数。計量経済学のレビュー、19(1)、55-68。 (ワーキングペーパー版は自由にダウンロードできます)。

経験則として、著者はp値のブートストラップのケースを調べ、でのテストではサンプルの最小数は約400(つまり)であるのに対し、レベルでのテストでは1500である()。399 0.01 14990.053990.011499

彼らはまた、内因的にを決定するための事前試験手順を提案しています。彼らの手順をシミュレートした後、彼らは結論づけます:B

「事前テスト手順がうまく機能する理由を理解するのは簡単です。帰無仮説が真の場合、Bは電力についてまったく心配していないため、安全に小さくできます。電力損失は重大な問題ではないため、Bは大きくする必要はありませんが、ヌルが偽であり、テスト電力が適度に高い場合、電力損失を回避するためにBを大きくする必要があります。安全に小さくすることができる場合はBを小さくし、大きくする必要がある場合はBを大きくします。」

論文の最後で、彼らはそれをを決定するために提案された別の手順とも比較し、彼らはより良い結果を出すことを発見した。B


4

私が見たほとんどのブートストラップアプリケーションは、2,000〜10万回の反復を報告しました。適切なソフトウェアを使用する現代の実践では、ブートストラップの顕著な問題は統計的なものであり、時間と計算能力よりも重要です。Excelを使用する初心者ユーザーは、高度なVisual Basicプログラミングを使用する前に、数百回しか実行できませんでした。ただし、Rははるかに使いやすく、何千ものブートストラップされた値を簡単かつ簡単に生成できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.