Hướng dẫn when would you use bootstrap sampling? - khi nào bạn sẽ sử dụng lấy mẫu bootstrap?

Nói chung khi bạn đang đánh giá số liệu thống kê, có hai cách tiếp cận chính: hoặc bạn sử dụng một số giả định phân phối (một mô hình tạo cho dữ liệu của bạn) hoặc không. Bất cứ khi nào bạn có thể bạn sẽ đi với một mô hình thống kê. Nhưng thường thì các giả định phân phối có thể sai hoặc chúng không có sẵn cho bạn.

Nếu bạn đang suy luận về giá trị trung bình của dân số, hơn là bạn có thể dựa vào định lý giới hạn trung tâm và xây dựng một thống kê cho điều đó. Tương tự cho phương sai. Tuy nhiên, những gì về ước tính một cái gì đó không dựa vào các giả định chung? Bootstrap hoạt động cho bất kỳ loại thống kê nào, đây là nơi nó có sức mạnh của nó. Nó đơn giản và chỉ yêu cầu các giả định tối thiểu.

Và có một vấn đề khác xuất hiện trong thực tế. Ước tính có nghĩa là dựa vào định lý giới hạn trung tâm. Đúng là tập hợp các giả định của bạn chỉ yêu cầu dữ liệu phân tán độc lập và giống hệt nhau. Nhưng nó là một cái gì đó nhiều hơn. CLT hoạt động trên các mẫu lớn, nó hoạt động trong giới hạn. Đối với các mẫu nhỏ, nó có thể đi sai thường xuyên hơn. Và nếu phân phối của bạn bị sai lệch thì sao. Mặc dù đúng là CLT chỉ dựa vào I.I.D. Cỡ mẫu cần thiết để ước tính một giá trị trung bình trên phân phối sai lệch nói chung lớn hơn cho phân phối đối xứng.

Tôi thấy bootstrapping rất hữu ích trong hai tình huống chính: khi mẫu khá nhỏ (nhưng không nhỏ) và khi phân phối không sạch sẽ (giả sử đó là hỗn hợp của hai phân phối). Và rất hữu ích vì bạn có thể xây dựng không chỉ các ước tính về các tham số dân số mà còn ước tính khoảng tin cậy của giá trị p. Và bởi vì nó dễ áp ​​dụng, tôi cũng thấy đôi khi hữu ích ngay cả khi bạn giả sử một số mô hình. Làm song song có thể giúp bạn xem liệu có điều gì đó thực sự ma quái trong mẫu hoặc giả định của bạn nếu các suy luận tạo ra kết quả quá khác nhau, nó khiến bạn phải suy nghĩ hoặc đánh giá lại thiết lập của mình.

Cập nhật lần cuối vào ngày 8 tháng 8 năm 2019

Phương pháp Bootstrap là một kỹ thuật lấy mẫu lại được sử dụng để ước tính số liệu thống kê về dân số bằng cách lấy mẫu bộ dữ liệu với sự thay thế.

Nó có thể được sử dụng để ước tính số liệu thống kê tóm tắt như trung bình hoặc độ lệch chuẩn. Nó được sử dụng trong học máy ứng dụng để ước tính kỹ năng của các mô hình học máy khi đưa ra dự đoán về dữ liệu không được bao gồm trong dữ liệu đào tạo.

Một thuộc tính mong muốn của các kết quả từ việc ước tính kỹ năng mô hình học máy là kỹ năng ước tính có thể được trình bày với khoảng tin cậy, một tính năng không có sẵn với các phương pháp khác như xác thực chéo.

Trong hướng dẫn này, bạn sẽ khám phá phương pháp lấy mẫu Bootstrap để ước tính kỹ năng của các mô hình học máy trên dữ liệu chưa từng thấy.

Sau khi hoàn thành hướng dẫn này, bạn sẽ biết:

  • Phương pháp bootstrap liên quan đến việc lặp lại một bộ dữ liệu với sự thay thế.
  • Rằng khi sử dụng bootstrap, bạn phải chọn kích thước của mẫu và số lần lặp lại.
  • Scikit-LEARN cung cấp một chức năng mà bạn có thể sử dụng để lấy mẫu dữ liệu cho phương thức Bootstrap.

Khởi động dự án của bạn với số liệu thống kê sách mới của tôi cho học máy, bao gồm các hướng dẫn từng bước và các tệp mã nguồn Python cho tất cả các ví dụ. with my new book Statistics for Machine Learning, including step-by-step tutorials and the Python source code files for all examples.

Bắt đầu nào.

Hướng dẫn when would you use bootstrap sampling? - khi nào bạn sẽ sử dụng lấy mẫu bootstrap?

Giới thiệu nhẹ nhàng về Phương thức Bootstrap của John McSporran, một số quyền được bảo lưu.
Photo by john mcsporran, some rights reserved.

Tổng quan hướng dẫn

Hướng dẫn này được chia thành 4 phần; họ đang:

  1. Phương pháp bootstrap
  2. Cấu hình của bootstrap
  3. Ví dụ làm việc
  4. API bootstrap

Cần trợ giúp về số liệu thống kê cho học máy?

Tham gia khóa học gặp sự cố email 7 ngày miễn phí của tôi ngay bây giờ (với mã mẫu).

Nhấp để đăng ký và cũng nhận được phiên bản Ebook PDF miễn phí của khóa học.

Phương pháp bootstrap

Cấu hình của bootstrap

Ví dụ làm việc

API bootstrap

  1. Cần trợ giúp về số liệu thống kê cho học máy?
  2. Tham gia khóa học gặp sự cố email 7 ngày miễn phí của tôi ngay bây giờ (với mã mẫu).
    1. Nhấp để đăng ký và cũng nhận được phiên bản Ebook PDF miễn phí của khóa học.
    2. Phương pháp bootstrap là một kỹ thuật thống kê để ước tính số lượng về dân số bằng cách tính trung bình các ước tính từ nhiều mẫu dữ liệu nhỏ.

Điều quan trọng, các mẫu được xây dựng bằng cách vẽ các quan sát từ một mẫu dữ liệu lớn một lần và đưa chúng trở lại mẫu dữ liệu sau khi chúng được chọn. Điều này cho phép một quan sát nhất định được đưa vào một mẫu nhỏ nhất định nhiều lần. Cách tiếp cận này để lấy mẫu được gọi là lấy mẫu với thay thế.

  1. Quá trình xây dựng một mẫu có thể được tóm tắt như sau:
  2. Chọn kích thước của mẫu.
  3. Trong khi kích thước của mẫu nhỏ hơn kích thước đã chọn
    1. Chọn ngẫu nhiên một quan sát từ bộ dữ liệu
    2. Thêm nó vào mẫu
  4. Phương pháp bootstrap có thể được sử dụng để ước tính một lượng dân số. Điều này được thực hiện bằng cách liên tục lấy các mẫu nhỏ, tính toán thống kê và lấy trung bình của các số liệu thống kê được tính toán. Chúng tôi có thể tóm tắt quy trình này như sau:

Chọn một số mẫu bootstrap để thực hiện

Chọn một cỡ mẫu

Đối với mỗi mẫu bootstrap

Vẽ một mẫu với sự thay thế với kích thước đã chọn

Tính toán thống kê trên mẫu

  1. Quá trình xây dựng một mẫu có thể được tóm tắt như sau:
  2. Chọn kích thước của mẫu.
  3. Trong khi kích thước của mẫu nhỏ hơn kích thước đã chọn
    1. Chọn ngẫu nhiên một quan sát từ bộ dữ liệu
    2. Thêm nó vào mẫu
    3. Phương pháp bootstrap có thể được sử dụng để ước tính một lượng dân số. Điều này được thực hiện bằng cách liên tục lấy các mẫu nhỏ, tính toán thống kê và lấy trung bình của các số liệu thống kê được tính toán. Chúng tôi có thể tóm tắt quy trình này như sau:
  4. Chọn một số mẫu bootstrap để thực hiện

Chọn một cỡ mẫu

- Trang 72, Mô hình dự đoán ứng dụng, 2013.

Điều quan trọng, bất kỳ chuẩn bị dữ liệu nào trước khi lắp mô hình hoặc điều chỉnh siêu đồng tính của mô hình phải xảy ra trong vòng lặp trên mẫu dữ liệu. Điều này là để tránh rò rỉ dữ liệu trong đó kiến ​​thức về bộ dữ liệu kiểm tra được sử dụng để cải thiện mô hình. Điều này, đến lượt nó, có thể dẫn đến một ước tính lạc quan về kỹ năng mô hình.

Một tính năng hữu ích của phương pháp bootstrap là mẫu ước tính kết quả thường tạo thành phân phối Gaussian. Ngoài việc tóm tắt phân phối này với xu hướng trung tâm, các biện pháp phương sai có thể được đưa ra, chẳng hạn như độ lệch chuẩn và sai số tiêu chuẩn. Hơn nữa, khoảng tin cậy có thể được tính toán và sử dụng để ràng buộc ước tính được trình bày. Điều này rất hữu ích khi trình bày kỹ năng ước tính của một mô hình học máy.

Cấu hình của bootstrap

Có hai tham số phải được chọn khi thực hiện bootstrap: kích thước của mẫu và số lần lặp lại của quy trình để thực hiện.

Cỡ mẫu

Trong học máy, người ta thường sử dụng cỡ mẫu giống như bộ dữ liệu gốc.

Mẫu Bootstrap có cùng kích thước với bộ dữ liệu gốc. Do đó, một số mẫu sẽ được biểu diễn nhiều lần trong mẫu bootstrap trong khi các mẫu khác sẽ không được chọn.

- Trang 72, Mô hình dự đoán ứng dụng, 2013.

Nếu bộ dữ liệu là rất lớn và hiệu quả tính toán là một vấn đề, các mẫu nhỏ hơn có thể được sử dụng, chẳng hạn như 50% hoặc 80% kích thước của bộ dữ liệu.

Sự lặp lại

Số lượng lặp lại phải đủ lớn để đảm bảo rằng các số liệu thống kê có ý nghĩa, chẳng hạn như giá trị trung bình, độ lệch chuẩn và lỗi tiêu chuẩn có thể được tính toán trên mẫu.

Tối thiểu có thể là 20 hoặc 30 lần lặp lại. Các giá trị nhỏ hơn có thể được sử dụng sẽ thêm phương sai vào số liệu thống kê được tính toán trên mẫu của các giá trị ước tính.

Lý tưởng nhất, mẫu ước tính sẽ lớn nhất có thể với tài nguyên thời gian, với hàng trăm hoặc hàng ngàn lần lặp lại.

Ví dụ làm việc

Chúng ta có thể làm cho thủ tục bootstrap bê tông với một ví dụ nhỏ làm việc. Chúng tôi sẽ làm việc thông qua một lần lặp của thủ tục.

Hãy tưởng tượng chúng ta có một bộ dữ liệu với 6 quan sát:

[0,1, 0,2, 0,3, 0,4, 0,5, 0,6]

Bước đầu tiên là chọn kích thước của mẫu. Ở đây, chúng tôi sẽ sử dụng 4.

Tiếp theo, chúng ta phải chọn ngẫu nhiên quan sát đầu tiên từ bộ dữ liệu. Hãy để chọn 0,2.

Quan sát này được trả lại cho bộ dữ liệu và chúng tôi lặp lại bước này 3 lần nữa.

Mẫu = [0,2, 0,1, 0,2, 0,6]

Bây giờ chúng tôi có mẫu dữ liệu của chúng tôi. Ví dụ có chủ đích chứng minh rằng cùng một giá trị có thể xuất hiện bằng không, một hoặc nhiều lần trong mẫu. Ở đây quan sát 0,2 xuất hiện hai lần.

Một ước tính sau đó có thể được tính toán trên mẫu được vẽ.

Thống kê = Tính toán ([0,2, 0,1, 0,2, 0,6])

Những quan sát không được chọn cho mẫu có thể được sử dụng làm từ các quan sát mẫu.

Trong trường hợp đánh giá mô hình học máy, mô hình phù hợp với mẫu được vẽ và được đánh giá trên mẫu ngoài túi.

Train = [0,2, 0,1, 0,2, 0,6]

test = [0,3, 0,4, 0,5]

model = fit (tàu)

Thống kê = Đánh giá (Mô hình, Kiểm tra)

Điều đó kết thúc một lần lặp lại của thủ tục. Nó có thể được lặp lại 30 lần trở lên để đưa ra một mẫu số liệu thống kê được tính toán.

Mẫu thống kê này sau đó có thể được tóm tắt bằng cách tính một giá trị trung bình, độ lệch chuẩn hoặc các giá trị tóm tắt khác để đưa ra ước tính có thể sử dụng cuối cùng về thống kê.

API bootstrap

Chúng tôi không phải thực hiện phương pháp bootstrap theo cách thủ công. Thư viện Scikit-LEARN cung cấp một triển khai sẽ tạo ra một mẫu bootstrap duy nhất của bộ dữ liệu.

Có thể sử dụng chức năng respress () scikit-learn. Nó được coi là đối số của mảng dữ liệu, cho dù có lấy mẫu có thay thế hay không, kích thước của mẫu và hạt giống cho trình tạo số giả được sử dụng trước khi lấy mẫu.

Ví dụ: chúng ta có thể tạo một bootstrap tạo ra một mẫu với sự thay thế với 4 quan sát và sử dụng giá trị 1 cho trình tạo số giả.

boot=resample(data,replace=True,n_samples=4,random_state=1)=resample(data,replace=True,n_samples=4,random_state=1)

Thật không may, API không bao gồm bất kỳ cơ chế nào để dễ dàng thu thập các quan sát ngoài túi có thể được sử dụng như một bộ thử nghiệm để đánh giá một mô hình phù hợp.

Ít nhất là trong trường hợp đơn biến, chúng ta có thể thu thập các quan sát ngoài túi bằng cách sử dụng một danh sách Python đơn giản.

# Quan sát túi

OOB = [xforxindata ifxnotinboot]=[xforxindata ifxnotinboot]

Chúng ta có thể buộc tất cả những điều này cùng với bộ dữ liệu nhỏ của chúng ta được sử dụng trong ví dụ hoạt động của phần trước.

# scikit-learn bootstrap

từ sklearn.utils nhập khẩu lại mẫusklearn.utils import resample

# Mẫu dữ liệu

data=[0.1,0.2,0.3,0.4,0.5,0.6]=[0.1,0.2,0.3,0.4,0.5, 0.6]

# Chuẩn bị mẫu bootstrap

boot=resample(data,replace=True,n_samples=4,random_state=1)=resample(data,replace=True,n_samples=4,random_state=1)

in ('Bootstrap Mẫu: %s' %Boot)('Bootstrap Sample: %s'%boot)

# Quan sát túi

OOB = [xforxindata ifxnotinboot]=[xforxindata ifxnotinboot]

In ('Mẫu OOB: %S' %OOB)('OOB Sample: %s'%oob)

Chạy ví dụ in các quan sát trong mẫu bootstrap và những quan sát đó trong mẫu ngoài túi

Mẫu bootstrap: [0,6, 0,4, 0,5, 0,1]

Mẫu OOB: [0,2, 0,3]

Phần mở rộng

Phần này liệt kê một số ý tưởng để mở rộng hướng dẫn mà bạn có thể muốn khám phá.

  • Liệt kê 3 số liệu thống kê tóm tắt mà bạn có thể ước tính bằng phương pháp Bootstrap.
  • Tìm 3 bài nghiên cứu sử dụng phương pháp bootstrap để đánh giá hiệu suất của các mô hình học máy.
  • Thực hiện chức năng của riêng bạn để tạo một mẫu và một mẫu ngoài túi với phương pháp bootstrap.

Nếu bạn khám phá bất kỳ phần mở rộng nào trong số này, tôi sẽ rất thích biết.

Đọc thêm

Phần này cung cấp nhiều tài nguyên hơn về chủ đề nếu bạn đang muốn đi sâu hơn.

Bài viết

  • Cách tính toán khoảng tin cậy bootstrap cho kết quả học máy trong Python

Sách

  • Mô hình dự đoán ứng dụng, 2013.
  • Giới thiệu về học tập thống kê, 2013.
  • Giới thiệu về Bootstrap, 1994.

API

  • sklearn.utils.resample () API
  • sklearn.model_selection: API lựa chọn mô hình

Bài viết

  • Sở lại (Thống kê) trên Wikipedia
  • Bootstrapping (thống kê) trên wikipedia
  • Quy tắc ngón tay cái cho số lượng mẫu bootstrap, đánh giá chéo.

Bản tóm tắt

Trong hướng dẫn này, bạn đã phát hiện ra phương pháp lấy mẫu Bootstrap để ước tính kỹ năng của các mô hình học máy trên dữ liệu chưa từng thấy.

Cụ thể, bạn đã học được:

  • Phương pháp bootstrap liên quan đến việc lặp lại một bộ dữ liệu với sự thay thế.
  • Rằng khi sử dụng bootstrap, bạn phải chọn kích thước của mẫu và số lần lặp lại.
  • Scikit-LEARN cung cấp một chức năng mà bạn có thể sử dụng để lấy mẫu dữ liệu cho phương thức Bootstrap.

Bạn có câu hỏi nào không? Đặt câu hỏi của bạn trong các ý kiến ​​dưới đây và tôi sẽ cố gắng hết sức để trả lời.
Ask your questions in the comments below and I will do my best to answer.

Nhận một xử lý về số liệu thống kê cho học máy!

Hướng dẫn when would you use bootstrap sampling? - khi nào bạn sẽ sử dụng lấy mẫu bootstrap?

Phát triển sự hiểu biết làm việc về số liệu thống kê

... bằng cách viết dòng mã trong Python

Khám phá cách trong ebook mới của tôi: Phương pháp thống kê cho học máy
Statistical Methods for Machine Learning

Nó cung cấp các hướng dẫn tự học về các chủ đề như: các bài kiểm tra giả thuyết, tương quan, thống kê không tham số, lấy mẫu lại và nhiều hơn nữa ...self-study tutorials on topics like:
Hypothesis Tests, Correlation, Nonparametric Stats, Resampling, and much more...

Khám phá cách chuyển đổi dữ liệu thành kiến ​​thức

Bỏ qua các học giả. Chỉ là kết quả.

Xem những gì bên trong

Khi nào tôi nên sử dụng mẫu bootstrap?

Phương pháp Bootstrap là một kỹ thuật lấy mẫu lại được sử dụng để ước tính số liệu thống kê về dân số bằng cách lấy mẫu bộ dữ liệu với sự thay thế.Nó có thể được sử dụng để ước tính số liệu thống kê tóm tắt như trung bình hoặc độ lệch chuẩn.to estimate statistics on a population by sampling a dataset with replacement. It can be used to estimate summary statistics such as the mean or standard deviation.

Khi nào bạn sẽ sử dụng bài kiểm tra giả thuyết bootstrap?

Các thử nghiệm bootstrap rất hữu ích khi giả thuyết thay thế không được chỉ định rõ.Trong trường hợp có giả thuyết thay thế tham số, khả năng hoặc phương pháp Bayes có thể thích hợp hơn.when the alternative hypothesis is not well specified. In cases where there is parametric alternative hypothesis, likelihood or Bayesian methods might be preferable.

Khi nào bạn không nên sử dụng bootstrapping?

Nó không thực hiện hiệu chỉnh sai lệch, vv Không có cách chữa trị cho cỡ mẫu nhỏ.Bootstrap rất mạnh mẽ, nhưng nó không phải là phép thuật - nó chỉ có thể hoạt động với thông tin có sẵn trong mẫu ban đầu.Nếu các mẫu không đại diện cho toàn bộ dân số, thì bootstrap sẽ không chính xác lắm.If the samples are not representative of the whole population, then bootstrap will not be very accurate.

Bootstrap trong lấy mẫu là gì?

Trong thống kê, lấy mẫu bootstrap là một phương pháp liên quan đến việc vẽ dữ liệu mẫu nhiều lần bằng cách thay thế từ nguồn dữ liệu để ước tính tham số dân số.a method that involves drawing of sample data repeatedly with replacement from a data source to estimate a population parameter.