Aturan praktis untuk jumlah sampel bootstrap

40

Saya ingin tahu apakah seseorang mengetahui aturan umum mengenai jumlah sampel bootstrap yang harus digunakan, berdasarkan karakteristik data (jumlah pengamatan, dll.) Dan / atau variabel yang dimasukkan?

hoyem
sumber
2
Saya juga ingin tahu tentang ini, karena saya merencanakan analisis simulasi. Apakah ada alasan untuk tidak menggunakan sebanyak mungkin sampel yang layak / praktis? Selain masalah lingkungan (mis., Pengeluaran listrik) dan masalah pribadi (misalnya, melebihi ambang batas kritis untuk kutu buku yang berkelanjutan, transisi ke geekdom murni ), saya tidak melihat adanya kontraindikasi dalam jawaban sejauh ini (+1 ada di sekitar BTW) .. .
Nick Stauner
4
@Nick Saya sebagian besar setuju - Saya biasanya menggunakan sebanyak yang saya mampu untuk menunggu (biasanya menghabiskan satu juta, meskipun tidak selalu), tetapi biasanya menganggap 1000 sebagai batas bawah yang cukup jelas. Sebagai percobaan pertama saya sering melakukan 1K untuk mendapatkan informasi waktu, dan kemudian menghitung berapa banyak kelipatan dari yang saya siapkan untuk menunggu jawaban yang sebenarnya.
Glen_b -Reinstate Monica
1
Jika bagian yang memakan waktu dari proses menghasilkan simulasi, dan pengamatan dari mereka dapat digabungkan dengan mudah (seperti yang sering mereka lakukan dengan sedikit pengkodean tambahan), sepertinya ada sedikit alasan untuk tidak melakukan kesalahan dalam hal terlalu berprestasi. Saya kira itu bisa meningkat dari waktu ke waktu jika semua orang melakukan ini dan lupa mengapa, tapi karena itu mungkin tidak akan pernah menjadi masalah ... Memiliki ambang minimal yang diinginkan orang tanpa alasan tampaknya sedikit kontraproduktif, jika alternatifnya— pergi lebih banyak sampai benar-benar tidak ada ruang tersisa untuk keraguan — dengan demikian tidak disarankan secara implisit.
Nick Stauner
Saya hanya bootstrap sampai saya melihat konvergensi yang jelas. Jika Anda ingin meredakan kekhawatiran pengulas, saya hanya akan menyertakan visualisasi iterasi bootstrap vs estimasi yang dihasilkan untuk menggambarkan konvergensi.
RTbecard
North et al. 2002 memberikan beberapa pedoman yang menurut saya sangat membantu DOI: 10.1086 / 341527 [ ncbi.nlm.nih.gov/pmc/articles/PMC379178/pdf/AJHGv71p439.pdf]
Michael

Jawaban:

33

Pengalaman saya adalah bahwa ahli statistik tidak akan menganggap serius simulasi atau bootstraps kecuali jika jumlah iterasi melebihi 1.000. Kesalahan MC adalah masalah besar yang sedikit di bawah dihargai. Misalnya, makalah ini digunakan Niter=50untuk menunjukkan LASSO sebagai alat pemilihan fitur. Tesis saya akan mengambil jauh lebih sedikit waktu untuk menjalankan seandainya 50 iterasi dianggap dapat diterima! Saya merekomendasikan Anda untuk selalu memeriksa histogram sampel bootstrap . Distribusi mereka harus tampak cukup teratur. Saya tidak berpikir aturan numerik apa pun akan cukup, dan akan sulit untuk melakukan, katakanlah, double-bootstrap untuk menilai kesalahan MC.

