Tôi tự hỏi nếu ai đó biết bất kỳ quy tắc chung nào về số lượng mẫu bootstrap nên sử dụng, dựa trên các đặc điểm của dữ liệu (số lượng quan sát, v.v.) và / hoặc các biến bao gồm?
Tôi tự hỏi nếu ai đó biết bất kỳ quy tắc chung nào về số lượng mẫu bootstrap nên sử dụng, dựa trên các đặc điểm của dữ liệu (số lượng quan sát, v.v.) và / hoặc các biến bao gồm?
Câu trả lời:
Kinh nghiệm của tôi là các nhà thống kê sẽ không thực hiện mô phỏng hoặc bootstraps một cách nghiêm túc trừ khi số lần lặp vượt quá 1.000. Lỗi MC là một vấn đề lớn được đánh giá cao. Chẳng hạn, bài báo này được sử dụng Niter=50
để chứng minh LASSO là một công cụ lựa chọn tính năng. Luận án của tôi sẽ mất ít thời gian hơn để chạy với 50 lần lặp được coi là chấp nhận được! Tôi khuyên bạn nên luôn luôn kiểm tra biểu đồ của các mẫu bootstrap . Phân phối của họ sẽ xuất hiện khá thường xuyên. Tôi không nghĩ rằng bất kỳ quy tắc số đơn giản nào cũng đủ, và sẽ là quá mức cần thiết để thực hiện, giả sử, một bootstrap kép để đánh giá lỗi MC.
Giả sử bạn đang ước tính giá trị trung bình từ tỷ lệ của hai biến ngẫu nhiên tiêu chuẩn thông thường độc lập, một số nhà thống kê có thể khuyên bạn nên khởi động nó vì tích phân rất khó tính. Nếu bạn có lý thuyết xác suất cơ bản trong vành đai của mình, bạn sẽ nhận ra rằng tỷ lệ này tạo thành một biến ngẫu nhiên Cauchy với giá trị trung bình không tồn tại. Bất kỳ phân phối leptokurtic nào khác sẽ yêu cầu một số lần lặp bootstrap bổ sung so với đối tác mật độ Gaussian thông thường hơn. Trong trường hợp đó, 1000, 100000 hoặc 10000000 mẫu bootstrap sẽ không đủ để ước tính cái không tồn tại. Biểu đồ của các bootstraps này sẽ tiếp tục trông không đều và sai.
Có một vài nếp nhăn nữa cho câu chuyện đó. Cụ thể, bootstrap chỉ thực sự hợp lý khi tồn tại những khoảnh khắc của mô hình xác suất tạo dữ liệu. Đó là bởi vì bạn đang sử dụng hàm phân phối theo kinh nghiệm như một người rơm cho mô hình xác suất thực tế và giả sử chúng có cùng giá trị trung bình, độ lệch chuẩn, độ lệch, phân vị thứ 99, v.v.
Nói tóm lại, một ước tính bootstrap của một thống kê và lỗi tiêu chuẩn của nó chỉ được chứng minh khi biểu đồ của các mẫu bootstrapping xuất hiện thường xuyên ngoài sự nghi ngờ hợp lý và khi bootstrap được chứng minh.
chỉnh sửa:
Nếu bạn nghiêm túc về việc có đủ mẫu, điều bạn nên làm là chạy quy trình bootstrap của bạn, điều bạn hy vọng là, đủ số lượng mẫu một số lần và xem ước tính bootstrap "nhảy xung quanh" bao nhiêu. Nếu các ước tính lặp đi lặp lại không khác nhau nhiều (trong đó "nhiều" phụ thuộc vào tình huống cụ thể của bạn) thì rất có thể bạn sẽ ổn. Tất nhiên, bạn có thể ước tính số lượng ước tính lặp lại nhảy xung quanh bằng cách tính SD mẫu hoặc tương tự.
Nếu bạn muốn có một tài liệu tham khảo và một quy tắc ngón tay cái Wilcox (2010) hãy viết "Nên sử dụng 599 cho mục đích chung". Nhưng điều này chỉ nên được coi là một hướng dẫn hoặc có lẽ là số lượng mẫu tối thiểu bạn nên xem xét. Nếu bạn muốn ở bên an toàn thì không có lý do gì (nếu nó khả thi về mặt tính toán) tại sao bạn không nên tạo ra một đơn đặt hàng có cường độ mẫu lớn hơn.
Về lưu ý cá nhân, tôi có xu hướng chạy 10.000 mẫu khi ước tính "cho chính mình" và 100.000 mẫu khi ước tính thứ gì đó được truyền cho người khác (nhưng điều này nhanh chóng khi tôi làm việc với các bộ dữ liệu nhỏ).
Wilcox, RR (2010). Nguyên tắc cơ bản của phương pháp thống kê hiện đại: Cải thiện đáng kể sức mạnh và độ chính xác. Mùa xuân.
Có một số tình huống mà bạn có thể nói trước hoặc sau một vài lần lặp đi lặp lại rằng số lượng lớn các lần lặp bootstrap cuối cùng sẽ không giúp được gì.
Bạn hy vọng có một ý tưởng trước về thứ tự độ chính xác cần thiết để giải thích kết quả có ý nghĩa. Nếu bạn không có lẽ đã đến lúc tìm hiểu thêm một chút về vấn đề đằng sau phân tích dữ liệu. Dù sao, sau một vài lần lặp, bạn có thể ước tính có bao nhiêu lần lặp nữa là cần thiết.
Rõ ràng, nếu bạn có rất ít trường hợp (giả sử, ủy ban đạo đức cho phép 5 con chuột), bạn không cần phải suy nghĩ về hàng chục ngàn lần lặp lại. Có lẽ sẽ tốt hơn nếu nhìn vào tất cả các trận hòa có thể. Và có lẽ sẽ tốt hơn nếu dừng lại và suy nghĩ chắc chắn bất kỳ loại kết luận nào có thể (không) dựa trên 5 con chuột.
Hãy suy nghĩ về sự không chắc chắn của kết quả. Trong lĩnh vực của tôi, phần không chắc chắn mà bạn có thể đo và giảm bằng cách bootstrapping chỉ có thể là một phần nhỏ của tổng độ không đảm bảo (ví dụ do các hạn chế trong thiết kế của các thí nghiệm Các nguồn biến thể quan trọng thường không được đề cập trong thử nghiệm - nói , chúng tôi bắt đầu bằng các thí nghiệm trên các dòng tế bào mặc dù mục tiêu cuối cùng tất nhiên sẽ là bệnh nhân). Trong tình huống này, sẽ không có ý nghĩa gì khi chạy quá nhiều lần lặp - dù sao nó cũng không giúp ích cho kết quả cuối cùng và hơn nữa nó có thể tạo ra cảm giác sai lầm về sự chắc chắn.
Một vấn đề liên quan (mặc dù không hoàn toàn giống nhau) xảy ra trong quá trình xác thực ngoài cơ sở hoặc xác thực chéo của các mô hình: bạn có hai nguồn không chắc chắn: hữu hạn (và trong trường hợp của tôi thường là rất ít trường hợp độc lập) và (trong) sự ổn định của các mô hình bootstrapping. Tùy thuộc vào thiết lập xác thực lấy mẫu của bạn, bạn có thể chỉ có một trong số họ đóng góp cho ước tính lấy mẫu lại. Trong trường hợp đó, bạn có thể sử dụng ước tính của nguồn phương sai khác để đánh giá mức độ chắc chắn mà bạn sẽ đạt được với việc lấy mẫu lại và khi nào nó dừng lại để giúp kết quả cuối cùng.
Cuối cùng, trong khi cho đến nay, suy nghĩ của tôi là về cách thực hiện ít lần lặp hơn , đây là một sự cân nhắc thực tế có lợi cho việc thực hiện nhiều hơn :
Trong thực tế công việc của tôi không được thực hiện sau khi bootstrap được chạy. Đầu ra của bootstrap cần được tổng hợp thành số liệu thống kê và / hoặc số liệu tóm tắt. Kết quả cần được giải thích giấy hoặc báo cáo để được viết. Phần lớn trong số này có thể được thực hiện với kết quả sơ bộ của một vài lần lặp của bootstrap (nếu kết quả rõ ràng, chúng sẽ hiển thị sau vài lần lặp, nếu chúng là đường biên thì chúng sẽ ở lại đường biên). Vì vậy, tôi thường thiết lập bootstrapping theo cách cho phép tôi lấy kết quả sơ bộ để tôi có thể tiếp tục làm việc trong khi máy tính tính toán. Bằng cách đó, nó không làm phiền tôi nhiều nếu việc bootstrapping mất vài ngày nữa.
TLDR. 10.000 dường như là một quy tắc tốt, ví dụ: giá trị p từ mẫu bootstrap lớn hơn hoặc lớn hơn này sẽ nằm trong 0,01 "giá trị p thực" cho phương pháp khoảng 95% thời gian.
Tôi chỉ xem xét phương pháp bootstrap phần trăm dưới đây, đây là phương pháp được sử dụng phổ biến nhất (theo hiểu biết của tôi) nhưng cũng thừa nhận có điểm yếu và không nên sử dụng với các mẫu nhỏ .
Nhắc lại một chút. Có thể hữu ích khi tính toán độ không đảm bảo liên quan đến kết quả từ bootstrap để hiểu được sự không chắc chắn do việc sử dụng bootstrap. Lưu ý rằng điều này không giải quyết các điểm yếu có thể có trong bootstrap (ví dụ: xem liên kết ở trên), nhưng nó giúp đánh giá xem có các mẫu bootstrap "đủ" trong một ứng dụng cụ thể không. Nói chung, lỗi liên quan đến kích thước mẫu bootstrap n
bằng 0 n
đến vô cùng, và câu hỏi đặt ra, mức độ lớn n
của lỗi liên quan đến kích thước mẫu bootstrap nhỏ là bao nhiêu?
Không chắc chắn Bootstrap trong một giá trị p. Sự không chính xác trong một giá trị p ước tính, giả sử pv_est là giá trị p được ước tính từ bootstrap, là về 2 x sqrt(pv_est * (1 - pv_est) / N)
, N
số lượng mẫu bootstrap là bao nhiêu. Điều này là hợp lệ nếu pv_est * N
và (1 - pv_est) * N
là cả hai >= 10
. Nếu một trong số này nhỏ hơn 10, thì nó ít chính xác hơn nhưng rất thô trong cùng một khu vực với ước tính đó.
Lỗi bootstrap trong một khoảng tin cậy. Nếu sử dụng khoảng tin cậy 95%, thì hãy xem mức độ biến động của các lượng tử của phân phối bootstrap gần 2,5% và 97,5% bằng cách kiểm tra phần trăm tại (đối với phân vị thứ 2,5) 2.5 +/- 2 * 100 * sqrt(0.025 * 0.975 / n)
. Công thức này truyền đạt sự không chắc chắn của đầu dưới của khoảng tin cậy 95% dựa trên số lượng mẫu bootstrap được lấy. Một thăm dò tương tự nên được thực hiện ở đầu cuối. Nếu ước tính này có phần biến động, thì hãy chắc chắn lấy nhiều mẫu bootstrap hơn!
Chúng ta có
Tôi lấy thông tin sau từ Davidson, R., & MacKinnon, JG (2000). Kiểm tra bootstrap: Có bao nhiêu bootstraps?. Đánh giá kinh tế lượng, 19 (1), 55-68. (phiên bản giấy làm việc có thể tải xuống miễn phí).
"Thật dễ hiểu tại sao quy trình giả vờ hoạt động tốt. Khi giả thuyết null là đúng, B có thể nhỏ một cách an toàn, bởi vì chúng tôi không quan tâm đến quyền lực. Tương tự, khi null là sai và công suất kiểm tra là rất cao, B không cần phải lớn, vì mất điện không phải là vấn đề nghiêm trọng. Tuy nhiên, khi null là sai và công suất kiểm tra ở mức cao vừa phải, B cần phải lớn để tránh mất điện. B nhỏ khi nó có thể nhỏ và lớn một cách an toàn khi cần lớn. "
Hầu hết các ứng dụng bootstrapping tôi đã thấy báo cáo khoảng 2.000 đến 100 nghìn lần lặp. Trong thực tiễn hiện đại với phần mềm đầy đủ, các vấn đề nổi bật với bootstrap là những vấn đề thống kê, hơn cả thời gian và khả năng tính toán. Đối với người dùng mới làm quen với Excel, người ta chỉ có thể thực hiện vài trăm trước khi yêu cầu sử dụng lập trình Visual Basic nâng cao. Tuy nhiên, R đơn giản hơn nhiều để sử dụng và làm cho việc tạo ra hàng ngàn giá trị bootstrapping dễ dàng và đơn giản.