กฎของหัวแม่มือสำหรับจำนวนตัวอย่าง bootstrap


40

ฉันสงสัยว่ามีใครรู้กฎทั่วไปของหัวแม่มือเกี่ยวกับจำนวนตัวอย่าง bootstrap ที่เราควรใช้โดยขึ้นอยู่กับลักษณะของข้อมูล (จำนวนการสังเกต ฯลฯ ) และ / หรือตัวแปรที่รวมอยู่ด้วย?


2
ฉันก็อยากรู้เกี่ยวกับเรื่องนี้เช่นกันขณะที่ฉันกำลังวางแผนการวิเคราะห์แบบจำลอง มีเหตุผลที่จะไม่ไปหาตัวอย่างมากเท่าที่เป็นไปได้ / ปฏิบัติได้หรือไม่? นอกเหนือจากความกังวลด้านสิ่งแวดล้อม (เช่นค่าใช้จ่ายไฟฟ้า) และความกังวลส่วนตัว (เช่นเกินขีด จำกัด วิกฤตสำหรับการพัฒนาอย่างยั่งยืนเปลี่ยนไปสู่ความบริสุทธิ์ ) ฉันไม่เห็นข้อห้ามใด ๆ ในคำตอบจนถึงตอนนี้ (+1 ทั้งหมดรอบ BTW) .. .
Nick Stauner

4
@Nick ฉันเห็นด้วยอย่างมาก - โดยทั่วไปฉันจะใช้ให้มากที่สุดเท่าที่ฉันจะสามารถรอได้ (โดยปกติแล้วจะเพิ่มขึ้นเป็นล้าน แต่ไม่เสมอไป) แต่โดยทั่วไปถือว่า 1,000 เป็นขอบเขตล่างที่ค่อนข้างชัดเจน เป็นครั้งแรกที่ฉันพยายามทำ 1K เพื่อรับข้อมูลเวลาและจากนั้นคำนวณจำนวนทวีคูณของสิ่งที่ฉันเตรียมไว้เพื่อรอคำตอบจริง
Glen_b

1
หากส่วนที่ใช้เวลานานของกระบวนการกำลังสร้างแบบจำลองและการสังเกตจากพวกเขาสามารถรวมกันได้อย่างง่ายดาย (เนื่องจากพวกเขามักจะมีการเข้ารหัสพิเศษเพิ่มเล็กน้อย) ดูเหมือนว่ามีข้อแก้ตัวเล็กน้อยที่จะไม่ผิดพลาดในด้านของการเอาชนะมากเกินไป ฉันคิดว่ามันอาจบานปลายเมื่อเวลาผ่านไปถ้าทุกคนทำอย่างนี้และลืมไปว่าทำไม แต่เพราะนั่นอาจจะไม่เป็นเช่นนั้น ... การมีขีด จำกัด น้อยที่สุดที่ผู้คนตั้งเป้าหมายไว้โดยไม่จำเป็นต้องมีปัญหา แค่ไปให้มากกว่านี้จนกว่าจะไม่มีข้อสงสัยเหลืออยู่จริง ๆ
Nick Stauner

ฉันแค่บูตจนกว่าฉันจะเห็นการบรรจบที่ชัดเจน หากคุณต้องการลดความกังวลของผู้ตรวจสอบฉันจะรวมการสร้างภาพของการทำซ้ำบูทสแตรป vs การคาดการณ์ผลลัพธ์เพื่อแสดงให้เห็นถึงการบรรจบกัน
RTbecard

ทิศตะวันตกเฉียงเหนือ 2002 ให้แนวทางบางอย่างที่ฉันพบว่ามีประโยชน์ DOI: 10.1086 / 341527 [ ncbi.nlm.nih.gov/pmc/articles/PMC379178/pdf/AJHGv71p439.pdf]
Michael

คำตอบ:


33

ประสบการณ์ของฉันคือนักสถิติจะไม่ทำการจำลองสถานการณ์หรือ bootstraps อย่างจริงจังเว้นแต่ว่าจำนวนการทำซ้ำจะเกิน 1,000 ข้อผิดพลาดของ MC เป็นปัญหาใหญ่ที่ชื่นชมน้อย ตัวอย่างเช่นกระดาษนี้ใช้Niter=50เพื่อสาธิต LASSO เป็นเครื่องมือในการเลือกคุณสมบัติ วิทยานิพนธ์ของฉันจะใช้เวลาน้อยลงในการทำงานหากว่ามี 50 ครั้งที่ถือว่ายอมรับได้! ฉันแนะนำให้คุณตรวจสอบฮิสโตแกรมของตัวอย่างบู๊ตสแตรปเสมอ การกระจายของพวกเขาควรปรากฏอย่างสม่ำเสมอ ฉันไม่คิดว่ากฎตัวเลขที่ธรรมดาใด ๆ จะเพียงพอและมันจะเกินความสามารถในการดำเนินการพูด double-bootstrap เพื่อประเมินข้อผิดพลาดของ MC

สมมติว่าคุณกำลังประเมินค่าเฉลี่ยจากอัตราส่วนของตัวแปรสุ่มมาตรฐานอิสระสองตัวสถิติบางคนอาจแนะนำให้ทำการบูตมันเนื่องจากอินทิกรัลนั้นยากต่อการคำนวณ หากคุณมีทฤษฎีความน่าจะเป็นพื้นฐานภายใต้เข็มขัดของคุณคุณจะรับรู้ว่าอัตราส่วนนี้เป็นตัวแปรสุ่ม Cauchy ที่มีค่าเฉลี่ยที่ไม่มีอยู่จริง leptokurtic อื่น ๆ จะต้องมีการบูทสแตรปซ้ำอีกหลายครั้งเมื่อเทียบกับ Gaussian ความหนาแน่นปกติมากกว่า ในกรณีนั้นตัวอย่างบู๊ตสแตรปที่มี 1,000, 100000 หรือ 10,000000 จะไม่เพียงพอที่จะประเมินสิ่งที่ไม่มีอยู่ ฮิสโตแกรมของบู๊ตเหล่านี้จะดูผิดปกติและผิดปกติต่อไป

เรื่องราวนั้นมีรอยย่นอีกเล็กน้อย โดยเฉพาะอย่างยิ่ง bootstrap นั้นเป็นเพียงการพิสูจน์ว่ามีช่วงเวลาของรูปแบบการสร้างข้อมูลที่มีอยู่เท่านั้น นั่นเป็นเพราะคุณใช้ฟังก์ชันการแจกแจงเชิงประจักษ์เป็นมนุษย์ฟางสำหรับโมเดลความน่าจะเป็นจริงและสมมติว่าพวกมันมีค่าเฉลี่ย, ค่าเบี่ยงเบนมาตรฐาน, ความเบ้, เปอร์เซ็นไทล์ที่ 99 เป็นต้น

ในระยะสั้นการประมาณการบูตของสถิติและข้อผิดพลาดมาตรฐานของมันจะเป็นธรรมเมื่อฮิสโตแกรมของตัวอย่าง bootstrapped ปรากฏเป็นปกติโดยปราศจากข้อสงสัยที่สมเหตุสมผลและเมื่อบูตเป็นธรรม


3
ฉันเคยเห็นตัวอย่าง bootstrap ขนาดใหญ่เช่นกัน อย่างไรก็ตามใน "An Introduction to the Bootstrap" (1994) โดย Efron และ Tibshirani พวกเขารายงานว่าคุณจะได้รับการประมาณที่เหมาะสมด้วย B = 25 และ B = 200 คุณเข้าใกล้สัมประสิทธิ์การแปรปรวนของอินฟินิตี้ใกล้เคียงกัน พวกเขาให้ตารางของค่าสัมประสิทธิ์ของการเปลี่ยนแปลงสำหรับ B ต่างๆ (หน้า 52-53 ทั้งสองหน้ามีอยู่ใน Google หนังสือ)
เมือง Jeramy

18

แก้ไข:

หากคุณจริงจังเกี่ยวกับการมีตัวอย่างเพียงพอสิ่งที่คุณควรทำคือการเรียกใช้ขั้นตอนการบูตของคุณด้วยสิ่งที่คุณหวังคือตัวอย่างเพียงพอจำนวนครั้งและดูว่าประมาณการ bootstrap "กระโดดไปรอบ ๆ " หากการประมาณการซ้ำไม่ได้แตกต่างกันมาก (โดยที่ "มาก" ขึ้นอยู่กับสถานการณ์เฉพาะของคุณ) คุณมีแนวโน้มที่ดีที่สุด แน่นอนว่าคุณสามารถประเมินได้ว่าการประมาณการซ้ำแล้วซ้ำอีกรอบโดยการคำนวณตัวอย่าง SD หรือคล้ายกัน

หากคุณต้องการการอ้างอิงและกฎของ thumb Wilcox (2010) เขียนว่า "599 แนะนำสำหรับการใช้งานทั่วไป" แต่สิ่งนี้ควรได้รับการพิจารณาเป็นเพียงแนวทางหรือจำนวนตัวอย่างขั้นต่ำที่คุณควรพิจารณา หากคุณต้องการที่จะอยู่ในด้านความปลอดภัยไม่มีเหตุผล (ถ้าเป็นไปได้ในการคำนวณ) ทำไมคุณไม่ควรสร้างลำดับความสำคัญตัวอย่างมากขึ้น

ในบันทึกส่วนตัวฉันมักจะเรียกใช้ 10,000 ตัวอย่างเมื่อประมาณ "สำหรับตัวฉันเอง" และ 100,000 ตัวอย่างเมื่อประเมินบางสิ่งที่ส่งผ่านไปยังคนอื่น ๆ (แต่นี่เป็นเรื่องด่วนที่ฉันทำงานกับชุดข้อมูลขนาดเล็ก)

การอ้างอิง

Wilcox, RR (2010) ความรู้พื้นฐานของวิธีการทางสถิติสมัยใหม่: ปรับปรุงกำลังและความแม่นยำอย่างมาก สปริงเกอร์


17
599? ห้าร้อยเก้าสิบเก้า? มีข้อโต้แย้งอะไรกันในโลกนี้
อะมีบาพูดว่า Reinstate Monica

ถาม Wilcox (2010) ฉันเดาว่า ... ฉันอยากรู้เหมือนกัน บางทีราสมุสจะทำให้เรามีบริบทเพิ่มเติมอีกเล็กน้อยโดยรอบคำพูด?
Nick Stauner

ไม่ชัดเจนสำหรับฉันที่มาจาก 599 ... เพิ่มคำแนะนำที่ดีกว่าให้กับคำตอบแม้ว่า ...
Rasmus Bååth

8
@amoeba คุณสามารถอ่าน "ทาง" สำหรับตัวคุณเอง นี่คือตัวอย่างของการเขียนไม่ชัดเจนโดยเฉพาะอย่างยิ่งในสถิติและโดยเฉพาะอย่างยิ่งจะถูกนำมาใช้กับการอนุมานในความหมายตัดกับ Windsorized มาตรฐานข้อผิดพลาดประมาณการ
AdamO

11

มีบางสถานการณ์ที่คุณสามารถบอกได้ทั้งก่อนและหลังการทำซ้ำสองสามครั้งที่การทำบูทสแตรปจำนวนมากจะไม่ช่วยได้ในท้ายที่สุด

  • คุณหวังว่าจะมีความคิดล่วงหน้าเกี่ยวกับลำดับความแม่นยำที่จำเป็นสำหรับการตีความผลลัพธ์ที่มีความหมาย หากคุณไม่มีเวลาเรียนรู้เพิ่มเติมเกี่ยวกับปัญหาเบื้องหลังการวิเคราะห์ข้อมูล อย่างไรก็ตามหลังจากทำซ้ำสองสามครั้งคุณอาจสามารถประเมินจำนวนการทำซ้ำที่ต้องการได้อีก

  • เห็นได้ชัดว่าถ้าคุณมีกรณีน้อยมาก (เช่นคณะกรรมการจริยธรรมอนุญาตให้หนู 5 ตัว) คุณไม่จำเป็นต้องคิดซ้ำหลายหมื่น อาจจะเป็นการดีกว่าที่จะดูการจับฉลากที่เป็นไปได้ทั้งหมด และอาจเป็นการดีกว่าที่จะหยุดและคิดว่าข้อสรุปใด ๆ ที่สามารถอยู่บนพื้นฐานของหนู 5 ตัว

  • คิดเกี่ยวกับความไม่แน่นอนทั้งหมดของผลลัพธ์ ในสาขาของฉันส่วนหนึ่งของความไม่แน่นอนที่คุณสามารถวัดและลดได้โดยการบูตสแตรปอาจเป็นเพียงส่วนเล็กน้อยของความไม่แน่นอนทั้งหมด (เช่นเนื่องจากข้อ จำกัด ในการออกแบบการทดลองแหล่งที่มาของการเปลี่ยนแปลงที่สำคัญมักไม่ครอบคลุมการทดสอบ เราเริ่มจากการทดลองกับเซลล์แม้ว่าเป้าหมายสุดท้ายจะเป็นผู้ป่วย) ในสถานการณ์เช่นนี้มันไม่สมเหตุสมผลเลยที่จะใช้การวนซ้ำมากเกินไป - อย่างไรก็ตามมันจะไม่ช่วยผลสุดท้ายและยิ่งไปกว่านั้นมันอาจทำให้เกิดความมั่นใจผิด ๆ

  • ปัญหาที่เกี่ยวข้อง (แม้ว่าจะไม่เหมือนกัน) เกิดขึ้นระหว่างการตรวจสอบแบบ out-of-bootstrap หรือการตรวจสอบข้ามรุ่น: คุณมีสองแหล่งที่มาของความไม่แน่นอน: ขอบเขต (และในกรณีของฉันมักจะเป็นกรณีอิสระจำนวนน้อยมาก) และ (ใน) ความมั่นคงของรุ่น bootstrapped ขึ้นอยู่กับการตั้งค่าการตรวจสอบความถูกต้องของการสุ่มตัวอย่างใหม่ของคุณคุณอาจมีเพียงหนึ่งในนั้นที่มีส่วนร่วมในการประเมินการ resampling ใหม่ ในกรณีดังกล่าวคุณสามารถใช้การประมาณค่าของแหล่งข้อมูลความแปรปรวนอื่น ๆ เพื่อตัดสินว่าคุณควรบรรลุถึงความมั่นใจด้วยการ resampling อีกครั้งและเมื่อใดที่จะหยุดเพื่อช่วยให้ได้ผลลัพธ์สุดท้าย

  • สุดท้ายในขณะที่ความคิดของฉันเกี่ยวกับวิธีการทำซ้ำน้อยลงนี่คือการพิจารณาในทางปฏิบัติในความโปรดปรานในการทำมากขึ้น :
    ในทางปฏิบัติงานของฉันไม่ได้ทำหลังจากบูต bootstrap ผลลัพธ์ของ bootstrap จะต้องรวมเข้ากับสถิติสรุปและ / หรือตัวเลข ผลลัพธ์จะต้องตีความกระดาษหรือรายงานที่จะเขียน สิ่งเหล่านี้ส่วนใหญ่สามารถทำได้ด้วยผลลัพธ์เบื้องต้นของการบูทสแตรปซ้ำสองสามครั้ง (หากผลลัพธ์มีความชัดเจนพวกเขาจะแสดงหลังจากการทำซ้ำสองสามครั้งหากพวกเขาเป็นเส้นเขตแดน ดังนั้นฉันมักจะตั้งค่า bootstrapping ในลักษณะที่ช่วยให้ฉันสามารถดึงผลลัพธ์เบื้องต้นเพื่อให้ฉันสามารถทำงานต่อไปในขณะที่คอมพิวเตอร์คำนวณ ด้วยวิธีนี้มันไม่ได้รบกวนฉันมากนักหากการบูตสเต็ปปิ้งใช้เวลาอีกสองสามวัน


10

TLDR 10,000 ดูเหมือนจะเป็นกฎที่ดีเช่น p-values ​​จากตัวอย่าง bootstrap ขนาดใหญ่หรือใหญ่กว่านี้จะอยู่ภายใน 0.01 ของ "p-value ที่แท้จริง" สำหรับวิธีการประมาณ 95% ของเวลา

ฉันเพียงพิจารณาวิธีการบูตเปอร์เซ็นต์ด้านล่างซึ่งเป็นวิธีที่ใช้กันมากที่สุด (เพื่อความรู้ของฉัน) แต่ยังเป็นที่ยอมรับมีจุดอ่อนและไม่ควรนำมาใช้กับกลุ่มตัวอย่างขนาดเล็ก

Reframing เล็กน้อย มันจะมีประโยชน์ในการคำนวณความไม่แน่นอนที่เกี่ยวข้องกับผลลัพธ์จาก bootstrap เพื่อให้เข้าใจถึงความไม่แน่นอนที่เกิดจากการใช้ bootstrap โปรดทราบว่านี่ไม่ได้ระบุถึงจุดอ่อนที่เป็นไปได้ใน bootstrap (เช่นดูลิงก์ด้านบน) แต่จะช่วยในการประเมินว่ามีตัวอย่าง bootstrap "เพียงพอ" ในแอปพลิเคชันเฉพาะ โดยทั่วไปแล้วข้อผิดพลาดที่เกี่ยวข้องกับขนาดตัวอย่างของ bootstrap nจะเป็นศูนย์เช่นเดียวnกับที่ไม่มีที่สิ้นสุดและคำถามที่ถามว่าควรnมีข้อผิดพลาดที่เกี่ยวข้องกับขนาดตัวอย่างของ bootstrap ขนาดเล็กเพียงใด

Bootstrap ความไม่แน่นอนในค่า p ความไม่แน่ชัดในค่า p-value โดยประมาณคือ pv_est คือค่า p ที่ประมาณจาก bootstrap เป็นเรื่องเกี่ยวกับ2 x sqrt(pv_est * (1 - pv_est) / N)โดยที่Nเป็นจำนวนตัวอย่าง bootstrap นี้สามารถใช้ได้ถ้าpv_est * Nและมีทั้ง(1 - pv_est) * N >= 10หากหนึ่งในนั้นมีขนาดเล็กกว่า 10 แสดงว่ามีความแม่นยำน้อยกว่า แต่อยู่ในบริเวณใกล้เคียงกับประมาณการ

ข้อผิดพลาด Bootstrap ในช่วงความมั่นใจ ถ้าใช้ช่วงความเชื่อมั่น 95% แล้วดูที่วิธีการแปรปรวนของ quantiles ของการกระจายบูตใกล้ 2.5% และ 97.5% โดยการตรวจสอบเปอร์เซนต์ที่ (สำหรับเปอร์เซ็นต์ 2.5 +/- 2 * 100 * sqrt(0.025 * 0.975 / n)2.5th) สูตรนี้สื่อสารความไม่แน่นอนของจุดสิ้นสุดล่างของช่วงความมั่นใจ 95% ตามจำนวนตัวอย่างบูตที่ได้รับ ควรทำการสำรวจที่คล้ายกันที่ปลายด้านบน หากการประมาณนี้ค่อนข้างผันผวนให้แน่ใจว่าได้เก็บตัวอย่าง bootstrap มากขึ้น!


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) การทดสอบ Bootstrap: bootstraps มีกี่อัน? รีวิวเศรษฐมิติ, 19 (1), 55-68 (สามารถดาวน์โหลดเวอร์ชันกระดาษทำงานได้อย่างอิสระ)

0.053990.011499

B

"มันง่ายที่จะเข้าใจว่าทำไมขั้นตอนการทดสอบก่อนหน้านี้ทำงานได้ดีเมื่อสมมติฐานว่างเป็นจริง B สามารถมีขนาดเล็กได้อย่างปลอดภัยเพราะเราไม่ได้กังวลเกี่ยวกับอำนาจทั้งหมดในทำนองเดียวกันเมื่อว่างเป็นเท็จและกำลังทดสอบสูงมาก B ไม่จำเป็นต้องมีขนาดใหญ่เนื่องจากการสูญเสียพลังงานไม่ใช่ปัญหาร้ายแรงอย่างไรก็ตามเมื่อโมฆะเป็นเท็จและกำลังทดสอบในระดับสูงพอสมควร B ต้องมีขนาดใหญ่เพื่อหลีกเลี่ยงการสูญเสียพลังงานขั้นตอนการทดสอบมีแนวโน้มที่จะทำให้ B ขนาดเล็กเมื่อสามารถมีขนาดเล็กและใหญ่ได้อย่างปลอดภัยเมื่อต้องการขนาดใหญ่ "

B


4

แอพพลิเคชั่นบู๊ทสแตรปปิ้งส่วนใหญ่ที่ฉันเห็นมีการรายงานซ้ำประมาณ 2,000 ถึง 100k ในทางปฏิบัติที่ทันสมัยด้วยซอฟต์แวร์ที่เพียงพอประเด็นสำคัญของ bootstrap นั้นเป็นประเด็นทางสถิติมากกว่าเวลาและความสามารถในการคำนวณ สำหรับผู้ใช้มือใหม่ที่มี Excel ผู้ใช้สามารถทำได้หลายร้อยเท่านั้นก่อนที่จะต้องใช้การเขียนโปรแกรม Visual Basic ขั้นสูง อย่างไรก็ตาม R นั้นใช้ง่ายกว่ามากและทำให้ค่า bootstrapped นับพันค่านั้นใช้งานง่ายและตรงไปตรงมา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.