Một lối tắt có điều kiện
Tuyệt vời, giờ bạn đã thực hiện tính toán Bayesian mà không cần mô phỏng nào! Biểu đồ bạn tạo ra sẽ tương tự với phân phối hậu nghiệm bạn đã tính ở chương 3. Tuy nhiên, bạn có thể thấy là cần khá nhiều mã, liệu có gì có thể rút gọn không?
Có chứ! Bạn có thể điều kiện hóa trực tiếp trên dữ liệu, không cần tạo phân phối chung trước.
Bài tập này là một phần của khóa học
Những nền tảng của Phân tích dữ liệu Bayesian trong R
Hướng dẫn bài tập
- Đặt
n_visitorstrực tiếp bằng6, chỉ cần thay câu lệnhseq. - Bây giờ bạn có thể xóa dòng điều kiện hóa trên dữ liệu, và dòng ngay sau đó dùng để chuẩn hóa
pars$probability. - Xem lại đoạn mã cuối cùng và tự tin rằng kết quả của mã đã chỉnh sửa sẽ giống như trước. :)
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.
# Simplify the code below by directly conditioning on the data
n_ads_shown <- 100
proportion_clicks <- seq(0, 1, by = 0.01)
n_visitors <- seq(0, 100, by = 1)
pars <- expand.grid(proportion_clicks = proportion_clicks,
n_visitors = n_visitors)
pars$prior <- dunif(pars$proportion_clicks, min = 0, max = 0.2)
pars$likelihood <- dbinom(pars$n_visitors,
size = n_ads_shown, prob = pars$proportion_clicks)
pars$probability <- pars$likelihood * pars$prior
pars$probability <- pars$probability / sum(pars$probability)
pars <- pars[pars$n_visitors == 6, ]
pars$probability <- pars$probability / sum(pars$probability)
plot(pars$proportion_clicks, pars$probability, type = "h")