Markov zinciri tanılama ve yeniden üretilebilirlik

RJAGS ile Bayesçi Modelleme

Alicia Johnson

Associate Professor, Macalester College

Markov zinciri çıktısı

RJAGS ile Bayesçi Modelleme

Düşünmen gereken sorular

  • "İyi" bir Markov zinciri nasıl görünür?

  • Markov zinciri, posterioru ne kadar iyi yaklaşıklıyor?

  • Kaç yineleme çalıştırmalıyız?

RJAGS ile Bayesçi Modelleme

Tanılama: iz (trace) grafikleri

RJAGS ile Bayesçi Modelleme

Tanılama: iz (trace) grafikleri

İyi: kararlılık!

Kötü: kararsızlık

RJAGS ile Bayesçi Modelleme

Tanılama: birden çok zincir

# COMPILE the model
sleep_jags <- jags.model(..., n.chains = 1)

RJAGS ile Bayesçi Modelleme

Tanılama: birden çok zincir

# COMPILE the model
sleep_jags <- jags.model(..., n.chains = 2)

RJAGS ile Bayesçi Modelleme

Tanılama: birden çok zincir

# COMPILE the model
sleep_jags <- jags.model(..., n.chains = 4)

RJAGS ile Bayesçi Modelleme

Tanılama: birden çok zincir

# COMPILE the model
sleep_jags <- jags.model(..., n.chains = 4)

RJAGS ile Bayesçi Modelleme
summary(sleep_sim)
1. Empirical mean and standard deviation for each variable,
   plus standard error of the mean:

   Mean    SD Naive SE Time-series SE
m 29.10 8.968   0.2836         0.2820
s 40.07 7.887   0.2494         0.4227

2. Quantiles for each variable:

   2.5%   25%   50%   75% 97.5%
m 11.42 23.27 28.85 34.76 46.76
s 28.31 34.65 38.93 43.91 57.56
  • $m$'nin posterior ortalamasının tahmini = 29.10 ms

  • Bu tahminin (naif) standart hatası = 0.2836 ms
    SD / $\sqrt{\text{yineleme sayısı}}$

RJAGS ile Bayesçi Modelleme

Tanılama: standart hata

  • Tahmini ortalama = 29.10 ms

  • (Naif) standart hata = 0.2836 ms

  • $29.10 \pm 2*0.2836$
RJAGS ile Bayesçi Modelleme

Markov zinciri iş akışı

  • Modeli tanımla, derle, simüle et

  • Şu tanılamaları incele:

    • İz (trace) grafikleri
    • Birden çok zincir çıktısı
    • Standart hatalar
  • Simülasyonu tamamla

RJAGS ile Bayesçi Modelleme

Markov zincirini tamamlama: Yeniden üretilebilirlik

sleep_jags <- jags.model(textConnection(sleep_model), 
    data = list(Y = sleep_study$diff_3),
    inits = list(.RNG.name = "base::Wichmann-Hill",
                 .RNG.seed = 1989))
RJAGS ile Bayesçi Modelleme

Hadi pratik yapalım!

RJAGS ile Bayesçi Modelleme

Preparing Video For Download...