BaşlayınÜcretsiz başlayın

Zombi IQ'suna dair Bayesçi bir model

Zombiler aptaldır ve sen ile Ulusal Zombi Araştırma Laboratuvarı'ndaki meslektaşların ne kadar aptal olduklarıyla ilgileniyorsunuz. Son videoda geliştirdiğimiz Normal modeli elinde, ancak sıcaklık verileri yerine laboratuvardan yeni çıkan bazı zombi IQ'ları var. Merak ettiğimiz, bu veriden zombi IQ ortalaması hakkında ne kadar şey öğrenebileceğimiz. Model tamam, sadece pars içindeki her bir parametre kombinasyonunun probability değerini hesaplamamız gerekiyor.

Bu egzersiz, kursun bir parçasıdır

R ile Bayesyen Veri Analizinin Temelleri

Kursa Göz Atın

Egzersiz talimatları

  • Bu olasılıkları hesaplamak ve modele eklemek için Bayes Teoremi'ni kullan ve pars$probability değişkenine ata.

Bayes teoremi şöyle:

$$P(\theta|D) = \frac{P(D|\theta) \times P(\theta)}{\sum P(D|\theta) \times P(\theta)}$$

Burada

  • \(\theta\) bir parametre kombinasyonudur,
  • \(D\) veridir,
  • \(P(D|\theta)\) olabilirliktir
  • \(P(\theta)\) öncül dağılımdır
  • \(P(\theta|D)\) veriye göre farklı parametre değerlerinin olasılığıdır. Aradığımız şey bu!

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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 <- ___
Kodu Düzenle ve Çalıştır