Misalkan Anda memperkirakan rata-rata dari rasio dua variabel acak normal standar independen, beberapa ahli statistik mungkin merekomendasikan bootstrap karena integral tidak sulit untuk dihitung. Jika Anda memiliki teori probabilitas dasar di bawah ikat pinggang Anda, Anda akan mengenali bahwa rasio ini membentuk variabel acak Cauchy dengan rata-rata yang tidak ada. Distribusi leptokurtik lain akan membutuhkan beberapa iterasi bootstrap tambahan dibandingkan dengan pendamping kepadatan Gaussian yang lebih teratur. Dalam hal ini, sampel bootstrap 1000, 100000, atau 10000000 tidak akan cukup untuk memperkirakan yang tidak ada. Histogram dari bootstraps ini akan terus terlihat tidak teratur dan salah.

Ada beberapa kerutan lagi di cerita itu. Secara khusus, bootstrap hanya benar-benar dibenarkan ketika saat-saat model probabilitas menghasilkan data ada. Itu karena Anda menggunakan fungsi distribusi empiris sebagai manusia jerami untuk model probabilitas aktual, dan dengan asumsi mereka memiliki rata-rata yang sama, standar deviasi, kemiringan, persentil ke-99, dll.

Singkatnya, perkiraan bootstrap dari suatu statistik dan kesalahan standarnya hanya dibenarkan ketika histogram sampel yang di-boot tampak teratur tanpa keraguan dan ketika bootstrap dibenarkan.

AdamO
sumber
3
Saya selalu melihat sampel bootstrap besar juga. Namun, dalam "An Introduction to the Bootstrap" (1994) oleh Efron dan Tibshirani, mereka melaporkan bahwa Anda bisa mendapatkan perkiraan yang layak dengan B = 25, dan B = 200 Anda mendekati koefisien variasi yang sama dengan infinity. Mereka menyediakan tabel koefisien variasi untuk berbagai B (hlm. 52-53, kedua halaman tersedia di buku google).
jeramy townley
19

edit:

Jika Anda serius ingin memiliki sampel yang cukup, yang harus Anda lakukan adalah menjalankan prosedur bootstrap Anda, dengan apa yang Anda harapkan, sampel yang cukup beberapa kali dan melihat seberapa banyak perkiraan bootstrap "melompat-lompat". Jika perkiraan berulang tidak banyak berbeda (di mana "banyak" tergantung pada situasi spesifik Anda) kemungkinan besar Anda akan baik-baik saja. Tentu saja Anda dapat memperkirakan berapa banyak perkiraan berulang melompat-lompat dengan menghitung sampel SD atau serupa.

Jika Anda menginginkan referensi dan aturan praktis, Wilcox (2010) menulis "599 direkomendasikan untuk penggunaan umum." Tetapi ini harus dianggap hanya sebagai pedoman atau mungkin jumlah sampel minimum yang harus Anda pertimbangkan. Jika Anda ingin berada di sisi yang aman tidak ada alasan (jika layak secara komputasi) mengapa Anda tidak harus menghasilkan urutan sampel yang lebih besar.

Pada catatan pribadi saya cenderung menjalankan 10.000 sampel ketika memperkirakan "untuk saya" dan 100.000 sampel ketika memperkirakan sesuatu diteruskan ke orang lain (tapi ini cepat karena saya bekerja dengan kumpulan data kecil).

Referensi

Wilcox, RR (2010). Dasar-dasar metode statistik modern: Secara substansial meningkatkan daya dan akurasi. Peloncat.

Rasmus Bååth
sumber
17
599? Lima ratus sembilan puluh sembilan? Apa yang bisa menjadi argumen yang mendukung nomor ini?
Amoeba berkata Reinstate Monica
Tanya Wilcox (2010), saya kira ... Saya juga ingin tahu; mungkin Rasmus akan memberkahi kita dengan lebih banyak konteks seputar kutipan?
Nick Stauner
tidak jelas bagi saya di mana 599 berasal dari juga ... menambahkan beberapa saran yang lebih baik untuk jawabannya ...
Rasmus Bååth
8
@amoeba Anda dapat membaca "bagian" untuk diri Anda sendiri . Ini adalah contoh penulisan yang sangat tidak jelas dalam statistik, dan khususnya hanya diterapkan pada kesimpulan pada mean yang dipangkas dengan perkiraan kesalahan standar Windsorized .
AdamO
11

