Воспроизводимость результатов
Теперь, когда вы выполнили (и успешно прошли!) диагностику цепей Маркова, можно завершить симуляцию в RJAGS. На этом этапе воспроизводимость результатов особенно важна. Чтобы каждый раз получать одинаковые результаты симуляции, необходимо задать начальное значение генератора случайных чисел RJAGS. Это делается иначе, чем в базовом R: вместо set.seed() нужно указать начальное зерно через inits = list(.RNG.name = "base::Wichmann-Hill", .RNG.seed = ___) при компиляции модели.
Это упражнение является частью курса
Байесовское моделирование с RJAGS
Инструкции к упражнению
Запустите предоставленный код несколько раз. Обратите внимание, что статистика
summary()меняется при каждом запуске.Чтобы получить воспроизводимые результаты, передайте параметр
initsгенератора случайных чисел в функциюjags.model(). Укажите начальное зерно равным 1989.Запустите новый код несколько раз. Обратите внимание, что теперь статистика
summary()НЕ изменяется!
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# COMPILE the model
sleep_jags <- jags.model(textConnection(sleep_model), data = list(Y = sleep_study$diff_3))
# SIMULATE the posterior
sleep_sim <- coda.samples(model = sleep_jags, variable.names = c("m", "s"), n.iter = 10000)
# Summarize the m and s chains of sleep_sim
summary(sleep_sim)