Model Bayesian untuk IQ Zombie
Zombie itu bodoh, dan Anda serta rekan-rekan di National Zombie Research Laboratory ingin mengetahui seberapa bodoh mereka. Anda memiliki model Normal yang kita kembangkan pada video sebelumnya, tetapi data temperatur diganti dengan skor IQ zombie yang baru dari laboratorium. Kita ingin mengetahui seberapa banyak yang dapat kita pelajari tentang rata-rata IQ zombie dari data ini. Modelnya sudah lengkap, kecuali kita perlu menghitung probability untuk setiap kombinasi parameter dalam pars.
Latihan ini merupakan bagian dari kursus
Dasar-dasar Analisis Data Bayesian di R
Instruksi latihan
- Gunakan Teorema Bayes untuk menghitung probabilitas ini dan tetapkan ke
pars$probabilityuntuk menyelesaikan model.
Berikut teorema Bayes:
$$P(\theta|D) = \frac{P(D|\theta) \times P(\theta)}{\sum P(D|\theta) \times P(\theta)}$$
Dengan keterangan
- \(\theta\) adalah kombinasi parameter,
- \(D\) adalah data,
- \(P(D|\theta)\) adalah likelihood
- \(P(\theta)\) adalah prior
- \(P(\theta|D)\) adalah probabilitas berbagai nilai parameter dengan mempertimbangkan data. Inilah yang kita cari!
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# The IQ of a bunch of zombies
iq <- c(55, 44, 34, 18, 51, 40, 40, 49, 48, 46)
# Defining the parameter grid
pars <- expand.grid(mu = seq(0, 150, length.out = 100),
sigma = seq(0.1, 50, length.out = 100))
# Defining and calculating the prior density for each parameter combination
pars$mu_prior <- dnorm(pars$mu, mean = 100, sd = 100)
pars$sigma_prior <- dunif(pars$sigma, min = 0.1, max = 50)
pars$prior <- pars$mu_prior * pars$sigma_prior
# Calculating the likelihood for each parameter combination
for(i in 1:nrow(pars)) {
likelihoods <- dnorm(iq, pars$mu[i], pars$sigma[i])
pars$likelihood[i] <- prod(likelihoods)
}
# Calculate the probability of each parameter combination
pars$probability <- ___