Suljettu. Tämä kysymys on aiheen ulkopuolella . Se ei tällä hetkellä hyväksy vastauksia.

Kommentit

Vastaa

Ongelma

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

Hanki esimerkin perusteella $ \ mu $: n ja $ \ tau $: n takajakaumat Gibbs-näytteenottimen avulla.

Merkintä

$ \ mu $ = populaation keskiarvo

$ \ tau $ = populaation tarkkuus (1 / varianssi )

$ n $ = otoksen koko

$ \ bar {y} $ = näytteen keskiarvo

$ s ^ 2 $ = näytteen varianssi

Gibbs-näytteenotin

[ Casella, G. & George, EI (1992). Gibbs-näytteenottimen selittäminen. Amerikan tilastotieteilijä, 46, 167–174. ]

Iteraatiolla $ i $ ($ i = 1, \ pisteitä, N $ ):

  • näyte $ \ mu ^ {(i)} $ kohteesta $ f (\ mu \, | \, \ tau ^ {(i – 1)}, \ text {data} ) $ (katso alla)
  • näyte $ \ tau ^ {(i)} $ kohteesta $ f (\ tau \, | \, \ mu ^ {(i)}, \ text {data}) $ (katso alla)

Teoria varmistaa, että riittävän suuren määrän iteraatioiden $ T $ jälkeen joukko $ \ {( \ mu ^ {(𝑖)}, \ tau ^ {(𝑖)}): i = T + 1, \ pisteitä, 𝑁 \} $ voidaan nähdä satunnaisnäytteenä yhteisestä posteriorijakaumasta.

Priors

$ f (\ mu, \ tau) = f (\ mu) \ kertaa f (\ tau) $,

$ f (\ mu) \ propto 1 $

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

Ehdollinen takaosan keskiarvo, tarkkuudella $$ (\ mu \, | \, \ tau, \ text {data}) \ sim \ text {N} \ Big (\ bar {y}, \ frac {1} {n \ tau} \ Big) $$

Ehdollinen takaosa tarkkuuden takaamiseksi , kun otetaan huomioon keskiarvo $$ (\ tau \, | \, \ mu, \ text {data}) \ sim \ text {Gam} \ Big (\ frac {n} {2}, \ frac {2} {(n-1) s ^ 2 + n (\ mu – \ bar {y}) ^ 2} \ iso) $$

(nopea) R-toteutus

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

kirjoita kuvan kuvaus tähän

kommentit

  • +1 Tämä on tapa vastata ilmeisesti koodikohtaiseen kysymykseen: anna teoreettinen selitys (mikä tekee siitä aiheen täällä) anna sitten (OP: n tyydyttämiseksi) myös koodi. Mukava nähdä sinut takaisin!
  • Kiitos selityksestä. Voinko jollain tavalla oppia koodauksen kaikille tilastollisille algoritmeille. Olen opiskelija ja haluan oppia jonkin verran R-koodausta, jotta voin ratkaista ongelmani.
  • Voitteko auttaa minua näkemään tämän kysymyksen stats.stackexchange .com / questions / 498646 / … ? Kiitos.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *