Hiểu bootstrapping để xác nhận và lựa chọn mô hình


13

Tôi nghĩ rằng tôi hiểu các nguyên tắc cơ bản của bootstrapping hoạt động như thế nào , nhưng tôi không chắc tôi hiểu làm thế nào tôi có thể sử dụng bootstrapping để lựa chọn mô hình hoặc để tránh bị quá mức.

Ví dụ, đối với lựa chọn mô hình, bạn sẽ chỉ chọn mô hình mang lại sai số thấp nhất (có thể là phương sai?) Trên các mẫu bootstrap của nó?

Có văn bản nào thảo luận về cách sử dụng bootstrapping để chọn hoặc xác nhận mô hình không?

EDIT: Xem chủ đề này và câu trả lời của @ mark999 để biết thêm bối cảnh đằng sau câu hỏi này.


@suncoolsu Nếu tôi có mô hình A, B và C để chọn, tôi thường sử dụng xác thực chéo hoặc bootstrapping để chọn mô hình khi 1) Tôi quan tâm đến độ chính xác / xếp hạng dự đoán và 2) Tôi không có đủ dữ liệu để chờ đợi xác nhận thiết lập. Tại sao điều này không phải là một ý tưởng tốt (và tôi biết rằng xác nhận lồng nhau rất quan trọng đối với việc lựa chọn tính năng, v.v.).
B_Miner

Câu trả lời của @ mark999 trong chủ đề này cho thấy xác nhận bootstrap là một giải pháp để tìm hiểu một mô hình trên bộ dữ liệu đầy đủ trong khi vẫn đối phó với quá mức. Câu trả lời đó là những gì đã truyền cảm hứng cho câu hỏi này đến một mức độ lớn, và câu hỏi ban đầu trong chủ đề đó cũng nên thêm bối cảnh cho câu hỏi này.
Amelio Vazquez-Reina

1
Tôi xin lỗi - có lẽ đây là tôi là một nhà thống kê - nhưng tôi nghĩ việc xác thực chéo và bootstrap là hai điều khác nhau. Xác thực chéo là tuyệt vời và phải được thực hiện (và bootstrap là tốt). Nhưng nếu bạn đang ở trong các tình huống như chọn giữa A, B, C (chỉ có ba mô hình), BIC có thể là lựa chọn tốt hơn. Như tôi đã nói, giải pháp phụ thuộc vào vấn đề trong tay và nhiều cách tiếp cận có thể phù hợp.
suncoolsu

2
AIC thường mang lại ít tiền hơn BIC.
Frank Harrell

Câu trả lời:


14

Trước tiên, bạn phải quyết định nếu bạn thực sự cần lựa chọn mô hình, hoặc bạn chỉ cần mô hình hóa. Trong phần lớn các tình huống, tùy thuộc vào chiều, phù hợp với một mô hình toàn diện linh hoạt được ưu tiên.

Bootstrap là một cách tuyệt vời để ước tính hiệu suất của một mô hình. Điều đơn giản nhất để ước tính là phương sai. Thêm vào điểm ban đầu của bạn, bootstrap có thể ước tính hiệu suất trong tương lai của một quy trình lập mô hình nhất định, trên dữ liệu mới chưa được nhận ra.

Nếu sử dụng việc lấy mẫu lại (bootstrap hoặc xác thực chéo) để chọn cả các tham số điều chỉnh mô hình và để ước tính mô hình, bạn sẽ cần một bootstrap kép hoặc xác thực chéo lồng nhau.

Nói chung, bootstrap yêu cầu ít mô hình phù hợp hơn (thường là khoảng 300) so với xác thực chéo (xác thực chéo 10 lần nên được lặp lại 50-100 lần để ổn định).

Một số nghiên cứu mô phỏng có thể được tìm thấy tại http://biostat.mc.vanderbilt.edu/rms


2
Ồ, tôi không biết rằng CV gấp 10 lần nên được lặp lại 50 - 100 lần! Thay vào đó, tôi sẽ phải xem lại dự án cuối cùng của mình và thử nghiệm bootstrap. Yêu trang web này: Tôi học được điều gì đó mỗi ngày!
Wayne

