Clôturé. Cette question est hors sujet . Il naccepte pas les réponses actuellement.

Commentaires

Réponse

Problème

Supposons $ Y \ sim \ text {N} (\ text {mean} = \ mu, \ text {Var} = \ frac {1} {\ tau}) $.

À partir dun échantillon, obtenez les distributions postérieures de $ \ mu $ et $ \ tau $ en utilisant léchantillonneur de Gibbs.

Notation

$ \ mu $ = moyenne de la population

$ \ tau $ = précision de la population (1 / variance )

$ n $ = taille de léchantillon

$ \ bar {y} $ = moyenne de léchantillon

$ s ^ 2 $ = variance de léchantillon

Échantillonneur Gibbs

[ Casella, G. & George, EI (1992). Expliquer léchantillonneur Gibbs. Le statisticien américain, 46, 167–174. ]

À litération $ i $ ($ i = 1, \ dots, N $ ):

  • échantillon $ \ mu ^ {(i)} $ de $ f (\ mu \, | \, \ tau ^ {(i – 1)}, \ text {data} ) $ (voir ci-dessous)
  • sample $ \ tau ^ {(i)} $ de $ f (\ tau \, | \, \ mu ^ {(i)}, \ text {data}) $ (voir ci-dessous)

La théorie garantit quaprès un nombre ditérations suffisamment grand, $ T $, lensemble $ \ {( \ mu ^ {(𝑖)}, \ tau ^ {(𝑖)}): i = T + 1, \ dots, 𝑁 \} $ peut être vu comme un échantillon aléatoire de la distribution postérieure conjointe.

Prieurs

$ f (\ mu, \ tau) = f (\ mu) \ fois f (\ tau) $, avec

$ f (\ mu) \ propto 1 $

$ f (\ tau) \ propto \ tau ^ {- 1} $

Postérieur conditionnel pour la moyenne, étant donné la précision $$ (\ mu \, | \, \ tau, \ text {data}) \ sim \ text {N} \ Big (\ bar {y}, \ frac {1} {n \ tau} \ Big) $$

Postérieur conditionnel pour la précision , étant donné la moyenne $$ (\ tau \, | \, \ mu, \ text {data}) \ sim \ text {Gam} \ Big (\ frac {n} {2}, \ frac {2} {(n-1) s ^ 2 + n (\ mu – \ bar {y}) ^ 2} \ Big) $$

(rapide) Implémentation R

# summary statistics of sample n <- 30 ybar <- 15 s2 <- 3 # sample from the joint posterior (mu, tau | data) mu <- rep(NA, 11000) tau <- rep(NA, 11000) T <- 1000 # burnin tau[1] <- 1 # initialisation for(i in 2:11000) { mu[i] <- rnorm(n = 1, mean = ybar, sd = sqrt(1 / (n * tau[i - 1]))) tau[i] <- rgamma(n = 1, shape = n / 2, scale = 2 / ((n - 1) * s2 + n * (mu[i] - ybar)^2)) } mu <- mu[-(1:T)] # remove burnin tau <- tau[-(1:T)] # remove burnin 

$$ $$

hist(mu) hist(tau) 

entrez la description de limage ici

Commentaires

  • +1 Voici la manière de répondre à une question apparemment spécifique au code: fournissez lexplication théorique (qui en fait le sujet ici) et puis (pour satisfaire lOP) donnez également le code. Ravi de vous revoir!
  • Merci pour lexplication. Existe-t-il un moyen dapprendre le codage pour tous les algorithmes statistiques? Je suis étudiant et je souhaite apprendre le codage pour R afin de pouvoir résoudre mon problème.
  • Pouvez-vous maider à voir cette question stats.stackexchange .com / questions / 498646 / … ? Merci.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *