Lukket. Dette spørsmålet er utenfor emnet . Det aksepteres for øyeblikket ikke svar.

Kommentarer

Svar

Problem

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

Basert på et utvalg, få de bakre fordelingen på $ \ mu $ og $ \ tau $ ved hjelp av Gibbs-sampleren.

Notasjon

$ \ mu $ = populasjonsmiddel

$ \ tau $ = populasjonspresisjon (1 / varians )

$ n $ = prøvestørrelse

$ \ bar {y} $ = eksempel gjennomsnitt

$ s ^ 2 $ = prøvevarians

Gibbs sampler

[ Casella, G. & George, EI (1992). Forklarer Gibbs Sampler. Den amerikanske statistikeren, 46, 167–174. ]

Ved iterasjon $ i $ ($ i = 1, \ dots, N $ ):

  • eksempel $ \ mu ^ {(i)} $ fra $ f (\ mu \, | \, \ tau ^ {(i – 1)}, \ text {data} ) $ (se nedenfor)
  • eksempel $ \ tau ^ {(i)} $ fra $ f (\ tau \, | \, \ mu ^ {(i)}, \ text {data}) $ (se nedenfor)

Teorien sørger for at settet $ \ {etter et tilstrekkelig stort antall iterasjoner, $ T $, \ mu ^ {(𝑖)}, \ tau ^ {(𝑖)}): i = T + 1, \ prikker, 𝑁 \} $ kan sees på som et tilfeldig utvalg fra den felles bakre fordelingen.

Priors

$ f (\ mu, \ tau) = f (\ mu) \ ganger f (\ tau) $, med

$ f (\ mu) \ propto 1 $

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

Betinget bakre for gjennomsnittet, gitt presisjonen $$ (\ mu \, | \, \ tau, \ text {data}) \ sim \ text {N} \ Big (\ bar {y}, \ frac {1} {n \ tau} \ Big) $$

Betinget bakre for presisjonen , gitt gjennomsnittet $$ (\ tau \, | \, \ mu, \ text {data}) \ sim \ text {Gam} \ Big (\ frac {n} {2}, \ frac {2} {(n-1) s ^ 2 + n (\ mu – \ bar {y}) ^ 2} \ Big) $$

(rask) R-implementering

# 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) 

skriv inn bildebeskrivelse her

Kommentarer

  • +1 Dette er måten å svare på et tilsynelatende kodespesifikt spørsmål: gi den teoretiske forklaringen (som gjør det til temaet her) og deretter (for å tilfredsstille OP) gi koden også. Fint å se deg tilbake!
  • Takk for forklaringen. Er det en måte jeg kan lære koding for all statistisk algoritme. Jeg er student og vil lære meg koding for R slik at jeg kan løse problemet mitt.
  • Kan du hjelpe meg med å se dette spørsmålet stats.stackexchange .com / spørsmål / 498646 / … ? Takk skal du ha.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *