Giải thích khoảng tin cậy Bootstrap

Nếu bạn là nhà khoa học dữ liệu, nhà phân tích dữ liệu, giám đốc sản phẩm trong một công ty dựa trên dữ liệu, bạn sẽ thử nghiệm sản phẩm của mình rất nhiều và thường thì bạn thực hiện nhiều bài kiểm tra AB

Giả sử bạn có một bài kiểm tra AB với các nhóm kiểm soát và điều trị. Khi phân tích kết quả, bạn so sánh số lượng đơn đặt hàng/lượt truy cập/lượt xem trung bình (hoặc bất kỳ số liệu nào khác) trong các nhóm thử nghiệm. Rõ ràng, bạn có thể tính giá trị trung bình của một số liệu, thậm chí bạn có thể nói bằng cách sử dụng kiểm tra t và giá trị p nếu có sự khác biệt có ý nghĩa thống kê giữa hai giá trị trung bình. Nhưng thông thường, họ nói rằng đừng chỉ nhìn vào giá trị p, hãy nhìn vào khoảng tin cậy

Trong bài đăng trên blog này, chúng tôi khám phá cách tính khoảng tin cậy bằng cách sử dụng bootstrapping. Bootstrapping là một phương pháp hay để ước tính khoảng tin cậy vì nó không dựa vào bất kỳ giả định nào về phân phối dữ liệu (ví dụ như so với kiểm tra t Welch phổ biến) và nó khá dễ dàng để bạn tự thực hiện (tôi chia sẻ một liên kết đến cách triển khai của mình bên dưới

Định nghĩa và nguyên tắc Bootstrap

Bootstrap là một phương pháp để ước tính các lỗi tiêu chuẩn và tính toán khoảng tin cậy. Bootstrapping bắt đầu vào năm 1970 bởi ;

Tuy nhiên, mặc dù có nhiều biến thể, nhưng tất cả các bước bootstrap đều như sau

  1. Lấy mẫu dữ liệu x1,x2,…,xn rút ra từ phân phối F
  2. Xác định u – thống kê được tính toán từ mẫu (trung bình, trung vị, v.v.)
  3. Mẫu x*1, x*2,. . . , x*n với sự thay thế từ mẫu dữ liệu gốc. Hãy để nó là F* – phân phối theo kinh nghiệm. Lặp lại n lần (n là số lần lặp bootstrap)
  4. Tính u* –  thống kê được tính từ mỗi mẫu lại

Sau đó, nguyên tắc bootstrap nói rằng

  1. Phân phối theo kinh nghiệm từ bootstraps xấp xỉ bằng phân phối dữ liệu mẫu. F* ≈ F
  2. Biến thể của thống kê được tính toán từ mẫu u được tính gần đúng bởi biến thể của thống kê được tính toán từ mỗi mẫu lại u*. Vì vậy, thống kê được tính toán u* từ bootstrapping là một đại diện tốt cho thống kê dữ liệu mẫu

Như đã đề cập, bootstrap có thể được áp dụng cho các mục tiêu khác nhau

  • Ước tính khoảng tin cậy
  • kiểm định giả thuyết
  • loại bỏ thiên vị

Mỗi chủ đề xứng đáng có một bài đăng riêng biệt và hôm nay chúng tôi chỉ tập trung vào khởi động khoảng tin cậy

Các phương pháp cho khoảng tin cậy Bootstrapping

Khi tôi nghiên cứu chủ đề này, tôi không tìm thấy một nguồn duy nhất nào có tất cả các phương thức bootstraps cùng một lúc, mỗi tài liệu tham khảo đều có các loại riêng. Những cái phổ biến nhất được trình bày dưới đây

  1. Bootstrapping theo kinh nghiệm

Tóm lại, phương pháp này xấp xỉ sự khác biệt giữa phương tiện khởi động và giá trị trung bình mẫu

Hãy xem xét một ví dụ (nó cũng sẽ tiếp tục cho các phương pháp khác). ước tính giá trị trung bình μ của phân phối cơ bản và đưa ra khoảng tin cậy bootstrap 80%

Bootstrapping theo kinh nghiệm nói

  • Bắt đầu lấy mẫu lại bằng cách thay thế từ dữ liệu gốc n lần
  • Đối với mỗi bootstrap tính trung bình x*.  
  • Tính toán δ* = x* − x cho mỗi mẫu bootstrap (x là giá trị trung bình của dữ liệu gốc), sắp xếp chúng từ nhỏ nhất đến lớn nhất.  
  • Chọn δ. 1 là phân vị thứ 90, δ. 9 là phân vị thứ 10 của danh sách đã sắp xếp của δ*, cung cấp khoảng tin cậy 80% cho [x−δ. 1, x−δ. 9]

Cuốn sách “Tất cả các thống kê” của Wasserman cung cấp ký hiệu toán học sau đây cho bootstrap theo kinh nghiệm

Giải thích khoảng tin cậy Bootstrap

trong đó x là giá trị trung bình của dữ liệu gốc và x* là phương tiện bootstrap

2. bootstrap phần trăm

Thay vì tính toán sự khác biệt δ*, phương pháp phần trăm bootstrap sử dụng phân phối thống kê mẫu bootstrap như một xấp xỉ trực tiếp của thống kê mẫu dữ liệu

Đối với bootstrap Percentile

  • Bắt đầu lấy mẫu lại bằng cách thay thế từ dữ liệu gốc n lần
  • Đối với mỗi bootstrap, hãy tính giá trị trung bình x*, sắp xếp chúng từ nhỏ nhất đến lớn nhất.  
  • Chọn x*. 1 là phân vị thứ 10, x*. 9 là phân vị thứ 90 của danh sách được sắp xếp của x*, cung cấp khoảng tin cậy 80% cho [x*. 1, x*. 9]

Hay nói cách khác

Giải thích khoảng tin cậy Bootstrap

Phương pháp phân vị bootstrap khá đơn giản, nhưng nó phụ thuộc vào phân phối bootstrap của x* dựa trên một mẫu cụ thể là một xấp xỉ tốt với phân phối thực của x (vì lý do đó, nguồn này khuyên không nên sử dụng bootstrap phân vị)

3. bootstrap bình thường

Thay vì lấy phần trăm của phương tiện khởi động, phương pháp khởi động thông thường sẽ tính toán khoảng tin cậy cho các phương tiện khởi động này

  • Bắt đầu lấy mẫu lại bằng cách thay thế từ dữ liệu gốc n lần
  • Đối với mỗi bootstrap tính trung bình x*
  • Tính khoảng tin cậy 80% cho mảng x* bằng cách sử dụng ví dụ: kiểm tra t Student

Giải thích khoảng tin cậy Bootstrap

trong đó x* là giá trị trung bình mẫu từ phương tiện bootstrap, se là lỗi tiêu chuẩn của phương tiện bootstrap, z* là giá trị tới hạn (được tìm thấy từ bảng phân phối của CDF thông thường)

Khi tôi so sánh phương pháp này với các phương pháp khác, CI của nó luôn rất hẹp so với các phương pháp khác khiến tôi rất băn khoăn. Theo tôi hiểu, đó là do định nghĩa dựa nhiều vào giả định về phân phối dữ liệu bình thường

Một thời gian sau, tôi tình cờ thấy cách diễn đạt hơi khác về phương pháp này trong cuốn “Tất cả các thống kê” của Wasserman. Tính toán khác nhau chỉ bởi một tham số, nhưng nó mang lại sự khác biệt rất lớn

4. Bootstrap khoảng thời gian bình thường

Bootstrap khoảng thời gian bình thường lặp lại tất cả các bước của bootstrap bình thường, nhưng sử dụng công thức sau cho CI

Giải thích khoảng tin cậy Bootstrap

trong đó se_boot là ước tính bootstrap của lỗi tiêu chuẩn

Khoảng này không chính xác trừ khi phân phối của x* gần với Bình thường

Về cơ bản, công thức ở đây không có chia cho căn bậc hai của n. Tôi chưa tìm thấy lời giải thích tại sao nó được thực hiện theo cách đó. Nếu bạn có bất kỳ ý tưởng, xin vui lòng, chia sẻ chúng trong các ý kiến

5. Bootstrap tham số

Bootstrap tham số rất gần với cách tiếp cận thực nghiệm, điểm khác biệt duy nhất là ở nguồn của mẫu bootstrap. Đối với bootstrap tham số, chúng tôi tạo mẫu bootstrap từ phân phối tham số hóa. Nó thường được sử dụng để tính toán hiệu quả phân bố hậu nghiệm Bayes, không dùng cho phân tích thực nghiệm nên tôi sẽ không đi sâu vào chi tiết ở đây

phương pháp so sánh

Như đã hứa trước đó, tại đây bạn có thể tìm thấy triển khai Python của tất cả các phương thức. Mục tiêu là ước tính khoảng tin cậy bootstrap 95% cho giá trị trung bình của chỉ số mục tiêu. Tôi đã chơi với các phương thức bootstrap, số lượng mẫu bootstrap và kích thước mẫu của chính dữ liệu

Câu hỏi chính tôi có. phương pháp bootstrap nào sẽ hiển thị kết quả đáng tin cậy hơn. Trước hết, bootstrap bình thường rõ ràng tạo ra CI quá hẹp (vì các giả định về tính quy tắc). 3 phương pháp khác thường gần nhau với mẫu đủ lớn. Ưu điểm của các loại phần trăm và theo kinh nghiệm là chúng cung cấp các khoảng thời gian khác nhau từ bên trái và bên phải (ngược lại với bootstrap khoảng thời gian bình thường). Thông thường, nó tốt hơn vì nó chiếm phần phân phối dữ liệu. Như bạn có thể thấy trên biểu đồ bên dưới,  các khoảng thời gian cho phân vị phần trăm và bootstraps theo kinh nghiệm được chào đón từ phía bên trái – phía mà ý nghĩa dân số nằm ở đó.  

Giải thích khoảng tin cậy Bootstrap
CI bootstrap bình thường hẹp hơn nhiều so với các phương pháp khác
[“ci” là khoảng tin cậy cho dữ liệu mẫu được ước tính bằng bài kiểm tra t của sinh viên]

Lựa chọn giữa phương pháp phân vị và phương pháp thực nghiệm, tôi thiên về phương pháp phân vị hơn vì tính đơn giản của nó. Kết quả của nó rất gần với phương pháp thực nghiệm, đồng thời yêu cầu tính toán ít hơn một bước

Một câu hỏi quan trọng khác. có bao nhiêu lần lấy mẫu bootstrap để làm. Nó phụ thuộc vào kích thước dữ liệu. Nếu có ít hơn 1000 điểm dữ liệu, thì việc lấy số bootstrap không quá hai lần ít hơn kích thước dữ liệu (nếu có 400 mẫu, sử dụng không quá 200 bootstrap – tăng thêm không mang lại bất kỳ cải tiến nào). Nếu bạn có nhiều dữ liệu hơn, số lượng bootstrap từ 100 đến 500 là đủ (số lượng cao hơn thường sẽ không làm tăng độ chính xác của CI)

Thay cho kết luận

Một lưu ý quan trọng mà người ta nên nhớ khi sử dụng bootstrapping là nó không thể cải thiện ước tính điểm, nghĩa là chất lượng của bootstrapping phụ thuộc vào chất lượng của dữ liệu được thu thập. Nếu dữ liệu mẫu bị sai lệch và không thể hiện tốt dữ liệu dân số, thì điều tương tự cũng sẽ xảy ra với các ước tính bootstrap. Vì vậy, hãy luôn nhớ rằng dữ liệu được thu thập trong quá trình thử nghiệm phải là dữ liệu gần đúng của toàn bộ dữ liệu dân số

Trong bài đăng trên blog này, tôi đã mô tả và so sánh các phương thức bootstrap cơ bản. Trên thực tế, còn tồn tại nhiều phương thức khác (như Poisson, Gaussian, Block, v.v.). Ngoài ra, bootstrap không chỉ về khoảng tin cậy, nó được sử dụng để ước tính sai số chuẩn của trung vị, phần trăm 75%, kiểm tra giả thuyết, v.v. Tất cả chúng đều là những chủ đề hay cho các bài đăng trên blog tiếp theo 🙂

Khoảng tin cậy bootstrap có nghĩa là gì?

tạo nhiều mẫu lại (có thay thế) từ một tập hợp các quan sát và tính toán mức độ ảnh hưởng quan tâm trên mỗi mẫu lại này . Sau đó, các mẫu khởi động lại của kích thước hiệu ứng có thể được sử dụng để xác định 95% CI. Với máy tính, chúng ta có thể thực hiện 5000 mẫu lại rất dễ dàng.

Làm thế nào để đọc khoảng tin cậy bootstrap?

Tính toán δ* = x* − x cho mỗi mẫu bootstrap (x là giá trị trung bình của dữ liệu gốc), sắp xếp chúng từ nhỏ nhất đến lớn nhất. Chọn δ. 1 là phân vị thứ 90, δ. 9 là phân vị thứ 10 của danh sách đã sắp xếp của δ*, cung cấp khoảng tin cậy 80% cho [x−δ.

Làm cách nào để giải thích kết quả bootstrap?

Ý tưởng trực quan đằng sau bootstrap là đây. nếu tập dữ liệu ban đầu của bạn được lấy ngẫu nhiên từ toàn bộ tổng thể, thì nếu bạn lấy mẫu con từ mẫu (có thay thế), thì điều đó cũng đại diện cho một lần rút ra từ toàn bộ tổng thể. You can then estimate your model on all of those bootstrapped datasets.

Bạn diễn giải khoảng tin cậy 95% cho giá trị trung bình như thế nào?

Khoảng tin cậy (CI) 95% của giá trị trung bình là một phạm vi có số trên và số dưới được tính từ một mẫu . Bởi vì giá trị trung bình tổng thể thực sự là không xác định, phạm vi này mô tả các giá trị có thể có mà giá trị trung bình có thể là.