Открыть сервис

Сэмплер Гиббса: алгоритм и использование

Сэмплер Гиббса — это алгоритм Марковского цепного Монте-Карло (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) или перепараметризацию модели.
  • Преимущества: не требуется настройка шага (в отличие от алгоритма Метрополиса), нет отклоняемых предложений — каждая итерация всегда принимается.
  • Недостатки: неприменим к моделям с жёсткими ограничениями на переменные или с разрывными условными распределениями.

Применение

Сэмплер Гиббса широко используется в байесовской статистике и машинном обучении:

Связь с другими методами

Сэмплер Гиббса является частным случаем алгоритма Метрополиса-Гастингса, в котором предложения всегда принимаются. Он также лежит в основе более сложных методов, таких как сэмплер с частичным обновлением блоков (block Gibbs) и алгоритмы с вспомогательными переменными (например, для моделей с разреженными распределениями). В современных библиотеках вероятностного программирования (Stan, PyMC, JAGS) сэмплер Гиббса часто заменяется более эффективными градиентными методами MCMC, такими как HMC и NUTS, однако для моделей с сопряжёнными распределениями он остаётся быстрым и простым в реализации инструментом.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →