Hướng dẫn how do you bootstrap in python? - làm thế nào để bạn bootstrap trong python?


Bootstrapping là một phương pháp có thể được sử dụng để xây dựng khoảng tin cậy cho một thống kê khi kích thước mẫu nhỏ và không rõ phân phối cơ bản. is a method that can be used to construct a confidence interval for a statistic when the sample size is small and the underlying distribution is unknown.

Quy trình cơ bản cho bootstrapping như sau:

  • Lấy k các mẫu lặp lại với sự thay thế từ một bộ dữ liệu nhất định.
  • Đối với mỗi mẫu, hãy tính toán thống kê mà bạn quan tâm.
  • Điều này dẫn đến & nbsp; k các ước tính khác nhau cho một thống kê nhất định, sau đó bạn có thể sử dụng để tính khoảng tin cậy cho thống kê.

Cách dễ nhất để thực hiện bootstrapping trong Python là sử dụng chức năng bootstrap từ thư viện SCIPY.SciPy library.

Ví dụ sau đây cho thấy cách sử dụng chức năng này trong thực tế.

Ví dụ: Thực hiện bootstrapping trong Python

Giả sử chúng ta tạo một bộ dữ liệu trong Python chứa 15 giá trị:

#define array of data values
data = [7, 9, 10, 10, 12, 14, 15, 16, 16, 17, 19, 20, 21, 21, 23]

Chúng ta có thể sử dụng mã sau để tính khoảng tin cậy Bootstrapping 95% cho giá trị trung bình:

from scipy.stats import bootstrap
import numpy as np

#convert array to sequence
data = (data,)

#calculate 95% bootstrapped confidence interval for median
bootstrap_ci = bootstrap(data, np.median, confidence_level=0.95,
                         random_state=1, method='percentile')

#view 95% boostrapped confidence interval
print(bootstrap_ci.confidence_interval)

ConfidenceInterval(low=10.0, high=20.0)

Khoảng tin cậy khởi động 95% cho trung bình hóa ra là [10.0, 20.0].[10.0, 20.0].

Ở đây, những gì chức năng boostrap () thực sự đã làm dưới mui xe: boostrap() function actually did under the hood:

  • Hàm bootstrap () tạo ra 9,999 mẫu với sự thay thế. (Mặc định là 9,999 nhưng bạn có thể sử dụng đối số n_resamples để thay đổi số này)bootstrap() function generated 9,999 samples with replacement. (The default is 9,999 but you can use the n_resamples argument to change this number)
  • Đối với mỗi mẫu bootstrapping, trung bình đã được tính toán.
  • Giá trị trung bình của mỗi mẫu được sắp xếp từ nhỏ nhất đến lớn nhất và giá trị trung bình ở mức phần trăm 2,5% và phần trăm 97,5% được sử dụng để xây dựng giới hạn dưới và trên của khoảng tin cậy 95%.

Lưu ý rằng bạn có thể tính toán khoảng tin cậy bootstrapping cho hầu hết mọi thống kê.

Ví dụ: chúng ta có thể thay đổi np.median thành np.std trong hàm bootstrap () để thay vào đó tính toán khoảng tin cậy 95% cho độ lệch chuẩn:np.median to np.std within the bootstrap() function to instead calculate a 95% confidence interval for the standard deviation:

from scipy.stats import bootstrap
import numpy as np

#convert array to sequence
data = (data,)

#calculate 95% bootstrapped confidence interval for median
bootstrap_ci = bootstrap(data, np.std, confidence_level=0.95,
                         random_state=1, method='percentile')

#view 95% boostrapped confidence interval
print(bootstrap_ci.confidence_interval)

ConfidenceInterval(low=3.3199732261303283, high=5.66478399066117)

Khoảng tin cậy bootstrapping 95% cho độ lệch chuẩn hóa ra là [3.32, 5.67].[3.32, 5.67].

Lưu ý: Đối với các ví dụ này, chúng tôi đã chọn tạo khoảng tin cậy 95%, nhưng bạn có thể thay đổi giá trị trong đối số Confidence_Level để xây dựng khoảng tin cậy có kích thước khác.: For these examples we chose to create 95% confidence intervals, but you can change the value in the confidence_level argument to construct a confidence interval of a different size.

Tài nguyên bổ sung

Các hướng dẫn sau đây giải thích cách thực hiện bootstrapping trong phần mềm thống kê khác:

Cách thực hiện bootstrapping trong r Cách thực hiện bootstrapping in excel
How to Perform Bootstrapping in Excel

Tổng quan

Giảng dạy: 20 phút Bài tập: 10 phút 20 min
Exercises: 10 min

