Mulai sekarangMulai gratis

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

Lihat Kursus

Instruksi latihan

  • Gunakan Teorema Bayes untuk menghitung probabilitas ini dan tetapkan ke pars$probability untuk 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 <- ___
Edit dan Jalankan Kode