Ada beberapa situasi di mana Anda dapat memberi tahu sebelumnya atau setelah beberapa iterasi bahwa sejumlah besar iterasi bootstrap tidak akan membantu pada akhirnya.

  • Mudah-mudahan Anda memiliki ide sebelumnya tentang urutan besarnya presisi yang diperlukan untuk interpretasi hasil yang bermakna. Jika Anda tidak, mungkin sekarang saatnya untuk belajar lebih banyak tentang masalah di balik analisis data. Bagaimanapun, setelah beberapa iterasi Anda mungkin dapat memperkirakan berapa banyak iterasi yang dibutuhkan.

  • Jelas, jika Anda memiliki sangat sedikit kasus (katakanlah, komite etika mengizinkan 5 tikus), Anda tidak perlu memikirkan puluhan ribu iterasi. Mungkin akan lebih baik untuk melihat semua kemungkinan undian. Dan mungkin akan lebih baik untuk berhenti dan berpikir seberapa pasti kesimpulan apa pun dapat (tidak) didasarkan pada 5 tikus.

  • Pikirkan tentang ketidakpastian total hasil. Di bidang saya, bagian dari ketidakpastian yang dapat Anda ukur dan kurangi dengan bootstrap mungkin hanya sebagian kecil dari ketidakpastian total (mis. Karena pembatasan dalam desain eksperimen, sumber variasi penting sering tidak dicakup oleh eksperimen - katakanlah , kami mulai dengan eksperimen pada garis sel meskipun tujuan akhirnya tentu saja menjadi pasien). Dalam situasi ini tidak masuk akal untuk menjalankan terlalu banyak iterasi - bagaimanapun juga tidak akan membantu hasil akhir dan terlebih lagi hal itu dapat menimbulkan rasa kepastian yang salah.

  • Masalah terkait (meskipun tidak persis sama) terjadi selama out-of-bootstrap atau validasi silang model: Anda memiliki dua sumber ketidakpastian: terbatas (dan dalam kasus saya biasanya sangat kecil jumlah kasus independen) dan (dalam) stabilitas model bootstrap. Bergantung pada pengaturan validasi resampling, Anda mungkin hanya memiliki satu di antaranya yang berkontribusi terhadap estimasi resampling. Dalam hal ini, Anda dapat menggunakan estimasi sumber varian lain untuk menilai kepastian yang harus Anda capai dengan pengujian ulang, dan kapan berhenti untuk membantu hasil akhir.

  • Akhirnya, sementara sejauh ini pikiran saya adalah tentang bagaimana melakukan iterasi yang lebih sedikit , berikut ini adalah pertimbangan praktis yang mendukung untuk melakukan lebih banyak :
    Dalam praktik, pekerjaan saya tidak dilakukan setelah bootstrap dijalankan. Output dari bootstrap perlu digabungkan ke dalam ringkasan statistik dan / atau angka. Hasil perlu ditafsirkan makalah atau laporan yang akan ditulis. Banyak dari ini sudah dapat dilakukan dengan hasil awal dari beberapa iterasi bootstrap (jika hasilnya jelas, mereka menunjukkan sudah setelah beberapa iterasi, jika mereka borderline mereka akan tetap di borderline). Jadi saya sering mengatur bootstrap dengan cara yang memungkinkan saya untuk menarik hasil awal sehingga saya bisa terus bekerja sementara komputer menghitung. Dengan begitu tidak terlalu mengganggu saya jika bootstrap membutuhkan beberapa hari lagi.

Cbeleites mendukung Monica
sumber
10

TLDR. 10.000 tampaknya merupakan aturan praktis yang baik, misalnya nilai-p dari sampel bootstrap yang besar ini atau lebih besar akan berada dalam 0,01 dari "nilai-p sebenarnya" untuk metode sekitar 95% dari waktu.

