Отримуючи зразки MCMC, щоб зробити висновок за певним параметром, які хороші орієнтири щодо мінімальної кількості ефективних вибірок, на які слід прагнути?
І чи змінюється ця порада, коли модель стає більш-менш складною?
Отримуючи зразки MCMC, щоб зробити висновок за певним параметром, які хороші орієнтири щодо мінімальної кількості ефективних вибірок, на які слід прагнути?
І чи змінюється ця порада, коли модель стає більш-менш складною?
Відповіді:
Питання, яке ви задаєте, відрізняється від "діагностики конвергенції". Скажімо, ви провели всю діагностику конвергенції (виберіть улюблені), і тепер готові розпочати вибірку з задньої частини.
Є два варіанти з точки зору ефективного розміру вибірки (ESS), ви можете вибрати універсальний ESS або багатоваріантний ESS. Універсальний ESS забезпечить ефективний розмір вибірки для кожного параметра окремо, а консервативні методи диктують, ви вибираєте найменшу оцінку. Цей метод ігнорує всі перехресні кореляції між компонентами. Це, мабуть, тим, що більшість людей використовує деякий час
Нещодавно було введено багатоваріантне визначення ESS. Багатоваріантний ESS повертає одне число для ефективного розміру вибірки для величин, які ви хочете оцінити; і це робиться шляхом обліку всіх перехресних кореляцій у процесі. Особисто я набагато віддаю перевагу багатоваріантному ESS. Припустимо, вас цікавить -вектор засобів заднього розподілу. MESS визначається наступним чином ОсьmESS = n ( | Λ |
mESS можна оцінити, використовуючи матрицю коваріації вибірки для оцінки а партія означає матрицю коваріації для оцінки . Це було закодовано в функції в R пакета mcmcse .ΣmultiESS
Цей останній документ пропонує теоретично обґрунтовану нижню межу кількості необхідних ефективних зразків. Перед моделюванням потрібно визначитися
За допомогою цих трьох кількостей ви дізнаєтесь, скільки ефективних зразків вам потрібно. Стаття просить зупинити моделювання вперше
де - гамма-функція. Цю нижню межу можна обчислити, використовуючи в пакеті m mccse .minESS
Отже, припустимо, у вас є параметрів в задній частині, і ви хочете, щоб впевненості у вашій оцінці, і ви хочете, щоб помилка в Монте-Карло була 5% ( ) задньої помилки, вам знадобиться
> minESS(p = 20, alpha = .05, eps = .05)
[1] 8716
Це справедливо для будь-якої проблеми (за умов регулярності). Спосіб адаптується від проблеми до проблеми полягає в тому, що повільно перемішуючи ланцюги Маркова потрібно довше, щоб досягти цієї нижньої межі, оскільки mESS буде меншим. Отже, тепер ви можете перевірити кілька разів, використовуючи, multiESS
чи досяг вашої ланцюг Марків цієї межі; якщо не піти і взяти більше зразків.
multiESS
була закодована для інших мов, наприклад, MATLAB? (чи важко буде повторно
Конвергенція залежить від кількох речей: кількості параметрів, самої моделі, алгоритму вибірки, даних ...
Я б запропонував уникати будь-якого загального правила і використовувати пару інструментів діагностики конвергенції для виявлення відповідного вигорання та зменшення кількості ітерацій у кожному конкретному прикладі. Дивіться також 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
.