ज़ॉम्बी IQ का एक Bayesian मॉडल
ज़ॉम्बी आम तौर पर कम समझदार होते हैं, और आप तथा आपके सहयोगी National Zombie Research Laboratory में यह जानने में रुचि रखते हैं कि वे वास्तव में कितने कमज़ोर हैं. आपके पास वही Normal मॉडल है जो हमने पिछले वीडियो में विकसित किया था, बस तापमान वाले डेटा की जगह लैब से आए कुछ नए ज़ॉम्बी IQ स्कोर रख दिए गए हैं. हमारा लक्ष्य है यह समझना कि इस डेटा से हम औसत ज़ॉम्बी IQ के बारे में कितना सीख सकते हैं. मॉडल पूरा है, बस हमें pars में हर पैरामीटर कॉम्बिनेशन की probability निकालनी है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में Bayesian डेटा विश्लेषण की बुनियाद
अभ्यास निर्देश
- इन probabilities की गणना करने और मॉडल पूरा करने के लिए Bayes Theorem का उपयोग करें और उन्हें
pars$probabilityमें असाइन करें.
यह रहा Bayes प्रमेय:
$$P(\theta|D) = \frac{P(D|\theta) \times P(\theta)}{\sum P(D|\theta) \times P(\theta)}$$
जहाँ
- \(\theta\) एक पैरामीटर कॉम्बिनेशन है,
- \(D\) डेटा है,
- \(P(D|\theta)\) likelihood है,
- \(P(\theta)\) prior है,
- \(P(\theta|D)\) डेटा दिए जाने पर अलग-अलग पैरामीटर मानों की probability है. यही वह मात्रा है जो हमें चाहिए!
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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 <- ___