проверка сходимости в сложных иерархических моделях JAGS

Я оценил сложную иерархическую модель со многими случайными эффектами, но на самом деле не знаю, как лучше всего проверить сходимость. У меня есть сложные лонгитюдные данные по нескольким сотням людей, и я оцениваю довольно много параметров для каждого человека. Из-за этого у меня есть возможность визуально проверить множество трассировок. Или я действительно должен провести день, просматривая все трассировочные графики? Как лучше проверить сходимость? Должен ли я рассчитывать Гельмана и Рат Рубина для каждого параметра на уровне человека? И когда я могу сделать вывод, что модель сошлась? Когда абсолютно все тысячи параметров достигли сходимости? Разумно ли вообще ожидать этого? Или есть что-то вроде общей конвергенции? И что значит, когда некоторые параметры на уровне человека не сошлись? Есть ли смысл использовать autorun.jags из пакета R2jags с такой моделью или он просто будет работать вечно? Я знаю, это много вопросов, но я просто не знаю, как подойти к этому.


person Phd Student    schedule 11.11.2020    source источник


Ответы (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).
person Tomas    schedule 11.11.2020
comment
это очень полезно! Я посмотрю на это! И как сделать общий вывод? С таким количеством параметров, я думаю, вы не можете ожидать, что каждый параметр будет хорошо сходиться, верно? (например, из-за отсутствия данных от физического лица). Итак, где провести черту? Я знаю, что это не черное или белое решение, и, возможно, даже невозможно дать прямой ответ на этот вопрос. Но у меня нет большого опыта работы с такими сложными моделями, и мне интересно, чего можно или следует ожидать с точки зрения конвергенции. Что, если, скажем, 10% ваших параметров не сойдутся? - person Phd Student; 11.11.2020
comment
@PhdStudent это действительно зависит от типа модели. В большинстве моих моделей все параметры должны сходиться. Я знал, что в некоторых моделях некоторые параметры могут не сойтись, и это не проблема. Но другие должны сойтись. Вам нужно понимать свою модель и знать, какие параметры должны сходиться, а какие нет, и что это значит :-) И я обычно провожу линию по какому-то эмпирическому правилу, например. что я хочу, чтобы все psrf были ниже 1.01 (или 1.001, я уже не помню). Но я все равно проверяю графики визуально :-) - person Tomas; 11.11.2020
comment
Я понимаю. Спасибо за ваш вклад. Я оставлю вопрос открытым на некоторое время, чтобы посмотреть, есть ли у других что-то добавить. - person Phd Student; 11.11.2020