Khởi động scipy

Lấy mẫu lại Bootstrap được sử dụng để hiểu khoảng tin cậy của các ước tính mẫu. Hàm này trả về các phiên bản của tập dữ liệu được lấy mẫu lại với sự thay thế (“khởi động trường hợp”). Tất cả những điều này có thể được chạy thông qua một hàm hoặc thống kê để tạo ra một phân phối các giá trị mà sau đó có thể được sử dụng để tìm khoảng tin cậy

thông số dữ liệu

mảng N-D. Việc lấy mẫu lại bootstrap sẽ được thực hiện trên chỉ mục đầu tiên, vì vậy chỉ mục đầu tiên sẽ truy cập thông tin liên quan để được khởi động

bootnum , không bắt buộc

Số lượng mẫu khởi động lại

mẫu , không bắt buộc

Số lượng mẫu trong mỗi mẫu lại. Mặc định đặt mẫu cho số lượng điểm dữ liệu

bootfunc , không bắt buộc

Chức năng giảm dữ liệu được lấy mẫu lại. Mỗi mẫu khởi động lại sẽ được đưa qua chức năng này và kết quả trả về. Nếu , dữ liệu bootstrapped sẽ được trả về

khởi động lại

Nếu bootfunc là Không, thì mỗi hàng là một mẫu dữ liệu khởi động lại. Nếu bootfunc được chỉ định, thì các cột sẽ tương ứng với đầu ra của bootfunc

Thông thường, nỗ lực xác định các đặc điểm của dân số bị hạn chế bởi thực tế là chúng ta phải dựa vào một mẫu để xác định các đặc điểm của dân số đó

Khi phân tích dữ liệu, chúng tôi muốn có thể ước tính phân phối lấy mẫu để thực hiện kiểm tra giả thuyết và tính toán khoảng tin cậy

Một cách để cố gắng giải quyết vấn đề này là một phương pháp gọi là bootstrapping, theo đó kết quả cho một tập hợp rộng hơn được suy ra từ việc lấy mẫu lặp lại

Chẳng hạn, để xác định xem một mẫu khác của cùng một quần thể có mang lại kết quả tương tự hay không, lý tưởng nhất là lấy các mẫu dữ liệu mới. Tuy nhiên, do điều này có thể không thực hiện được — một giải pháp thay thế là lấy mẫu ngẫu nhiên từ dữ liệu hiện có

Trong ví dụ này, chúng ta sẽ xem xét sự phân bổ tỷ lệ trung bình hàng ngày (ADR) giữa một loạt khách hàng của khách sạn. Cụ thể, một tập hợp con các số liệu ADR được sử dụng cùng với kỹ thuật bootstrapping để phân tích phân phối dự kiến ​​sẽ trông như thế nào với cỡ mẫu lớn hơn

Khi tạo mẫu bằng bootstrapping, điều này được thực hiện bằng cách thay thế. Điều này có nghĩa là có thể chọn cùng một yếu tố từ mẫu nhiều lần

Bootstrapping bằng Python

Sử dụng mẫu 300 giá trị ADR cho khách hàng khách sạn được lấy mẫu ngẫu nhiên từ bộ dữ liệu do Antonio, Almeida và Nunes cung cấp, chúng tôi sẽ tạo 5.000 mẫu bootstrap có kích thước 300

Cụ thể, numpy được sử dụng như bên dưới để tạo 300 mẫu có thay thế và vòng lặp for được sử dụng để tạo 5.000 lần lặp của 300 mẫu cùng một lúc

my_samples = []
for _ in range(5000):
x = np.random.choice(sample, size=300, replace=True)
my_samples.append(x.mean())

Đây là biểu đồ của các mẫu khởi động

Nguồn. Đầu ra máy tính xách tay Jupyter

Đây là biểu đồ của 300 mẫu ban đầu được chọn ngẫu nhiên

Nguồn. Đầu ra máy tính xách tay Jupyter

Chúng ta có thể thấy rằng mẫu ban đầu bị lệch dương đáng kể. Tuy nhiên, biểu đồ của các mẫu khởi động gần đúng với phân phối chuẩn - phù hợp với giả định của định lý giới hạn trung tâm rằng khi kích thước mẫu tăng lên, phân phối dữ liệu cơ bản có thể được dự kiến ​​​​sẽ xấp xỉ phân phối bình thường bất kể hình dạng của phân phối ban đầu

Công dụng chính của bootstrapping là ước tính khoảng tin cậy của trung bình tổng thể. Chẳng hạn, khoảng tin cậy 95% có nghĩa là chúng tôi tin tưởng 95% rằng giá trị trung bình nằm trong một phạm vi cụ thể

Khoảng tin cậy cho mẫu khởi động như sau

>>> import statsmodels.stats.api as sms
>>> sms.DescrStatsW(my_samples).tconfint_mean()
(94.28205060553655, 94.4777529411301)

Theo như trên, chúng ta có thể tin tưởng 95% rằng trung bình dân số thực sự nằm trong khoảng từ 94. 28 và 94. 47

Bootstrapping sử dụng R

Sử dụng thư viện khởi động trong R, có thể tiến hành một dạng phân tích tương tự

Một lần nữa, giả sử rằng chỉ có 300 mẫu có sẵn

adr<-sample(adr, 300)

Sử dụng lấy mẫu ngẫu nhiên có thay thế, 5.000 bản sao của 300 mẫu này được tạo ra

x<-sample(adr, 300, replace = TRUE, prob = NULL)> mean_results <- boot(x, boot_mean, R = 5000)
ORDINARY NONPARAMETRIC BOOTSTRAP
Call:
boot(data = x, statistic = boot_mean, R = 5000)
Bootstrap Statistics :
original bias std. error
t1* 93.00084 -0.02135855 2.030718

Ngoài ra, đây là các phép tính khoảng tin cậy

> boot.ci(mean_results)
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 5000 bootstrap replicates
CALL :
boot.ci(boot.out = mean_results)
Intervals :
Level Normal Basic
95% (89.04, 97.00 ) (88.98, 96.82 )
Level Percentile BCa
95% (89.18, 97.02 ) (89.36, 97.32 )
Calculations and Intervals on Original Scale

Một biểu đồ của các mẫu khởi động được tạo ra

Nguồn. Đầu ra RStudio

Khi chạy trong R, chúng ta có thể thấy rằng khoảng tin cậy rộng hơn so với khoảng tin cậy thu được khi chạy bằng Python. Mặc dù lý do cho điều này là không rõ ràng, nhưng phân tích vẫn chỉ ra rằng giá trị trung bình của mẫu thu được là đại diện cho toàn bộ dân số và không có khả năng thu được một cách tình cờ

Hạn chế

Mặc dù bootstrapping có thể là một công cụ khá hữu ích để suy ra các đặc điểm dân số từ một mẫu, nhưng một lỗi phổ biến là cho rằng bootstrapping là cách chữa trị cho các cỡ mẫu nhỏ.

Như đã giải thích trên Xác thực chéo, cỡ mẫu nhỏ có thể dễ bay hơi hơn và dễ bị sai lệch đáng kể so với cỡ mẫu của tổng thể rộng hơn. Do đó, người ta phải đảm bảo rằng mẫu được phân tích đủ lớn để nắm bắt đầy đủ các đặc điểm dân số

Hơn nữa, một vấn đề khác với kích thước mẫu nhỏ là bản thân phân phối bootstrap có thể sẽ hẹp hơn - điều này sẽ dẫn đến khoảng tin cậy hẹp hơn có thể sai lệch đáng kể so với giá trị thực

Phần kết luận

Trong bài viết này, bạn đã thấy

  • Cách bootstrapping có thể cho phép chúng tôi ước tính phân phối lấy mẫu bằng cách lấy mẫu lặp lại
  • Tầm quan trọng của việc thay thế khi lấy mẫu ngẫu nhiên
  • Cách tạo mẫu bootstrap bằng Python và R
  • Hạn chế của bootstrapping và tại sao kích thước mẫu lớn hơn lại thích hợp hơn

Rất cảm ơn vì đã dành thời gian cho bạn và mọi câu hỏi hoặc phản hồi đều được đánh giá cao. Bạn có thể tìm thêm nội dung khoa học dữ liệu của tôi tại michael-grogan. com

Người giới thiệu
  • Antonio, Almeida, Nunes (2019). Bộ dữ liệu nhu cầu đặt phòng khách sạn
  • Xác thực chéo. Bootstrap có thể được coi là “phương thuốc” cho cỡ mẫu nhỏ không?
  • tài liệu. scipy. tổ chức. scipy. số liệu thống kê. khởi động
  • Julien Beaulieu. Phân phối lấy mẫu
  • Thống kê của Jim. Giới thiệu về Bootstrapping trong Thống kê với một ví dụ
  • University of Toronto Coders - Kỹ thuật lấy mẫu lại trong R. Bootstrapping và kiểm tra hoán vị

từ chối trách nhiệm. Bài báo này được viết trên cơ sở “nguyên trạng” và không có bảo hành. Nó được viết với mục đích cung cấp cái nhìn tổng quan về các khái niệm khoa học dữ liệu và không nên được hiểu là lời khuyên chuyên môn. Những phát hiện và giải thích trong bài viết này là của tác giả và không được xác nhận bởi hoặc liên kết với bất kỳ bên thứ ba nào được đề cập trong bài viết này. Tác giả không có mối quan hệ với bất kỳ bên thứ ba nào được đề cập trong bài viết này

Bootstrapping có ý nghĩa gì đối với Python?

Trong thống kê và học máy, bootstrapping là kỹ thuật lấy mẫu lại liên quan đến việc lấy mẫu lặp đi lặp lại từ dữ liệu nguồn của chúng tôi có thay thế, thường để ước tính tham số tổng thể. By “with replacement”, we mean that the same data point may be included in our resampled dataset multiple times.

Bootstrapping được sử dụng để làm gì?

Bootstrapping là một quy trình thống kê lấy mẫu lại một tập dữ liệu để tạo nhiều mẫu mô phỏng . Quá trình này cho phép bạn tính toán các lỗi tiêu chuẩn, xây dựng khoảng tin cậy và thực hiện kiểm tra giả thuyết cho nhiều loại thống kê mẫu.

Khoảng tin cậy bootstrapping là gì?

Định nghĩa và nguyên tắc Bootstrap . Bootstrapping bắt đầu vào năm 1970 bởi Bradley Efron; . a method for estimating standard errors and computing confidence intervals. Bootstrapping started in 1970th by Bradley Efron; it has already existed for more than 40 years, so many different types and methods of bootstrapping were developed since then.

Bootstrapping trong học máy là gì?

Đặc biệt hữu ích để đánh giá chất lượng của một mô hình máy học, bootstrapping là một phương pháp suy luận kết quả cho một tập hợp từ các kết quả được tìm thấy trên một tập hợp các mẫu ngẫu nhiên nhỏ hơn của tập hợp, . .