Bắt đầu ngayBắt đầu miễn phí

Bootstrap replicate của trung bình và SEM

Trong bài này, bạn sẽ tính ước lượng bootstrap của hàm mật độ xác suất (PDF) cho trung bình lượng mưa hằng năm tại Trạm khí tượng Sheffield. Hãy nhớ rằng, chúng ta đang ước lượng giá trị trung bình lượng mưa hằng năm mà ta sẽ thu được nếu Trạm khí tượng Sheffield có thể lặp lại toàn bộ phép đo từ năm 1883 đến 2015 hết lần này đến lần khác. Đây là một ước lượng có tính xác suất của trung bình. Bạn sẽ vẽ PDF dưới dạng biểu đồ histogram và sẽ thấy nó có phân phối Chuẩn.

Thực tế, có thể chứng minh về mặt lý thuyết rằng, dưới những điều kiện không quá nghiêm ngặt, giá trị của trung bình sẽ luôn có phân phối Chuẩn. (Điều này không đúng nói chung cho mọi đại lượng, chỉ đúng cho trung bình và một vài thống kê khác.) Độ lệch chuẩn của phân phối này, gọi là sai số chuẩn của trung bình, hay SEM, được cho bởi độ lệch chuẩn của dữ liệu chia cho căn bậc hai của số lượng điểm dữ liệu. Tức là, với một tập dữ liệu, sem = np.std(data) / np.sqrt(len(data)). Dùng hacker statistics, bạn cũng thu được kết quả này mà không cần tự suy luận công thức, và bạn sẽ kiểm chứng kết quả này từ các bootstrap replicate của mình.

Bộ dữ liệu đã được nạp sẵn vào một mảng có tên rainfall.

Bài tập này là một phần của khóa học

Tư duy Thống kê với Python (Phần 2)

Xem khóa học

Hướng dẫn bài tập

  • Vẽ 10000 bootstrap replicate của trung bình lượng mưa hằng năm bằng hàm draw_bs_reps() và mảng rainfall. Gợi ý: Truyền np.mean vào đối số func để tính trung bình.
    • Nhắc lại: draw_bs_reps() nhận 3 đối số: data, func, và size.
  • Tính và in ra sai số chuẩn của trung bình của rainfall.
    • Công thức: np.std(data) / np.sqrt(len(data)).
  • Tính và in ra độ lệch chuẩn của các bootstrap replicate bs_replicates.
  • Vẽ histogram của các replicate với tham số density=True50 bins.
  • Nhấn submit để xem biểu đồ!

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Take 10,000 bootstrap replicates of the mean: bs_replicates
bs_replicates = ____

# Compute and print SEM
sem = ____ / np.sqrt(____)
print(sem)

# Compute and print standard deviation of bootstrap replicates
bs_std = ____
print(bs_std)

# Make a histogram of the results
_ = plt.hist(____, ____=50, ____=True)
_ = plt.xlabel('mean annual rainfall (mm)')
_ = plt.ylabel('PDF')

# Show the plot
plt.show()
Chỉnh sửa và Chạy Mã