Bootstrapping

Nền tảng Suy luận trong Python

Paul Savala

Assistant Professor of Mathematics

Bootstrapping

  • Bootstrapping = Lấy mẫu có hoàn lại
    1. Chọn ngẫu nhiên một mẫu
    2. Ghi lại
    3. Đưa lại vào dữ liệu (hoàn lại)
    4. Lặp lại
  • Mẫu bootstrapped = Mẫu tạo từ bootstrapping
Nền tảng Suy luận trong Python

Khoảng tin cậy phi tham số

  • Tương đương phi tham số của stats.norm.interval
    • Lấy mẫu có hoàn lại
    • Tính thống kê kiểm định
    • Ghi lại
    • Lặp lại
  • Tạo phân phối thực nghiệm
Nền tảng Suy luận trong Python
salaries_df['Years of Employment']
[6, 11, 14, 3, 2, ...]
sample_1 = salaries_df['Years of Employment'].sample(n=10)

print(max(sample_1) - min(sample_1))
7
  • Lặp lại quy trình này nhiều lần
  • 95% giá trị giữa = khoảng tin cậy bootstrap 95%
Nền tảng Suy luận trong Python
# Statistic function
def max_min(x):
    return max(x) - min(x)

# Data as a tuple data = (salaries_df['Years of Employment'], )
bootstrap_ci = stats.bootstrap(data, max_min, vectorized=False, n_resamples=1000)
print(bootstrap_ci)
BootstrapResult(confidence_interval=ConfidenceInterval(low=33.0, high=38.0),
standard_error=1.3843971812870597)
Nền tảng Suy luận trong Python

Khoảng tin cậy chuẩn

 

  • Yêu cầu dữ liệu phân phối chuẩn
  • Tính chỉ từ trung bình và sai số chuẩn
  • Suy luận chỉ hợp lệ cho dữ liệu chuẩn
  • Tính rất nhanh

Khoảng tin cậy bootstrap

 

  • Cho phép mọi phân phối
  • Tính trực tiếp từ dữ liệu bằng tái lấy mẫu
  • Suy luận hợp lệ cho mọi dữ liệu
  • Tính chậm hơn nhiều
Nền tảng Suy luận trong Python

Trường hợp dùng bootstrapping

  • Khi làm việc với dữ liệu không chuẩn
    • Dữ liệu xếp hạng
    • Dữ liệu lệch
  • Khi khoảng tin cậy chuẩn cho giá trị đáng ngờ
  • Dùng với bất kỳ thống kê nào bạn muốn
Nền tảng Suy luận trong Python

Ayo berlatih!

Nền tảng Suy luận trong Python

Preparing Video For Download...