Khi nào tôi nên sử dụng phương pháp bootstrap?
Bootstrap là một phương pháp mạnh mẽ dựa trên máy tính để suy luận thống kê mà không cần dựa vào quá nhiều giả định. Lần đầu tiên tôi áp dụng phương pháp bootstrap là trong một dự án thử nghiệm A/B. Lúc đó tôi như sử dụng một phép thuật mạnh mẽ để hình thành phân phối mẫu chỉ từ một dữ liệu mẫu. Không có công thức cần thiết cho suy luận thống kê của tôi. Không chỉ vậy, trên thực tế, nó còn được ứng dụng rộng rãi trong các suy luận thống kê khác như khoảng tin cậy, mô hình hồi quy, thậm chí cả lĩnh vực học máy. Điều đó dẫn tôi đến một số nghiên cứu về bootstrap để bổ sung kiến thức suy luận thống kê mang tính thực tế hơn ngoài các lớp thống kê toán học lý thuyết của tôi Show
Bài viết này chủ yếu tập trung giới thiệu các khái niệm cốt lõi của Bootstrap hơn là ứng dụng của nó. Nhưng một số mã nhúng sẽ được sử dụng như một khái niệm minh họa. Chúng tôi sẽ giới thiệu phương pháp lấy mẫu lại Bootstrap, sau đó minh họa động lực của Bootstrap khi nó được giới thiệu bởi Bradley Efron (1979) và minh họa ý tưởng chung về bootstrap Kiến thức cơ bản liên quanThực tế, những ý tưởng đằng sau bootstrap đang chứa đựng rất nhiều chủ đề thống kê cần được quan tâm. Tuy nhiên, đây là một cơ hội tốt để tóm tắt lại một số khái niệm suy luận thống kê. Khái niệm thống kê liên quan bao gồm
Có một số kiến thức cơ bản ở trên sẽ giúp đạt được những ý tưởng cơ bản đằng sau bootstrap. Một số ý tưởng có thể bao gồm thống kê trước, nhưng tôi sẽ sử dụng một cách đơn giản và các biểu thức toán học không chính thức để minh họa ý tưởng cơ bản đơn giản nhất có thể. Các liên kết ở cuối bài viết sẽ được cung cấp nếu bạn muốn tìm hiểu thêm về các khái niệm này Phương pháp lấy mẫu BootstrapÝ tưởng cơ bản của bootstrap là đưa ra suy luận về ước tính (chẳng hạn như trung bình mẫu) cho tham số dân số θ (chẳng hạn như trung bình dân số) trên dữ liệu mẫu. Đây là một phương pháp lấy mẫu lại bằng cách lấy mẫu độc lập với sự thay thế từ dữ liệu mẫu hiện có với cùng kích thước mẫu n và thực hiện suy luận giữa các dữ liệu được lấy mẫu lại này Nói chung, bootstrap bao gồm các bước sau
Chúng tôi có thể thấy chúng tôi tạo các điểm dữ liệu mới bằng cách lấy mẫu lại từ một mẫu hiện có và đưa ra suy luận chỉ dựa trên các điểm dữ liệu mới này Làm thế nào và tại sao bootstrap hoạt động? Trong bài viết này, tôi sẽ chia câu hỏi lớn này thành ba phần
Ý tưởng cốt lõi của kỹ thuật bootstrap là tạo ra một số loại suy luận thống kê với sự trợ giúp của sức mạnh máy tính hiện đại. Khi Efron giới thiệu phương pháp này, nó đặc biệt được thúc đẩy bởi việc đánh giá độ chính xác của một công cụ ước tính trong lĩnh vực suy luận thống kê. Thông thường, sai số chuẩn ước tính là bước đầu tiên để suy nghĩ nghiêm túc về các ước tính thống kê chính xác Bây giờ, để minh họa cách bootstrap hoạt động và lỗi tiêu chuẩn của công cụ ước tính đóng vai trò quan trọng như thế nào, hãy bắt đầu với một trường hợp đơn giản Trường hợp kịch bảnMã cho trường hợp này, chỉ cần kiểm tra Trong lĩnh vực thống kê, quá trình trên được gọi là ước tính điểm. Những gì chúng tôi muốn biết là số lượng xe bán tải thực sự trong toàn bộ phòng thí nghiệm. Chúng tôi không có dữ liệu điều tra dân số, những gì chúng tôi có thể làm chỉ là đánh giá tham số dân số thông qua một công cụ ước tính dựa trên một mẫu được quan sát và sau đó lấy ước tính dưới dạng đánh giá mức sử dụng điện thoại thông minh trung bình trong phòng thí nghiệm
Một câu hỏi quan trọng là - Kết quả ước tính này chính xác đến mức nào? Do sự thay đổi của mẫu, hầu như không bao giờ X̄ = μ xảy ra. Do đó, bên cạnh việc báo cáo giá trị của ước tính điểm, cần đưa ra một số dấu hiệu về độ chính xác. Thước đo phổ biến của độ chính xác là sai số chuẩn của ước lượng Lỗi tiêu chuẩnLỗi tiêu chuẩn của công cụ ước tính là độ lệch chuẩn. Nó cho chúng tôi biết ước tính mẫu của bạn sai lệch bao nhiêu so với tham số thực tế. Nếu bản thân lỗi tiêu chuẩn liên quan đến các tham số không xác định, chúng tôi đã sử dụng lỗi tiêu chuẩn ước tính bằng cách thay thế các tham số không xác định bằng ước tính của các tham số Hãy lấy một ví dụ. Trong trường hợp của chúng tôi, công cụ ước tính của chúng tôi là trung bình mẫu và đối với trung bình mẫu (và gần như chỉ một. ), chúng ta có một công thức đơn giản để dễ dàng thu được sai số chuẩn của nó Tuy nhiên, độ lệch chuẩn của dân số σ luôn không xác định trong thế giới thực, vì vậy phép đo phổ biến nhất là sai số chuẩn ước tính, sử dụng độ lệch chuẩn mẫu S làm độ lệch chuẩn ước tính của dân số Trong trường hợp của chúng tôi, chúng tôi có mẫu với 30 và giá trị trung bình của mẫu là 228. 06 và độ lệch chuẩn mẫu là 166. 97, vì vậy sai số chuẩn ước tính cho giá trị trung bình mẫu của chúng tôi là 166. 97/ √30 = 30. 48 Lỗi tiêu chuẩn trong suy luận thống kêBây giờ chúng tôi đã có lỗi tiêu chuẩn ước tính của chúng tôi. Làm thế nào có thể sử dụng lỗi tiêu chuẩn trong suy luận thống kê? Nói một cách đại khái, nếu một công cụ ước tính có phân phối chuẩn hoặc phân phối xấp xỉ chuẩn, thì chúng tôi hy vọng rằng ước tính của chúng tôi sẽ ít hơn một lỗi tiêu chuẩn so với kỳ vọng của nó khoảng 68% thời gian và ít hơn hai lỗi tiêu chuẩn khoảng 95 Trong trường hợp của chúng ta, hãy nhớ rằng mẫu mà chúng ta đã thu thập là 30 mẫu phản hồi, đủ lớn theo quy tắc ngón tay cái, Định lý giới hạn trung tâm cho chúng ta biết phân phối lấy mẫu của X̄ gần giống với phân phối chuẩn. Kết hợp lỗi tiêu chuẩn ước tính đó, chúng ta có thể nhận được
Lý tưởng và thực tế trong thế giới thống kêChúng tôi đã thực hiện suy luận thống kê của chúng tôi. Tuy nhiên, làm thế nào suy luận này diễn ra tốt đẹp theo một số giả định nghiêm ngặt Hãy nhớ lại những giả định hoặc định lý cổ điển mà chúng ta có thể đã sử dụng cho đến nay
Tuy nhiên, trong thế giới thực của chúng ta, đôi khi thật khó để đáp ứng các giả định hoặc định lý như trên
Đây là lý do tại sao bootstrap ra đời để giải quyết các loại vấn đề này. Khi các giả định này bị vi phạm hoặc khi không có công thức nào để ước tính các lỗi tiêu chuẩn, bootstrap là sự lựa chọn hiệu quả II. Giải thích về BootstrapĐể minh họa các khái niệm chính, giải thích sau đây sẽ phát triển một số định nghĩa và ký hiệu toán học, là loại không chính thức để cung cấp thêm trực giác và hiểu biết 1. Kịch bản ban đầuGiả sử chúng ta muốn ước tính sai số chuẩn của thống kê để suy luận về tham số tổng thể, chẳng hạn như để xây dựng khoảng tin cậy tương ứng (giống như những gì chúng ta đã làm trước đây. ). Và
Cho X1, X2, …, Xn là mẫu ngẫu nhiên từ tổng thể P với hàm phân phối F. Và đặt M= g(X1, X2, …, Xn), là thống kê của chúng ta cho tham số quan tâm, nghĩa là thống kê là một hàm của dữ liệu mẫu X1, X2, …, Xn. Điều chúng ta muốn biết là phương sai của M, ký hiệu là Var(M)
Nó dẫn đến việc chúng ta cần tính gần đúng EST_Var(M). Thế nào? 2. mô phỏngHãy nói về ý tưởng mô phỏng. Nó rất hữu ích để lấy thông tin về phân phối lấy mẫu của thống kê với sự trợ giúp của máy tính. Nhưng nó có một giả định quan trọng — Giả sử chúng ta biết dân số P Bây giờ, đặt X1, X2, … , Xn là một mẫu ngẫu nhiên từ một tổng thể và giả sử M= g(X1, X2, …, Xn) là thống kê quan tâm, chúng ta có thể tính gần đúng giá trị trung bình và phương sai của thống kê M bằng cách mô phỏng như sau
Tại sao mô phỏng này hoạt động?
Và theo Định luật số lớn và một số định lý liên quan đến Sự hội tụ trong Xác suất
Với sự trợ giúp của máy tính, chúng ta có thể làm cho B lớn bao nhiêu tùy thích để gần đúng với phân phối lấy mẫu của thống kê M Sau đây là mã Python ví dụ để mô phỏng trong trường hợp chọn điện thoại trước đó. Tôi sử dụng B=100000 và giá trị trung bình mô phỏng và sai số chuẩn cho giá trị trung bình mẫu rất gần với kết quả lý thuyết trong hai ô cuối cùng. Vui lòng kiểm tra Mã ví dụ cho mô phỏng được áp dụng với trường hợp chọn điện thoại trước đó bắt đầu từ ô [10]3. Chức năng phân phối theo kinh nghiệm và Nguyên tắc trình cắm thêmChúng tôi đã học được ý tưởng mô phỏng. Bây giờ, chúng ta có thể tính gần đúng EST_Var(M) bằng mô phỏng không? . Sự thật là chúng tôi không biết gì về P. Để giải quyết vấn đề này, một trong những thành phần quan trọng nhất trong Phương pháp bootstrap được thông qua Sử dụng hàm phân phối theo kinh nghiệm để tính gần đúng hàm phân phối của dân số và áp dụng Nguyên tắc phần bổ trợ để ước tính Var(M) — công cụ ước tính phần bổ trợ (1) Hàm phân phối thực nghiệmÝ tưởng về Hàm phân phối theo kinh nghiệm (EDF) là xây dựng hàm phân phối (CDF) từ một tập dữ liệu hiện có. EDF thường xấp xỉ CDF khá tốt, đặc biệt đối với cỡ mẫu lớn. Trên thực tế, đây là một phương pháp phổ biến, hữu ích để ước tính CDF của một biến ngẫu nhiên trong thực tế. EDF là một phân phối rời rạc mang lại trọng số bằng nhau cho từng điểm dữ liệu (i. e. , nó gán xác suất 1/n cho mỗi trong số n quan sát ban đầu) và tạo thành một hàm phân phối tích lũy là một hàm bước nhảy lên 1/n tại mỗi điểm trong số n điểm dữ liệu (2) Chức năng thống kêBootstrap sử dụng EDF làm công cụ ước tính cho CDF dân số. Tuy nhiên, chúng tôi biết EDF là một loại hàm phân phối tích lũy (CDF). Để áp dụng EDF làm công cụ ước tính cho thống kê M của chúng ta, chúng ta cần tạo dạng của M dưới dạng một hàm của loại CDF, ngay cả tham số quan tâm cũng như có một số đường cơ sở. Để làm được điều này, một cách phổ biến là khái niệm gọi là Hàm thống kê. Nói một cách đại khái, hàm thống kê là bất kỳ hàm nào của hàm phân phối. Hãy lấy một ví dụ Giả sử chúng ta quan tâm đến các tham số của dân số. Trong lĩnh vực thống kê, luôn tồn tại tình huống các tham số quan tâm là một hàm của hàm phân phối, chúng được gọi là hàm thống kê. Danh sách sau đây có nghĩa là dân số E(X) là một chức năng thống kê Từ trên, chúng ta có thể thấy giá trị trung bình của dân số E(X) cũng có thể được biểu thị dưới dạng CDF của dân số F — đây là một hàm thống kê. Tất nhiên, biểu thức này có thể được áp dụng cho bất kỳ hàm nào khác ngoài giá trị trung bình, chẳng hạn như phương sai Hàm thống kê có thể được xem như đại lượng mô tả các tính năng của dân số. Giá trị trung bình, phương sai, trung vị, lượng tử của F là những đặc điểm của dân số. Như vậy, sử dụng hàm thống kê, chúng ta có một cách chặt chẽ hơn để xác định các khái niệm về tham số dân số. Do đó, có thể nói, thống kê M của chúng ta có thể là. M=g(F), với quần thể CDF F (3) Nguyên lý plug-in = EDF + Chức năng thống kêTa đã biến thống kê của mình là M= g(X1, X2, …, Xn)=g(F) là một dạng hàm thống kê. Tuy nhiên, chúng tôi không biết F. Vì vậy, chúng tôi phải "cắm" một công cụ ước tính cho F, "vào" M=g(F) của chúng tôi, để làm cho M này có thể được đánh giá Nó được gọi là nguyên tắc plug-in. Nói chung, nguyên tắc plug-in là một phương pháp ước tính các hàm thống kê từ phân phối tổng thể bằng cách đánh giá các hàm tương tự, nhưng với phân phối theo kinh nghiệm dựa trên mẫu. Ước tính này được gọi là ước tính bổ sung cho tham số dân số quan tâm. Ví dụ: trung bình của phân bố dân số có thể được xấp xỉ bằng trung bình của phân phối theo kinh nghiệm của một mẫu. Phân phối theo kinh nghiệm ở đây chỉ được hình thành theo mẫu vì chúng ta không biết dân số. Nói một cách đơn giản
Hãy lấy một ví dụ trung bình như sau, chúng ta có thể thấy g(. ) cho giá trị trung bình là — tính trung bình tất cả các điểm dữ liệu và nó cũng được áp dụng cho giá trị trung bình mẫu. F_hat ở đây, được lấy mẫu làm công cụ ước tính của F. Chúng tôi nói rằng trung bình mẫu là một công cụ ước tính plug-in của trung bình dân số. (Kết quả rõ ràng hơn sẽ sớm được cung cấp. ) Vì vậy, F_hat là gì? Hãy xem công cụ ước tính M= g(X1, X2, …, Xn)=g(F) của chúng ta sẽ trông như thế nào nếu chúng ta cắm EDF vào nó
Chúng tôi biết EDF là một phân phối rời rạc với hàm khối lượng xác suất PMF gán xác suất 1/ n cho mỗi trong số n quan sát, do đó, theo điều này, M_hat trở thành Theo điều này, đối với ví dụ trung bình của chúng tôi, chúng tôi có thể tìm thấy công cụ ước tính bổ trợ cho giá trị trung bình μ chỉ là giá trị trung bình mẫu Do đó, chúng tôi thông qua Nguyên tắc trình cắm, để ước tính cho M=g(F), giả sử M_hat=g(F_hat). Và hãy nhớ rằng, cái mà chúng ta muốn tìm hiểu là Var(M) và chúng ta tính gần đúng Var(M) theo Var(M_hat). Nhưng trong trường hợp chung, không có công thức chính xác nào cho Var(M_hat) ngoài giá trị trung bình mẫu. Nó dẫn chúng ta đến việc áp dụng một mô phỏng (4) Ước tính phương sai BootstrapGần như là bước cuối cùng. Hãy làm mới toàn bộ quy trình với khái niệm Nguyên tắc phần bổ trợ Mục tiêu của chúng tôi là ước tính phương sai của công cụ ước tính M của chúng tôi, đó là Var(M). Nguyên tắc Bootstrap như sau
Nhớ lại rằng để thực hiện phiên bản mô phỏng ban đầu, chúng ta cần lấy dữ liệu mẫu từ dân số, lấy thống kê M=g(F) từ nó và sao chép quy trình B lần, sau đó lấy phương sai của thống kê B này để tính gần đúng giá trị thực. Vì vậy, để thực hiện mô phỏng ở bước 4, chúng ta cần
Mô phỏng là gì? Hai câu hỏi ở đây (tôi hứa đây là hai câu hỏi cuối cùng. )
Vẽ từ EDF trông như thế nào?Chúng tôi biết EDF xây dựng CDF từ dữ liệu mẫu hiện có X1, …, Xn và theo định nghĩa, nó đặt khối lượng 1/n tại mỗi điểm dữ liệu mẫu. Do đó, vẽ một mẫu ngẫu nhiên từ EDF, có thể được coi là vẽ n quan sát, với sự thay thế, từ dữ liệu mẫu hiện có của chúng tôi X1, …, Xn. Vì vậy, đó là lý do tại sao mẫu bootstrap được lấy mẫu thay thế như được hiển thị trước đó Mô phỏng hoạt động như thế nào?Phương sai của công cụ ước tính trình cắm thêm M_hat=g(F_hat) là thứ mà mô phỏng bootstrap muốn mô phỏng. Khi bắt đầu mô phỏng, chúng tôi rút ra các quan sát bằng cách thay thế từ dữ liệu mẫu hiện có của chúng tôi X1, …, Xn. Hãy biểu thị các dữ liệu được lấy mẫu lại này X1* , …, Xn*. Bây giờ, hãy so sánh lại mô phỏng bootstrap với phiên bản mô phỏng ban đầu của chúng tôi Quá trình mô phỏng ban đầu cho Var(M=g(F)) Original Simulation Version- Approximate EST_Var(M|F) with known FLet X1, X2, … , Xn be a random sample from a population P and assume M= g(X1, X2, …, Xn) is the statistic of interest, we could approximate variance of statistic M by simulation as follows:1. Draw random sample with size n from P.Tương tự với phần Mô phỏng trước để mô phỏng Var(M) Mô phỏng Bootstrap cho Var(M_hat=g(F_hat)) Bootstrap Simulation Version- Approximate Var(M_hat|F_hat) with EDFNow let X1, X2, … , Xn be a random sample from a population P with CDF F, and assume M= g(X1, X2, …, Xn ;F) is the statistic of interest. But we don't know F, so we:1.Form a EDF from the existing sample data by draw observations with replacement from our existing sample data X1, …, Xn. These are denote as X1*, X2*, …, Xn*. We call this is a bootstrap sample.2.Compute statistic M_hat= g(X1*, X2*, …, Xn* ;F_hat) for the bootstrap sample.3. Replicate B times for steps 2 and 3, and get B statistics M_hat.4. Get the variance for these B statistics to approximate the Var(M_hat).Mô phỏng cho Var(M_hat) Bạn có cảm thấy quen thuộc với các quy trình trên không? III. Bootstrap hoạt động như thế nào?Cuối cùng, hãy xem mô phỏng của chúng tôi sẽ hoạt động như thế nào. Những gì chúng tôi sẽ nhận được xấp xỉ từ mô phỏng bootstrap này là cho Var(M_hat), nhưng điều chúng tôi thực sự quan tâm là liệu Var(M_hat) có thể xấp xỉ với Var(M). Vì vậy, hai câu hỏi ở đây
Để trả lời câu hỏi này, hãy sử dụng sơ đồ để minh họa lỗi mô phỏng cả hai loại
Nói chung, điều kiện trơn tru trên một số chức năng rất khó xác minh. May mắn thay, hầu hết các hàm thống kê phổ biến như giá trị trung bình, phương sai hoặc khoảnh khắc đều thỏa mãn các điều kiện liên tục bắt buộc. Nó cung cấp rằng bootstrapping hoạt động. Và tất nhiên, làm cho kích thước mẫu ban đầu không quá nhỏ như chúng ta có thể Dưới đây là mã mẫu Bootstrap của tôi cho trường hợp lấy hàng, bạn có thể kiểm tra miễn phí Bản tóm tắt BootstrapHãy tóm tắt lại những ý tưởng chính của bootstrap với sơ đồ sau Cho đến nay tôi biết nó không hề dễ dàng với vô số khái niệm thống kê. Nhưng việc hiểu các khái niệm cơ bản đằng sau một phương pháp có thể giúp chúng ta đi đúng hướng khi áp dụng nó. Xét cho cùng, Bootstrap đã được áp dụng cho nhiều trường hợp thực tế hơn, việc học bắt đầu từ phần cơ bản sẽ mang tính xây dựng hơn. Cảm ơn đã đọc cho đến nay và hy vọng bài viết này sẽ giúp. Để lại ý kiến của bạn nếu tôi đã thực hiện bất kỳ sai lầm. ) Thẩm quyền giải quyếtCuốn sách hữu ích nhất của Efron, với khái niệm tổng quát hơn về Bootstrap và cách nó kết nối với suy luận thống kê Tại sao bạn sẽ sử dụng bootstrapping?“Ưu điểm của bootstrapping là đó là một cách đơn giản để lấy các ước tính về sai số chuẩn và khoảng tin cậy , đồng thời thuận tiện . ”
Tại sao bootstrapping được sử dụng trong di truyền học?Phương pháp này được sử dụng để đánh giá độ tin cậy của phát sinh loài dựa trên trình tự . Các giá trị bootstrap trong cây phát sinh gen chỉ ra rằng trong số 100, có bao nhiêu lần cùng một nhánh được quan sát khi lặp lại việc tạo cây phát sinh gen trên một tập hợp dữ liệu được lấy mẫu lại. |