Діагностика ланцюгів Маркова та відтворюваність

Баєсівське моделювання з RJAGS

Alicia Johnson

Associate Professor, Macalester College

Вихід ланцюга Маркова

Баєсівське моделювання з RJAGS

Питання для розгляду

  • Як виглядає «хороший» ланцюг Маркова?

  • Наскільки точна апроксимація апостеріорного розподілу ланцюгом Маркова?

  • Скільки ітерацій слід запускати ланцюг Маркова?

Баєсівське моделювання з RJAGS

Діагностика: трейсові графіки

Баєсівське моделювання з RJAGS

Діагностика: трейсові графіки

Добре: стабільність!

Погано: нестабільність

Баєсівське моделювання з RJAGS

Діагностика: кілька ланцюгів

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

Баєсівське моделювання з RJAGS

Діагностика: кілька ланцюгів

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

Баєсівське моделювання з RJAGS

Діагностика: кілька ланцюгів

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

Баєсівське моделювання з RJAGS

Діагностика: кілька ланцюгів

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

Баєсівське моделювання з RJAGS
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$ = 29.10 мс

  • (Наївна) стандартна похибка цієї оцінки = 0.2836 мс
    SD / $\sqrt{\text{number of iterations}}$

Баєсівське моделювання з RJAGS

Діагностика: стандартна похибка

  • Оцінене середнє = 29.10 мс

  • (Наївна) стандартна похибка = 0.2836 мс

  • $29.10 \pm 2*0.2836$
Баєсівське моделювання з RJAGS

Робочий процес з ланцюгом Маркова

  • Визначте, скомпілюйте, змоделюйте модель

  • Перевірте діагностики:

    • Трейсові графіки
    • Вихід кількох ланцюгів
    • Стандартні похибки
  • Завершіть моделювання

Баєсівське моделювання з RJAGS

Завершення ланцюга Маркова: відтворюваність

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

Давайте потренуємось!

Баєсівське моделювання з RJAGS

Preparing Video For Download...