НачатьНачать бесплатно

Байесовская модель IQ зомби

Зомби не отличаются умом, и вы вместе с коллегами из Национальной лаборатории по изучению зомби исследуете, насколько они несообразительны. В вашем распоряжении есть нормальная модель, разработанная в предыдущем видео, — только вместо данных о температуре в ней теперь используются значения IQ зомби, полученные прямо из лаборатории. Цель — выяснить, что можно узнать о среднем IQ зомби на основе этих данных. Модель почти готова: осталось лишь вычислить probability для каждой комбинации параметров в pars.

Это упражнение является частью курса

Основы байесовского анализа данных в R

Посмотреть курс

Инструкции к упражнению

  • Используйте теорему Байеса, чтобы вычислить эти вероятности, и присвойте результат pars$probability — это завершит построение модели.

Теорема Байеса:

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

Где

  • \(\theta\) — комбинация параметров,
  • \(D\) — данные,
  • \(P(D|\theta)\) — правдоподобие,
  • \(P(\theta)\) — априорная вероятность,
  • \(P(\theta|D)\) — вероятность различных значений параметров при наблюдаемых данных. Именно это нам и нужно найти!

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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 <- ___
Редактировать и запускать код