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

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

Xem khóa học

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ào p_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ủa p_grid. Gán vào poll_result.
  • Khung dữ liệu likelihood_sim kết hợp p_gridpoll_result. Dùng ggplot() với lớp geom_density_ridges() để minh họa phân phối các giá trị p_grid (trục x) mà từ đó mỗi poll_result được mô phỏng (trục y).

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()
Chỉnh sửa và Chạy Mã