Saya hanya mempertimbangkan pendekatan bootstrap persentil di bawah ini, yang merupakan metode yang paling umum digunakan (setahu saya) tetapi juga diakui memiliki kelemahan dan tidak boleh digunakan dengan sampel kecil .

Membingkai ulang sedikit. Mungkin bermanfaat untuk menghitung ketidakpastian yang terkait dengan hasil dari bootstrap untuk memahami ketidakpastian yang dihasilkan dari penggunaan bootstrap. Perhatikan bahwa ini tidak mengatasi kelemahan yang mungkin terjadi pada bootstrap (mis. Lihat tautan di atas), tetapi hal ini membantu mengevaluasi jika ada sampel bootstrap "cukup" dalam aplikasi tertentu. Secara umum, kesalahan yang terkait dengan ukuran sampel bootstrap n menjadi nol seperti nhalnya hingga tak terbatas, dan pertanyaannya, seberapa besar nkesalahan yang terkait dengan ukuran sampel bootstrap kecil menjadi kecil?

Ketidakstabilan bootstrap dalam nilai p. Ketidaktepatan dalam nilai p yang diperkirakan, katakanlah pv_est adalah nilai p yang diestimasi dari bootstrap, adalah tentang 2 x sqrt(pv_est * (1 - pv_est) / N), di mana Njumlah sampel bootstrap. Ini berlaku jika pv_est * Ndan (1 - pv_est) * Nkeduanya >= 10. Jika salah satu dari ini lebih kecil dari 10, maka itu kurang tepat tetapi sangat kasar di lingkungan yang sama dengan perkiraan itu.

Kesalahan bootstrap dalam interval kepercayaan. Jika menggunakan interval kepercayaan 95%, maka lihat bagaimana variabilitas kuantil dari distribusi bootstrap dekat 2,5% dan 97,5% dengan memeriksa persentil di (untuk persentil ke-2,5) 2.5 +/- 2 * 100 * sqrt(0.025 * 0.975 / n). Formula ini mengkomunikasikan ketidakpastian ujung bawah interval kepercayaan 95% berdasarkan jumlah sampel bootstrap yang diambil. Eksplorasi serupa harus dilakukan di ujung atas. Jika perkiraan ini agak tidak stabil, maka pastikan untuk mengambil lebih banyak sampel bootstrap!

OpenIntro
sumber
n
7

599

αB

α(1+B)=integer

α1=0.1α2=0.05

Kita punya

B1=integer0.11,B2=integer0.051

599

Saya mengambil informasi berikut dari Davidson, R., & MacKinnon, JG (2000). Tes bootstrap: Berapa banyak bootstraps ?. Ulasan Ekonometrik, 19 (1), 55-68. (versi kertas kerja dapat diunduh secara bebas).

0.053990.011499

B

"Sangat mudah untuk memahami mengapa prosedur pretesting bekerja dengan baik. Ketika hipotesis nol benar, B dapat dengan aman menjadi kecil, karena kita sama sekali tidak peduli tentang daya sama sekali. Demikian pula, ketika nol adalah palsu dan daya uji sangat tinggi, B tidak perlu besar, karena kehilangan daya bukan masalah serius, namun ketika nol adalah salah dan uji daya cukup tinggi, B harus besar untuk menghindari hilangnya daya. Prosedur pretesting cenderung membuat B kecil ketika bisa aman kecil dan besar saat perlu besar. "

B

Alecos Papadopoulos
sumber
4

Sebagian besar aplikasi bootstrap yang saya lihat melaporkan sekitar 2.000 hingga 100 ribu iterasi. Dalam praktik modern dengan perangkat lunak yang memadai, masalah yang menonjol dengan bootstrap adalah masalah statistik, lebih daripada waktu dan kapasitas komputasi. Untuk pengguna pemula dengan Excel, seseorang hanya dapat melakukan beberapa ratus sebelum memerlukan penggunaan pemrograman Visual Basic lanjutan. Namun, R jauh lebih mudah digunakan dan membuat generasi ribuan nilai bootstrap mudah dan langsung.

Germaniawerks
sumber