Câu hỏi

  • Tại sao chúng ta lại khởi động máy tính?

  • Làm thế nào là bootstrapping thường được sử dụng trong học máy?

Mục tiêu

  • Sử dụng bootstrapping để tính toán khoảng tin cậy.

Bootstrapping

Trong thống kê và học máy, bootstrapping là một kỹ thuật lấy mẫu lại liên quan đến việc vẽ các mẫu liên tục từ dữ liệu nguồn của chúng tôi với sự thay thế, thường để ước tính tham số dân số. Bằng cách thay thế, chúng tôi có nghĩa là cùng một điểm dữ liệu có thể được bao gồm trong bộ dữ liệu được lấy lại của chúng tôi nhiều lần.

Làm thế nào để python tính toán bootstrap?

Quy trình cơ bản cho bootstrapping như sau: lấy các mẫu lặp lại bằng cách thay thế từ một bộ dữ liệu nhất định. Đối với mỗi mẫu, tính toán thống kê mà bạn quan tâm. Điều này dẫn đến k ước tính khác nhau cho một thống kê nhất định, sau đó bạn có thể sử dụng Tính toán một khoảng tin cậy cho thống kê.

Làm thế nào để bạn làm cho bootstrapping?

Phương pháp bootstrap.

  1. Vẽ một mẫu kích thước n từ bộ dữ liệu ban đầu với sự thay thế. Đây là một mẫu bootstrap.
  2. Lặp lại bước 1 s lần, để chúng tôi có các mẫu bootstrap.
  3. Ước tính giá trị của chúng tôi trên mỗi mẫu bootstrap, để chúng tôi có ước tính S
  4. Sử dụng phân phối các ước tính cho suy luận (ví dụ, ước tính khoảng tin cậy).

import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.utils import resample
from sklearn.metrics import accuracy_score

# convert outcome to a categorical type
categories=['ALIVE', 'EXPIRED']
cohort['actualhospitalmortality'] = pd.Categorical(cohort['actualhospitalmortality'], categories=categories)

# add the encoded value to a new column
cohort['actualhospitalmortality_enc'] = cohort['actualhospitalmortality'].cat.codes
cohort[['actualhospitalmortality_enc','actualhospitalmortality']].head()

# define features and outcome
features = ['apachescore']
outcome = ['actualhospitalmortality_enc']

# partition data into training and test sets
X = cohort[features]
y = cohort[outcome]
x_train, x_test, y_train, y_test = train_test_split(X, y, train_size = 0.7, random_state = 42)

# restructure data for input into model
# note: remove the reshape if fitting to >1 input variable
x_train = x_train.values.reshape(-1, 1)
y_train = y_train.values.ravel()
x_test = x_test.values.reshape(-1, 1)
y_test = y_test.values.ravel()

# train model
reg = LogisticRegression(random_state=0)
reg.fit(x_train, y_train)

# bootstrap predictions
accuracy = []
n_iterations = 1000
for i in range(n_iterations):
    X_bs, y_bs = resample(x_train, y_train, replace=True)
    # make predictions
    y_hat = reg.predict(X_bs)
    # evaluate model
    score = accuracy_score(y_bs, y_hat)
    accuracy.append(score)

Hãy để vẽ sơ đồ phân phối các giá trị chính xác được tính toán trên các mẫu bootstrap.

import seaborn as sns
# plot distribution of accuracy
sns.kdeplot(accuracy)
plt.title("Accuracy across 1000 bootstrap samples of the held-out test set")
plt.xlabel("Accuracy")
plt.show()

Hướng dẫn how do you bootstrap in python? - làm thế nào để bạn bootstrap trong python?

Bây giờ chúng ta có thể lấy độ chính xác trung bình trên các mẫu bootstrap và tính toán khoảng tin cậy. Có một số cách tiếp cận khác nhau để tính toán khoảng tin cậy. Chúng tôi sẽ sử dụng phương pháp phần trăm, một cách tiếp cận đơn giản hơn không yêu cầu phân phối lấy mẫu của chúng tôi phải được phân phối bình thường.

Phương pháp phần trăm

Đối với khoảng tin cậy 95%, chúng ta có thể tìm thấy số liệu thống kê bootstrap 95%. Điều này được gọi là phương pháp phần trăm. Đây là phương pháp ưa thích vì nó hoạt động bất kể hình dạng của phân phối lấy mẫu.

Bất kể hình dạng của phân phối lấy mẫu bootstrap, chúng ta có thể sử dụng phương pháp phần trăm để xây dựng khoảng tin cậy. Sử dụng phương pháp này, khoảng tin cậy 95% là phạm vi của các điểm bao gồm 95% phân phối lấy mẫu bootstrap.

Chúng tôi xác định giá trị trung bình của từng mẫu, gọi nó là X̄ và tạo phân phối lấy mẫu của giá trị trung bình. Sau đó, chúng tôi lấy các phần trăm α/2 và 1 - α/2 (ví dụ: .0251000 và .9751000 = số liệu thống kê bootstrapping bootstrapping), và đây là những giới hạn tin cậy.

# get median
median = np.percentile(accuracy, 50)

# get 95% interval
alpha = 100-95
lower_ci = np.percentile(accuracy, alpha/2)
upper_ci = np.percentile(accuracy, 100-alpha/2)

print(f"Model accuracy is reported on the test set. 1000 bootstrapped samples " 
      f"were used to calculate 95% confidence intervals.\n"
      f"Median accuracy is {median:.2f} with a 95% a confidence "
      f"interval of [{lower_ci:.2f},{upper_ci:.2f}].")

Model accuracy is reported on the test set. 1000 bootstrapped samples were used to calculate 95% confidence intervals.
Median accuracy is 0.86 with a 95% a confidence interval of [0.80,0.91].

sns.kdeplot(accuracy)
plt.title("Accuracy across 1000 bootstrap samples of the held-out test set\n"
          "showing median with 95\\% confidence intervals")
plt.xlabel("Accuracy")
plt.axvline(median,0, 14, linestyle="--", color="red")
plt.axvline(lower_ci,0, 14, linestyle="--", color="red")
plt.axvline(upper_ci,0, 14, linestyle="--", color="red")
plt.show()

Hướng dẫn how do you bootstrap in python? - làm thế nào để bạn bootstrap trong python?

Khi một khoảng được tính toán, nó có thể hoặc không chứa giá trị thực của tham số chưa biết. Mức độ tin cậy 95% không * không * có nghĩa là có xác suất 95% là tham số dân số nằm trong khoảng thời gian.

Khoảng tin cậy cho chúng ta biết về độ tin cậy của quy trình ước tính. 95% khoảng tin cậy được tính ở mức độ tin cậy 95% chứa giá trị thực của tham số.

Những điểm chính

  • Bootstrapping là một kỹ thuật lấy mẫu lại, đôi khi bị nhầm lẫn với xác thực chéo.

  • Bootstrapping cho phép chúng tôi tạo phân phối các ước tính, thay vì ước tính điểm duy nhất.

  • Bootstrapping cho phép chúng tôi ước tính độ không đảm bảo, cho phép tính toán khoảng tin cậy.

Chúng ta có thể sử dụng bootstrap trong Python không?

Khi lập trình trong Python, bạn thường sẽ sử dụng khung web, một cái rất phổ biến là Django. May mắn thay, có một dự án sử dụng Bootstrap ở Django. Đây là trên pypi.org vì vậy cài đặt là thói quen thường xuyên. Nhiều khả năng bạn đang chạy một môi trường ảo, kích hoạt nó và cài đặt với PIP.there is a project for using Bootstrap in Django. This is on Pypi.org so installing is the regular routine. Most likely you are running a virtual environment, activate it and install with pip.

Bootstrap có nghĩa là gì trong Python?

Trong thống kê và học máy, bootstrapping là một kỹ thuật lấy mẫu lại liên quan đến việc vẽ các mẫu liên tục từ dữ liệu nguồn của chúng tôi với sự thay thế, thường để ước tính tham số dân số.Bằng cách thay thế, chúng tôi có nghĩa là cùng một điểm dữ liệu có thể được bao gồm trong bộ dữ liệu được lấy lại của chúng tôi nhiều lần.a resampling technique that involves repeatedly drawing samples from our source data with replacement, often to estimate a population parameter. By “with replacement”, we mean that the same data point may be included in our resampled dataset multiple times.

Làm thế nào để python tính toán bootstrap?

Quy trình cơ bản cho bootstrapping như sau: lấy các mẫu lặp lại bằng cách thay thế từ một bộ dữ liệu nhất định. Đối với mỗi mẫu, tính toán thống kê mà bạn quan tâm. Điều này dẫn đến k ước tính khác nhau cho một thống kê nhất định, sau đó bạn có thể sử dụngTính toán một khoảng tin cậy cho thống kê.Take k repeated samples with replacement from a given dataset. For each sample, calculate the statistic you're interested in. This results in k different estimates for a given statistic, which you can then use to calculate a confidence interval for the statistic.

Làm thế nào để bạn làm cho bootstrapping?

Phương pháp bootstrap..
Chọn một số mẫu bootstrap để thực hiện ..
Chọn một cỡ mẫu ..
Cho 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 ..
Tính giá trị trung bình của số liệu thống kê mẫu được tính toán ..