2015-03-21 3 views
1

В настоящее время я устанавливаю набор из 16 моделей в JAGS. У меня есть функция в jags, которая вычисляет журнал вероятности каждого значения переменной результата и другую функцию, которая принимает -2 * сумму этих логарифмических вероятностей. I.e., у меня есть пользовательская формула для вычисления отклонения для каждой модели. Я хотел проверить, что мое определение отклонения было таким же, как то, что использовал JAGS.Почему программа JAGS отличается от запрограммированного отклонения, а отклонение DIC в JAGS отличается?

После запуска 5000 Burnin и 5000 итераций, я получил следующие результаты: enter image description here

В принципе, для некоторых моделей, девиация был близок, но не совсем то же самое, и для других моделей (например, 7, 13 , 16) это было совершенно иначе.

Почему отклонение рассчитывается с использованием моей специальной формулы, отличной от полученной с использованием автоматического подхода на основе DIC?

ответ

0

После небольшого беспорядка, я думаю, что это так.

Во-первых, отклонение DIC получается с использованием дискретного набора выборок для оценок основных параметров. Таким образом, оценки будут отличаться между прогонами из-за присущих случайным аспектам оценки MCMC.

Предполагая, что длина цепи длинная (несколько тысяч) и горилка адекватна, тогда различия между основными образцами и образцами DIC должны быть небольшими, если модель сходится и достаточно эффективна. Таким образом, большие различия, вероятно, будут происходить с проблемами конвергенции модели.

Все это предполагает, что исходный расчет отклонения запрограммирован правильно.

 Смежные вопросы

  • Нет связанных вопросов^_^