Cảm ơn @Frank! Giả sử tôi có một tập hợp các mô hình ứng cử viên có cùng # tham số, là những mô hình có phương sai thấp hơn trong các ước tính bootstrap tốt hơn (giả sử rằng tổng thiệt hại hoặc rủi ro là như nhau đối với tất cả chúng) để chống lại quá mức?
Amelio Vazquez-Reina

Tôi sẽ không cho rằng nhưng nó có thể.
Frank Harrell

Câu trả lời tuyệt vời, cảm ơn bạn! Tôi không biết rằng bootstrap cũng có thể được sử dụng để xác nhận mô hình VÀ xác nhận chéo cần phải được lặp lại nhiều lần. Tôi thấy một ưu điểm khác của phương pháp này: xác nhận chéo yêu cầu số lần gấp được xác định (chủ quan) trước, thường là 10, theo đó là nhiều hoặc ít heuristic hơn là tối ưu. Nhưng trong khi đây là một phương pháp tuyệt vời, tại sao nó dường như không phổ biến như xác nhận chéo?
SiXUlm

Xác thực mô hình Bootstrap khá phổ biến, nhưng xác thực chéo đã tồn tại lâu hơn. Nhưng như bạn đã nói, có một số sự tùy tiện trong việc lựa chọn # nếp gấp trong cv.
Frank Harrell

3

Xem xét sử dụng bootstrap để lấy trung bình mô hình .

Bài viết dưới đây có thể giúp ích, vì nó so sánh cách tiếp cận trung bình của mô hình bootstrap với (tính thường được sử dụng?) Mô hình trung bình của Bayesian và đưa ra một công thức để thực hiện tính trung bình của mô hình.

Mô hình Bootstrap trung bình trong các nghiên cứu chuỗi thời gian về ô nhiễm không khí và tỷ lệ tử vong của vật chất hạt


Tôi sẽ không đề xuất bootstrap cho mô hình trung bình trong hầu hết các trường hợp. Bootstrap là tốt nhất để cho bạn biết làm thế nào một quy trình mô hình hóa thực hiện, thay vì cho bạn biết cách tạo một thủ tục mới. Có những ngoại lệ cho điều này, mặc dù.
Frank Harrell

@Frank Harrell - Đồng ý. Bài báo mà tôi tham chiếu áp dụng cho khu vực tôi làm việc đôi khi và tôi đã sử dụng bootstrap cho kịch bản bạn đã nêu: đánh giá sự biến đổi của một mô hình cụ thể do lỗi lấy mẫu. Nhưng sự không chắc chắn do lựa chọn mô hình thậm chí còn khó đánh giá hơn và phương pháp lấy trung bình mô hình bootstrap có thể hữu ích như một sự trợ giúp, đặc biệt đối với những học viên như tôi thiếu kinh nghiệm / nền tảng để cải cách các vấn đề đối với tính trung bình của mô hình Bayes.
Josh Hemann

2
Không, tôi sẽ nói rằng bootstrap là tuyệt vời để đưa ra đánh giá thiệt hại do không biết trước mô hình. Điều đó không có nghĩa là bạn nhất thiết phải sử dụng bootstrap để cải thiện mọi thứ, chẳng hạn như tính trung bình trên một tập các mô hình không chắc chắn. Nếu bạn nên sử dụng bootstrap theo cách này, bạn sẽ cần một bootstrap đôi để có được đánh giá trung thực về hiệu suất của mô hình trung bình. Tôi nên lưu ý rằng các khu rừng ngẫu nhiên là một dạng mô hình tính trung bình bằng cách sử dụng bootstrap.
Frank Harrell

Điểm tốt về bootstrap đôi. Các tác giả của bài báo mà tôi tham khảo có một bài viết tiếp theo về điều này: Mô hình Bootstrap-after-Bootstrap Tính trung bình cho việc giảm mô hình không chắc chắn trong lựa chọn mô hình cho nghiên cứu về ô nhiễm không khí ô nhiễm
Josh Hemann

Tốt Chỉ cần nhớ rằng đó thường là một quá mức cần thiết. Thông thường tốt nhất là đặt ra một mô hình đầy đủ theo chủ đề, và sử dụng co rút (hình phạt) nếu nó mặc trang phục; nhưng nó vẫn là một mô hình.
Frank Harrell
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.