Báo cáo kết quả Bayes

Phân tích dữ liệu Bayesian với Python

Michal Oleszak

Machine Learning Engineer

Cách trình bày trung thực

  • Báo cáo prior và posterior của từng tham số
posterior_draws
array([8.02800413, 8.97359548, 7.57437476, ..., 5.85264609, 7.92875104,
       7.41463758])
  • Vẽ phân phối prior và posterior
sns.kdeplot(prior_draws, shade=True, label="prior")
sns.kdeplot(posterior_draws, shade=True, label="posterior")
Phân tích dữ liệu Bayesian với Python

Cách trình bày trung thực

Hai biểu đồ mật độ chồng lên nhau. Cả hai đều dạng chuông. Prior tập trung ở 0, thấp và rộng; posterior quanh 7, cao và hẹp hơn.

Phân tích dữ liệu Bayesian với Python

Cách trình bày trung thực

Hai biểu đồ mật độ chồng lên nhau. Cả hai đều dạng chuông. Prior tập trung ở 0, thấp và rộng; posterior quanh 7, cao và hẹp hơn.

Phân tích dữ liệu Bayesian với Python

Cách trình bày trung thực

Hai biểu đồ mật độ chồng lên nhau. Cả hai đều dạng chuông. Prior tập trung ở 0, thấp và rộng; posterior quanh 7, cao và hẹp hơn.

Phân tích dữ liệu Bayesian với Python

Cách trình bày trung thực

Hai biểu đồ mật độ chồng lên nhau. Cả hai đều dạng chuông. Prior tập trung ở 0, thấp và rộng; posterior quanh 7, cao và hẹp hơn.

Phân tích dữ liệu Bayesian với Python

Ước lượng điểm Bayes

  • Không một số đơn lẻ nào truyền tải trọn vẹn thông tin của một phân phối

  • Tuy nhiên, đôi khi cần ước lượng điểm cho tham số

Biểu đồ mật độ dạng chuông.

Phân tích dữ liệu Bayesian với Python

Ước lượng điểm Bayes

  • Không một số đơn lẻ nào truyền tải trọn vẹn thông tin của một phân phối

  • Tuy nhiên, đôi khi cần ước lượng điểm cho tham số

posterior_mean = np.mean(posterior_draws)


Biểu đồ mật độ dạng chuông với đường thẳng đứng đánh dấu trung bình.

Phân tích dữ liệu Bayesian với Python

Ước lượng điểm Bayes

  • Không một số đơn lẻ nào truyền tải trọn vẹn thông tin của một phân phối

  • Tuy nhiên, đôi khi cần ước lượng điểm cho tham số

posterior_mean = np.mean(posterior_draws)
posterior_median = np.median(posterior_draws)

Biểu đồ mật độ dạng chuông với đường thẳng đứng đánh dấu trung vị.

Phân tích dữ liệu Bayesian với Python

Ước lượng điểm Bayes

  • Không một số đơn lẻ nào truyền tải trọn vẹn thông tin của một phân phối

  • Tuy nhiên, đôi khi cần ước lượng điểm cho tham số

posterior_mean = np.mean(posterior_draws)
posterior_median = np.median(posterior_draws)
posterior_p75 = np.percentile(posterior_draws, 75)

Biểu đồ mật độ dạng chuông với đường thẳng đứng đánh dấu phân vị thứ 75.

Phân tích dữ liệu Bayesian với Python

Khoảng tin cậy (Credible interval)

  • Khoảng sao cho xác suất tham số nằm trong đó là x%
  • Khoảng tin cậy Bayes càng rộng, độ bất định càng lớn
  • Tham số là ngẫu nhiên, nên có xác suất rơi vào khoảng
  • Trong tần suất, khoảng (tin cậy) là ngẫu nhiên còn tham số cố định

Biểu đồ mật độ dạng chuông với hai đường đứt đoạn đứng đánh dấu vùng giữa chúng.

Phân tích dữ liệu Bayesian với Python

Mật độ hậu nghiệm cao nhất (HPD)

GIF biểu đồ mật độ dạng chuông với một đường ngang hạ dần, làm tăng phần khối xác suất nằm giữa các điểm giao với biểu đồ.

import arviz as az

hpd = az.hdi(posterior_draws, 
             hdi_prob=0.9)
print(hpd)
[-4.86840193  4.96075498]
Phân tích dữ liệu Bayesian với Python

Hãy luyện tập báo cáo kết quả Bayes!

Phân tích dữ liệu Bayesian với Python

Preparing Video For Download...