Тесты производительности для MCMC

14

Проводились ли крупномасштабные исследования методов MCMC, сравнивающих производительность нескольких различных алгоритмов с набором тестовых плотностей? Я думаю о чем-то эквивалентном статье Риоса и Сахинидиса (2013), которая представляет собой тщательное сравнение большого количества оптимизаторов черного ящика без производных по нескольким классам тестовых функций.

Для MCMC эффективность может быть оценена, например, по эффективному количеству выборок (ESS) на оценку плотности или по некоторой другой подходящей метрике.

Несколько комментариев:

  • Я ценю, что производительность будет сильно зависеть от деталей целевого pdf, но аналогичный (возможно, не идентичный) аргумент справедлив для оптимизации, и, тем не менее, существует множество функций тестирования, наборов, конкурсов, работ и т. Д., Которые имеют дело с оптимизацией бенчмаркинга. алгоритмы.

  • Кроме того, верно, что MCMC отличается от оптимизации тем, что от пользователя требуется гораздо больше ухода и настройки. Тем не менее, в настоящее время существует несколько методов MCMC, которые практически не требуют настройки: методы, которые адаптируются на этапе приработки, во время отбора проб, или методы с несколькими состояниями (также называемые ансамблями ) (такие как Emcee ), которые развивают несколько взаимодействующих цепочек и используют информация из других цепочек для отбора проб.

  • Меня особенно интересует сравнение между стандартными и многоуровневыми (ансамблевыми) методами. Для определения мульти-состояния, см. Раздел 30.6 книги Маккея :

В методе с несколькими состояниями поддерживаются несколько векторов параметров ; они развиваются индивидуально под такими движениями, как Метрополис и Гиббс; Есть также взаимодействия между векторами.Икс


Обновить

  • Для интересного ознакомления с методами, состоящими из нескольких состояний или ансамбля, см. Этот пост в блоге Боба Карпентера в блоге Гельмана и мой комментарий, относящийся к этому посту.
lacerbi
источник

Ответы:

5

После некоторых онлайн-поисков у меня сложилось впечатление, что всеобъемлющего эталона установленных методов MCMC, аналогичного тому, что можно найти в литературе по оптимизации, не существует. (Я был бы рад ошибаться здесь.)

Легко найти сравнения нескольких методов MCMC по конкретным проблемам в прикладной области. Это было бы хорошо, если бы мы могли объединить эту информацию - однако качество таких эталонных тестов часто является недостаточным (например, из-за отсутствия сообщаемых показателей или плохого выбора дизайна).

В следующем я опубликую то, что я считаю ценным вкладом, как я нахожу их:

  • Нишихара, Мюррей и Адамс, Параллельный MCMC с обобщенной выборкой эллиптических срезов , JMLR (2014). Авторы предлагают новый метод с несколькими состояниями, GESS, и проводят сравнение с 6 другими методами с несколькими состояниями и с несколькими состояниями для 7 тестовых функций. Они оценивают производительность как ESS (эффективный размер выборки) в секунду и оценку каждой функции.

  • SamplerCompare - это пакет R с целью сравнительного анализа алгоритмов MCMC - именно то, о чем я спрашивал в своем первоначальном вопросе. К сожалению, пакет содержит только несколько тестовых функций; в сопроводительном документе не сообщается о реальных контрольных показателях (только небольшой пример); и, похоже, не было никаких последующих действий.

Томпсон, Мадлен Б. «Введение в SamplerCompare». Журнал статистического программного обеспечения 43.12 (2011): 1-10 ( ссылка ).

  • Для интересного ознакомления с методами, состоящими из нескольких состояний или ансамбля, см. Этот пост в блоге Боба Карпентера в блоге Гельмана и мой комментарий, относящийся к этому посту.
lacerbi
источник
Ваша вторая ссылка мертва - можете ли вы заменить ее на рабочую?
Тим
Возможно, вы захотите взглянуть на эту статью за декабрь 2017 года: Райан Тернер и Брейди Нил, Насколько хорошо работает ваш сэмплер? Похоже, что это обеспечивает точное решение этой проблемы, предлагая хороший эталон для алгоритмов MCMC.
Карл
2

Я бы согласился с вашей оценкой, что для методов MCMC не установлены всеобъемлющие критерии. Это связано с тем, что каждый пробоотборник MCMC имеет свои плюсы и минусы и исключительно специфичен для конкретной проблемы.

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

Что касается использования ESS для оценки качества выборки, следует отметить, что ESS зависит от количества, которое должно быть оценено из выборки. Если вы хотите найти среднее значение по выборке, полученная ESS будет отличаться от того, если вы хотите оценить 25-й квантиль. Сказав, что, если количество интереса является фиксированным, ESS является разумным способом сравнения пробоотборников. Возможно, лучшая идея - ESS за единицу времени.

Одним из недостатков ESS является то, что для многомерных задач оценки ESS возвращает эффективный размер выборки для каждого компонента в отдельности, игнорируя все взаимные корреляции в процессе оценки. В этой статье недавно была предложена многомерная ESS, которая реализована в Rпакете mcmcseчерез функцию multiESS. Неясно, как этот метод сравнивается с ESS codaпакета, но в самом начале кажется более разумным, чем одномерные методы ESS.

Greenparker
источник
2
(+1) Спасибо за ответ. Я согласен с некоторыми вашими соображениями, но все же думаю, что некоторую информацию можно было бы получить из такого эталона. То, как кто-то использует результаты таких тестов для определения будущих решений, зависит только от них, но некоторые доказательства лучше, чем никаких доказательств. Хорошие моменты о ESS. Под мультисостоянием я подразумеваю многоуровневую (или многоцепную, если хотите), а не просто многовариантную - см. Цитату из книги Маккея в моем первоначальном вопросе.
Lacerbi
2
В общем, известно, что некоторые сэмплеры плохо работают для мультимодальных распределений (MH, Gibbs), а некоторые плохи для невыпуклой поддержки (Hamiltonian MC). С другой стороны, для задач больших размеров хорошо работает гамильтонов MC, а для мультимодальных распределений - моделируемый отпуск и т. Д. Чтобы выполнить какой-либо сравнительный анализ, может потребоваться определить различные широкие классы целевых распределений (субэкспоненциальный, лог-вогнутый и т. Д.), Чтобы результаты можно было интерпретировать вообще.
Greenparker
1
Ну да, в этом весь смысл создания эталона для класса алгоритмов. Посмотрите, например, это для глобальной оптимизации. Очевидно, что эталонный тест MCMC не может просто заимствовать те, что существуют для оптимизации; необходимо сфокусироваться на особенностях целевых плотностей, которые являются специфическими, общими и интересными для проблем MCMC, как те, которые вы упомянули.
Lacerbi