Comece agoraComece grátis

Um modelo Bayesiano do QI de zumbis

Zumbis são burros, e você e sua equipe no National Zombie Research Laboratory querem entender o quão burros eles são. Você tem o modelo Normal que desenvolvemos no último vídeo, mas com os dados de temperatura substituídos por alguns QIs de zumbis recém-saídos do laboratório. O que nos interessa é quanto conseguimos aprender sobre a média do QI dos zumbis a partir desses dados. O modelo está completo, exceto pelo fato de que precisamos calcular a probability de cada combinação de parâmetros em pars.

Este exercicio faz parte do curso

Fundamentos da Análise de Dados Bayesiana em R

Ver curso

Instruções do exercicio

  • Use o teorema de Bayes para calcular essas probabilidades e atribuí-las a pars$probability para completar o modelo.

Aqui está o teorema de Bayes:

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

Onde

  • \(\theta\) é uma combinação de parâmetros,
  • \(D\) são os dados,
  • \(P(D|\theta)\) é a verossimilhança
  • \(P(\theta)\) é a priori
  • \(P(\theta|D)\) é a probabilidade de diferentes valores de parâmetros dados os dados. É isso que queremos!

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# 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 <- ___
Editar e Executar Código