Сэмплер Гиббса: алгоритм и использование¶
Сэмплер Гиббса — это алгоритм Марковского цепного Монте-Карло (MCMC) для получения последовательности выборок из многомерного распределения вероятностей, когда прямое сэмплирование из совместного распределения затруднено, но условные распределения каждой переменной при фиксированных значениях остальных известны и допускают сэмплирование. Метод назван в честь американского физика Джозайи Уилларда Гиббса, хотя его современная формулировка принадлежит Стюарту Герману и Дональду Джеману (1984).
¶Алгоритм
Пусть требуется получить выборку из совместного распределения \(P(x_1, x_2, \dots, x_n)\). На каждом шаге \(t\) алгоритм последовательно обновляет каждую переменную \(x_i\), извлекая новое значение из условного распределения \(P(x_i \mid x_1^{(t+1)}, \dots, x_{i-1}^{(t+1)}, x_{i+1}^{(t)}, \dots, x_n^{(t)})\), то есть при самых свежих значениях остальных переменных. После обновления всех \(n\) переменных получается новая точка цепочки.
Итерации повторяются до сходимости цепочки к стационарному распределению, которое и является целевым совместным распределением. Начальные итерации (burn-in) отбрасываются, чтобы уменьшить зависимость от начальной точки. Полученные после сходимости выборки используются для аппроксимации математических ожиданий, дисперсий и других характеристик распределения.
¶Условия применимости
Сэмплер Гиббса требует, чтобы все полные условные распределения были «сэмплируемыми», то есть относились к известным параметрическим семействам (нормальное, гамма, бета и т. п.) либо допускали эффективное обращение функции распределения. Для многих байесовских моделей, особенно с сопряжёнными априорными распределениями, это условие выполняется автоматически. Если условное распределение не имеет простого вида, применяют обобщения — например, сэмплер Метрополиса-Гастингса внутри шага Гиббса.
¶Свойства и особенности
- Сходимость: цепочка сходится к целевому распределению при достаточно общих условиях (неразложимость и апериодичность цепи). Однако скорость сходимости может быть медленной при сильной корреляции между переменными.
- Автокорреляция: последовательные выборки коррелированы, что снижает эффективный размер выборки. Для уменьшения автокорреляции используют прореживание (thinning) или перепараметризацию модели.
- Преимущества: не требуется настройка шага (в отличие от алгоритма Метрополиса), нет отклоняемых предложений — каждая итерация всегда принимается.
- Недостатки: неприменим к моделям с жёсткими ограничениями на переменные или с разрывными условными распределениями.
¶Применение
Сэмплер Гиббса широко используется в байесовской статистике и машинном обучении:
- Байесовский вывод: оценка апостериорных распределений параметров в иерархических моделях, моделях линейной и логистической регрессии.
- Латентно-семантический анализ и тематическое моделирование: например, латентное размещение Дирихле (LDA) изначально обучалось с помощью сэмплера Гиббса.
- Обработка изображений: реконструкция и сегментация изображений в моделях Марковских случайных полей.
- Биоинформатика: филогенетический анализ, предсказание структуры белков.
- Эконометрика: оценка моделей со стохастической волатильностью и моделей переключения режимов.
¶Связь с другими методами
Сэмплер Гиббса является частным случаем алгоритма Метрополиса-Гастингса, в котором предложения всегда принимаются. Он также лежит в основе более сложных методов, таких как сэмплер с частичным обновлением блоков (block Gibbs) и алгоритмы с вспомогательными переменными (например, для моделей с разреженными распределениями). В современных библиотеках вероятностного программирования (Stan, PyMC, JAGS) сэмплер Гиббса часто заменяется более эффективными градиентными методами MCMC, такими как HMC и NUTS, однако для моделей с сопряжёнными распределениями он остаётся быстрым и простым в реализации инструментом.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


