Mô phỏng sự phụ thuộc của X vào p
Trong hành trình tranh cử, chiến dịch của bạn khảo sát 10 cử tri tiềm năng. Gọi \(X\) là số người ủng hộ bạn. Dĩ nhiên, \(X\) thay đổi theo từng mẫu và phụ thuộc vào \(p\), tức mức ủng hộ của bạn trong toàn bộ dân số. Vì \(X\) là số lần thành công trong 10 phép thử độc lập, mỗi phép thử có xác suất thành công là \(p\), bạn có thể mô hình hóa sự phụ thuộc của \(X\) vào \(p\) bằng phân phối Nhị thức: Bin(10, \(p\)).
Bạn sẽ mô phỏng mô hình Nhị thức bằng cách lấy mẫu ngẫu nhiên từ hàm rbinom(n, size, prob). Hàm dạng vector hóa này sẽ rút n mẫu từ một phân phối Bin(size, prob). Khi đưa vào một vector các giá trị prob, giá trị prob thứ nhất sẽ dùng cho lượt rút thứ nhất, giá trị thứ hai cho lượt rút thứ hai, v.v.
Bài tập này là một phần của khóa học
Mô hình hóa Bayesian với RJAGS
Hướng dẫn bài tập
- Tạo một
seq()gồm 1000 giá trị khả dĩ của \(p\) trong khoảng từ 0 đến 1. Lưu vàop_grid. - Dùng
rbinom()để mô phỏng một kết quả thăm dò \(X\) cho từng \(p\) trong số 1000 giá trị củap_grid. Gán vàopoll_result. - Khung dữ liệu
likelihood_simkết hợpp_gridvàpoll_result. Dùngggplot()với lớpgeom_density_ridges()để minh họa phân phối các giá trịp_grid(trụcx) mà từ đó mỗipoll_resultđược mô phỏng (trụcy).
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.
# Define a vector of 1000 p values
p_grid <- seq(from = ___, to = ___, length.out = ___)
# Simulate 1 poll result for each p in p_grid
# Create likelihood_sim data frame
likelihood_sim <- data.frame(p_grid, poll_result)
# Density plots of p_grid grouped by poll_result
ggplot(likelihood_sim, aes(x = ___, y = ___, group = poll_result)) +
geom_density_ridges()