p에 따른 X의 의존성 시뮬레이션
공직 선거에 출마했다고 가정해 봅시다. 선거운동팀이 유권자 10명을 대상으로 여론조사를 했고, 당신을 지지하는 사람의 수를 $X$라고 하겠습니다. 물론 $X$는 표본마다 달라지고, 전체 유권자 집단에서의 지지율 $p$에 따라 달라집니다. $X$는 성공 확률이 $p$인 독립 시도 10회의 성공 횟수이므로, 이 의존성을 이항분포 Bin(10, \(p\))로 모형화할 수 있어요.
rbinom(n, size, prob) 함수를 사용해 이항 모형을 난수 표본으로 시뮬레이션하겠습니다. 이 함수는 벡터화되어 있어, Bin(size, prob) 분포에서 n개의 표본을 추출해요. prob가 하나의 벡터라면, 첫 번째 추출에는 첫 번째 prob 값, 두 번째 추출에는 두 번째 prob 값이 사용되는 식으로 진행됩니다.
이 연습은 강의의 일부입니다
RJAGS로 배우는 Bayesian 모델링
연습 안내
- 0에서 1까지 범위의 \(p\) 가능한 값 1000개로 이루어진
seq()를 정의하고p_grid로 저장하세요. p_grid의 1000개 \(p\) 각각에 대해 여론조사 결과 $X$를 하나씩rbinom()으로 시뮬레이션하고, 이를poll_result에 할당하세요.likelihood_sim데이터 프레임은p_grid와poll_result를 결합한 것입니다.ggplot()에geom_density_ridges()레이어를 사용하여, 각poll_result가 시뮬레이션된p_grid값들의 분포를 (x축) 그리고poll_result를 (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()