Tính toán dự đoán hậu nghiệm
Bạn vừa khám phá xu hướng hậu nghiệm của cân nặng \(Y\) ở người trưởng thành có chiều cao \(X = 180\): \(m\)180 \(= a + b * 180\). Khung dữ liệu weight_chains chứa 100.000 giá trị hợp lý hậu nghiệm của \(m\)180 mà bạn đã tính từ các giá trị tương ứng của \(a\) và \(b\):
> head(weight_chains, 2)
a b s iter m_180
1 -113.9029 1.072505 8.772007 1 79.14803
2 -115.0644 1.077914 8.986393 2 78.96014
Tạm gác xu hướng sang một bên — nếu bạn muốn dự đoán cân nặng của một người trưởng thành cụ thể cao 180 cm thì sao? Hoàn toàn có thể! Để làm được, bạn phải tính đến biến thiên cá nhân quanh xu hướng, được mô hình hóa bởi
\(Y\)180 \(\sim N(m\)180\(, s^2)\)
Với mô hình này, bạn sẽ mô phỏng các dự đoán cân nặng dưới mỗi bộ tham số hợp lý hậu nghiệm trong weight_chains.
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
- Dùng
rnorm()để mô phỏng một dự đoán cân nặng với bộ tham số ở hàng đầu tiên củaweight_chains. - Lặp lại bước trên với bộ tham số ở hàng thứ hai của
weight_chains. - Mô phỏng một dự đoán cân nặng cho mỗi trong số 100.000 bộ tham số trong
weight_chains. Lưu các giá trị này vào biến mớiY_180trongweight_chains. - In 6 hàng đầu tiên của các giá trị tham số và dự đoán trong
weight_chains.
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.
# Simulate 1 prediction under the first parameter set
rnorm(n = 1, mean = ___, sd = ___)
# Simulate 1 prediction under the second parameter set
rnorm(n = 1, mean = ___, sd = ___)
# Simulate & store 1 prediction under each parameter set
weight_chains <- weight_chains %>%
mutate(Y_180 = rnorm(n = 100000, mean = ___, sd = ___))
# Print the first 6 parameter sets & predictions