Я оценил сложную иерархическую модель со многими случайными эффектами, но на самом деле не знаю, как лучше всего проверить сходимость. У меня есть сложные лонгитюдные данные по нескольким сотням людей, и я оцениваю довольно много параметров для каждого человека. Из-за этого у меня есть возможность визуально проверить множество трассировок. Или я действительно должен провести день, просматривая все трассировочные графики? Как лучше проверить сходимость? Должен ли я рассчитывать Гельмана и Рат Рубина для каждого параметра на уровне человека? И когда я могу сделать вывод, что модель сошлась? Когда абсолютно все тысячи параметров достигли сходимости? Разумно ли вообще ожидать этого? Или есть что-то вроде общей конвергенции? И что значит, когда некоторые параметры на уровне человека не сошлись? Есть ли смысл использовать autorun.jags
из пакета R2jags
с такой моделью или он просто будет работать вечно? Я знаю, это много вопросов, но я просто не знаю, как подойти к этому.
проверка сходимости в сложных иерархических моделях JAGS
Ответы (1)
Мерой, которую я использую для сходимости, является потенциальный коэффициент уменьшения масштаба (psrf)*, использующий функцию gelman.diag из пакета R coda
.
Но тем не менее, я также быстро визуально осматриваю все трассировки, хотя у меня их тоже десятки/сотни. Это может быть очень быстро, если вы поместите их в файлы PNG, а затем быстро просмотрите их, используя, например. IrfanView (дайте мне знать, если вам нужно, чтобы я расширил это).
Причина, по которой вам следует проверять графики трассировки, довольно хорошо описана на примере Марка Кери (автора замечательных байесовских книг): см. Никогда слепо не доверяйте Rhat в отношении конвергенции в байесовском анализе, здесь я привожу наглядное изображение из этого письма:
Это связано со статистикой Rhat, пока я использую psrf, но вполне вероятно, что psrf тоже страдает от этого... и лучше проверить цепочки.
*) Gelman, A. & Rubin, D. B. Inference from iterative simulation using multiple sequences. Stat. Sci. 7, 457–472 (1992).