Эффективный размер выборки для последующего вывода из выборки MCMC

13

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

И меняется ли этот совет по мере того, как модель становится более или менее сложной?

Мэтт Альбрехт
источник
Я предполагаю, что это, вероятно, будет зависеть от "константы" в ошибке , которая будет варьироваться в зависимости от модели. O(n12)
вероятностная

Ответы:

15

Вопрос, который вы задаете, отличается от «диагностики сходимости». Допустим, вы выполнили всю диагностику конвергенции (выберите свою любимую (ые)) и теперь готовы начать отбор проб сзади.

Существует два варианта с точки зрения эффективного размера выборки (ESS), вы можете выбрать одномерный ESS или многовариантный ESS. Однофакторный ESS обеспечит эффективный размер выборки для каждого параметра в отдельности, а консервативные методы требуют, чтобы вы выбирали наименьшую оценку. Этот метод игнорирует все взаимные корреляции между компонентами. Это, вероятно, то, что большинство людей использовали некоторое время

Недавно было представлено многомерное определение ESS. Многомерный ESS возвращает одно число для эффективного размера выборки для количеств, которые вы хотите оценить; и делает это путем учета всех взаимных корреляций в процессе. Лично я предпочитаю многомерный ESS. Предположим, вас интересует вектор средних значений апостериорного распределения. MESS определяется следующим образом: mESS = n ( | Λ |p Вот

mESS=n(|Λ||Σ|)1/p.
  1. - ковариационная структура апостериора (также асимптотическая ковариация в CLT, если у вас были независимые выборки)Λ
  2. ΣΛ
  3. p
  4. ||

ΛΣmultiESS

Эта недавняя статья содержит теоретически обоснованную нижнюю границу количества необходимых эффективных образцов. Перед симуляцией нужно определиться

  1. ϵϵ
  2. α
  3. p

mESS22/pπ(pΓ(p/2))2/pχ1α,p2ϵ2,

Γ()minESS

p=2095%ϵ=.05

> minESS(p = 20, alpha = .05, eps = .05)
[1] 8716

Это верно для любой проблемы (в условиях регулярности). Способ, которым этот метод адаптируется от проблемы к проблеме, состоит в том, что медленное перемешивание цепей Маркова занимает больше времени, чтобы достичь этой нижней границы, поскольку mESS будет меньше. Так что теперь вы можете пару раз multiESSпроверить, достигла ли ваша цепь Маркова этой границы; если не пойти и взять больше образцов.

Greenparker
источник
(+1) Отличный ответ. Вы знаете, была ли функция multiESSзакодирована для других языков, таких как MATLAB? (или это будет трудно переопределить?)
lacerbi
1
Σ
1
Σ
1
@lacerbi Я рад, что вы смогли написать код в Matlab. Если возможно, ответьте на этот комментарий, когда он закончится, чтобы я мог его использовать. Спасибо
Greenparker
1
Моя реализация multiESS для MATLAB доступна здесь . Это рабочая версия, хотя она потребует дополнительного тестирования (я не знаком с R, иначе я бы сравнил ее с реализацией R).
Lacerbi
2

Сходимость зависит от нескольких факторов: количества параметров, самой модели, алгоритма выборки, данных ...

Я хотел бы предложить избегать какого-либо общего правила и использовать несколько инструментов диагностики сходимости для определения соответствующего количества выгорания и уменьшения числа итераций в каждом конкретном примере. Смотрите также http://www.johnmyleswhite.com/notebook/2010/08/29/mcmc-diagnostics-in-r-with-the-coda-package/, http://users.stat.umn.edu/~geyer/mcmc/diag.html.

Montecristo
источник