Выборка Гиббса - Gibbs sampling

В статистика, Выборка Гиббса или Сэмплер Гиббса это Цепь Маркова Монте-Карло (MCMC) алгоритм для получения последовательности наблюдений, приближенных к заданному многомерный распределение вероятностей, когда прямая выборка затруднена. Эта последовательность может использоваться для аппроксимации совместного распределения (например, для создания гистограммы распределения); приблизить предельное распределение одной из переменных или некоторого подмножества переменных (например, неизвестного параметры или же скрытые переменные ); или вычислить интеграл (такой как ожидаемое значение одной из переменных). Как правило, некоторые из переменных соответствуют наблюдениям, значения которых известны и, следовательно, не нуждаются в выборке.

Выборка Гиббса обычно используется как средство статистические выводы, особенно Байесовский вывод. Это рандомизированный алгоритм (т.е. алгоритм, использующий случайные числа ) и является альтернативой детерминированные алгоритмы для статистического вывода, такого как алгоритм максимизации ожидания (ЭМ).

Как и в случае с другими алгоритмами MCMC, выборка Гиббса генерирует Цепь Маркова образцов, каждый из которых коррелированный с близлежащими образцами. В результате следует проявлять осторожность, если требуются независимые образцы. Как правило, выборки с начала цепочки ( период приработки) могут неточно представлять желаемое распределение и обычно отбрасываются.

Вступление

Выборка Гиббса названа в честь физика Джозайя Уиллард Гиббс, ссылаясь на аналогию между отбор проб алгоритм и статистическая физика. Алгоритм описали братья Стюарт и Дональд Геман в 1984 году, примерно через восемь десятилетий после смерти Гиббса.[1]

В своей базовой версии выборка Гиббса является частным случаем Алгоритм Метрополиса – Гастингса. Однако в его расширенных версиях (см. ниже ), его можно рассматривать как общую основу для выборки из большого набора переменных путем выборки каждой переменной (или, в некоторых случаях, каждой группы переменных) по очереди, и может включать Алгоритм Метрополиса – Гастингса (или такие методы, как выборка срезов ) для реализации одного или нескольких шагов выборки.

Выборка Гиббса применима, когда совместное распределение не известно в явном виде или его трудно выбрать напрямую, но условное распределение каждой переменной известно, и из нее легко (или, по крайней мере, проще) брать выборку. Алгоритм выборки Гиббса генерирует экземпляр из распределения каждой переменной по очереди, в зависимости от текущих значений других переменных. Можно показать, что последовательность выборок составляет Цепь Маркова, и стационарное распределение этой цепи Маркова является всего лишь искомым совместным распределением.[2]

Выборка Гиббса особенно хорошо приспособлена для отбора проб апостериорное распределение из Байесовская сеть, поскольку байесовские сети обычно задаются как набор условных распределений.

Выполнение

Сэмплинг Гиббса, в его основном воплощении, является частным случаем Алгоритм Метрополиса – Гастингса. Смысл выборки Гиббса в том, что многомерное распределение проще выбрать из условного распределения, чем маргинализировать интегрируя по совместное распределение. Предположим, мы хотим получить образцы из совместного распределения . Обозначим th образец . Действуем следующим образом:

  1. Начнем с некоторого начального значения .
  2. Нам нужен следующий образец. Назовите следующий образец . С - вектор, мы выбираем каждый компонент вектора, , из распределения этого компонента, обусловленного всеми другими компонентами, отобранными на данный момент. Но есть одна загвоздка: мы делаем ставку на компоненты вплоть до , а затем условие на компоненты, начиная с к . Для этого мы отбираем компоненты по порядку, начиная с первого компонента. Более формально, чтобы пробовать , мы обновляем его в соответствии с распределением, указанным . Мы используем значение, которое -й компонент был в й образец, а не -й образец.
  3. Повторите вышеуказанный шаг раз.

Если такая выборка проводится, то имеют место следующие важные факты:

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

При отборе проб:

  • Начальные значения переменных могут быть определены случайным образом или каким-либо другим алгоритмом, например ожидание-максимизация.
  • Фактически нет необходимости определять начальное значение для первой выбранной переменной.
  • Обычно вначале игнорируют некоторое количество образцов (так называемые период приработки), а затем рассматривать только каждый th выборка при усреднении значений для вычисления математического ожидания. Например, можно игнорировать первые 1000 выборок, а затем усреднять каждую сотую выборку, отбрасывая все остальные. Причина в том, что (1) стационарное распределение цепи Маркова - это желаемое совместное распределение по переменным, но для достижения этого стационарного распределения может потребоваться некоторое время; (2) последовательные выборки не независимы друг от друга, а образуют Цепь Маркова с некоторой степенью корреляции. Иногда можно использовать алгоритмы для определения количества автокорреляция между выборками и значением (период между выборками, которые фактически используются), рассчитанный на основе этого, но на практике существует изрядное количество "черная магия " участвует.
  • Процесс имитация отжига часто используется для уменьшения "случайная прогулка "поведение на ранней стадии процесса отбора проб (т. е. тенденция к медленному перемещению по пространству пробы с большим количеством автокорреляция между образцами, а не быстро перемещаться, как хотелось бы). Другие методы, которые могут уменьшить автокорреляцию: свернутая выборка Гиббса, заблокированная выборка Гиббса, и заказанное чрезмерное расслабление; Смотри ниже.

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

Кроме того, условное распределение одной переменной с учетом всех остальных пропорционально совместному распределению:

«Пропорционально» в этом случае означает, что знаменатель не является функцией и, таким образом, одинаков для всех значений ; он является частью константа нормализации для распространения по . На практике для определения характера условного распределения фактора , проще всего разложить на множители совместное распределение в соответствии с отдельными условными распределениями, определенными графическая модель над переменными, игнорируйте все факторы, которые не являются функциями (все это вместе со знаменателем, указанным выше, составляет константу нормализации), а затем, при необходимости, восстановить константу нормализации в конце. На практике это означает выполнение одного из трех действий:

  1. Если распределение дискретное, индивидуальные вероятности всех возможных значений вычисляются, а затем суммируются, чтобы найти нормировочную константу.
  2. Если распределение является непрерывным и имеет известную форму, нормировочная константа также будет известна.
  3. В других случаях константу нормализации обычно можно игнорировать, так как она не требуется для большинства методов выборки.

Вывод

Выборка Гиббса обычно используется для статистические выводы (например, определение наилучшего значения параметра, например, определение количества людей, которые могут делать покупки в определенном магазине в данный день, кандидата, за которого, скорее всего, проголосует избиратель, и т. д.). Идея состоит в том, что наблюдаемые данные включаются в процесс выборки путем создания отдельных переменных для каждой части наблюдаемых данных и фиксации рассматриваемых переменных в их наблюдаемых значениях, а не выборки из этих переменных. Распределение остальных переменных тогда эффективно апостериорное распределение обусловлено наблюдаемыми данными.

Наиболее вероятное значение желаемого параметра ( Режим ) можно было бы просто выбрать, выбрав наиболее часто встречающееся значение выборки; это по существу эквивалентно максимум апостериори оценка параметра. (Поскольку параметры обычно являются непрерывными, часто бывает необходимо «объединить» выбранные значения в один из конечного числа диапазонов или «ячеек», чтобы получить значимую оценку режима.) Однако чаще ожидаемое значение (иметь в виду или среднее) выбранных значений; это Байесовская оценка который использует дополнительные данные обо всем распределении, доступные из байесовской выборки, тогда как алгоритм максимизации, такой как максимизация ожидания (EM) может вернуть только одну точку из распределения. Например, для унимодального распределения среднее (ожидаемое значение) обычно аналогично режиму (наиболее распространенное значение), но если распределение перекошенный в одном направлении среднее значение будет перемещаться в этом направлении, что эффективно учитывает дополнительную массу вероятностей в этом направлении. (Если распределение является мультимодальным, ожидаемое значение может не возвращать значимую точку, и любой из режимов обычно является лучшим выбором.)

Хотя некоторые из переменных обычно соответствуют интересующим параметрам, другие представляют собой неинтересные («мешающие») переменные, введенные в модель для правильного выражения взаимосвязей между переменными. Хотя выборочные значения представляют совместное распределение по всем переменным мешающие переменные можно просто игнорировать при вычислении ожидаемых значений или режимов; это эквивалентно маргинализация по мешающим переменным. Когда требуется значение для нескольких переменных, ожидаемое значение просто вычисляется по каждой переменной отдельно. (Однако при вычислении режима все переменные следует рассматривать вместе.)

Контролируемое обучение, обучение без учителя и полу-контролируемое обучение (также известный как обучение с пропущенными значениями) все можно обработать, просто зафиксировав значения всех переменных, значения которых известны, и выборки из остатка.

Для наблюдаемых данных будет одна переменная для каждого наблюдения, а не, например, одна переменная, соответствующая выборочное среднее или же выборочная дисперсия набора наблюдений. Фактически, обычно не будет никаких переменных, соответствующих таким понятиям, как «выборочное среднее» или «выборочная дисперсия». Вместо этого в таком случае будут переменные, представляющие неизвестное истинное среднее значение и истинную дисперсию, и определение значений выборки для этих переменных происходит автоматически в результате работы пробоотборника Гиббса.

Обобщенные линейные модели (т.е. вариации линейная регрессия ) иногда также можно обработать с помощью выборки Гиббса. Например, пробит регрессия для определения вероятности данного двоичного (да / нет) выбора, с нормально распределенный априорные значения, помещенные над коэффициентами регрессии, могут быть реализованы с помощью выборки Гиббса, поскольку можно добавить дополнительные переменные и воспользоваться преимуществами спаривание. Тем не мение, логистическая регрессия с этим нельзя обращаться. Одна из возможностей - приблизить логистическая функция со смесью (обычно 7–9) нормальных распределений. Однако чаще Метрополис – Гастингс используется вместо выборки Гиббса.

Математический фон

Предположим, что образец берется из распределения, зависящего от вектора параметров длины , с предварительным распределением . Может быть что очень большой, и это численное интегрирование для определения предельных плотностей будет дорого в вычислительном отношении. Тогда альтернативный метод вычисления предельных плотностей заключается в создании цепи Маркова на пространстве повторяя эти два шага:

  1. Выберите случайный индекс
  2. Выберите новое значение для в соответствии с

Эти шаги определяют обратимая цепь Маркова с желаемым инвариантным распределением . Это можно доказать следующим образом. Определять если для всех и разреши обозначают вероятность прыжка из к . Тогда вероятности перехода равны

Так

поскольку является отношение эквивалентности. Таким образом подробные уравнения баланса выполнены, что означает, что цепь обратима и имеет инвариантное распределение .

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

Варианты и расширения

Существуют многочисленные варианты базового сэмплера Гиббса. Цель этих вариантов - уменьшить автокорреляция между образцами достаточно, чтобы преодолеть любые дополнительные вычислительные затраты.

Заблокированный сэмплер Гиббса

Сэмплер Гиббса

  • А свернутый сэмплер Гиббса интегрирует (маргинализирует ) одну или несколько переменных при выборке для какой-либо другой переменной. Например, представьте, что модель состоит из трех переменных. А, B, и C. Простой сэмплер Гиббса мог бы сэмплировать из п(А | B,C), тогда п(B | А,C), тогда п(C | А,B). Свернутый сэмплер Гиббса может заменить шаг выборки для А с выборкой, взятой из предельного распределения п(А | C), с переменной B интегрированы в этом случае. В качестве альтернативы переменная B могут быть полностью свернуты, поочередно выборка из п(А | C) и п(C | А), а не выборка за B вообще. Распределение по переменной А возникает при сворачивании родительской переменной B называется составное распределение; выборка из этого распределения обычно поддается обработке, когда B это сопряженный предшествующий за Аособенно когда А и B являются членами экспоненциальная семья. Подробнее читайте в статье о составные распределения или Лю (1994).[3]

Реализация свернутого сэмплера Гиббса

Свертывающиеся распределения Дирихле

В иерархические байесовские модели с категориальные переменные, Такие как скрытое размещение Дирихле и различные другие модели, используемые в обработка естественного языка, довольно часто происходит сворачивание Распределения Дирихле которые обычно используются как предыдущие распределения над категориальными переменными. Результат этого коллапса вводит зависимости между всеми категориальными переменными, зависящими от данного предшествующего Дирихле, и совместное распределение этих переменных после коллапса является Дирихле-полиномиальное распределение. Условное распределение данной категориальной переменной в этом распределении, обусловленное другими, принимает чрезвычайно простую форму, которая делает выборку Гиббса даже проще, чем если бы коллапс не производился. Правила следующие:

  1. Сворачивание предшествующего узла Дирихле влияет только на родительский и дочерний узлы предыдущего. Поскольку родительский элемент часто является константой, обычно нам нужно беспокоиться только о дочерних элементах.
  2. Сворачивание априора Дирихле вводит зависимости между всеми категориальными дочерними элементами, зависящими от этого априора, но нет дополнительные зависимости среди любых других категориальных детей. (Это важно иметь в виду, например, когда существует несколько априоров Дирихле, связанных одним и тем же гиперприором. Каждый априор Дирихле может быть свернут независимо и влияет только на своих прямых потомков.)
  3. После сворачивания условное распределение одних зависимых потомков по другим принимает очень простую форму: вероятность увидеть данное значение пропорциональна сумме соответствующего гиперприора для этого значения и количеству всех другие зависимые узлы принимая то же значение. Узлы, не зависящие от прежних не должен считаться. То же правило применяется и в других методах итеративного вывода, таких как вариационный байесовский или же максимизация ожидания; однако, если метод предполагает ведение частичных подсчетов, то частичные подсчеты для рассматриваемого значения должны быть суммированы по всем другим зависимым узлам. Иногда этот суммарный частичный подсчет называют ожидаемый счет или похожие. Вероятность равна пропорционально полученное значение; фактическая вероятность должна быть определена путем нормализации всех возможных значений, которые может принимать категориальная переменная (т. е. сложения вычисленного результата для каждого возможного значения категориальной переменной и деления всех вычисленных результатов на эту сумму).
  4. Если у данного категориального узла есть зависимые дочерние элементы (например, когда это скрытая переменная в модель смеси ), значение, вычисленное на предыдущем шаге (ожидаемое количество плюс предыдущее, или что-то еще, что вычислено), должно быть умножено на фактические условные вероятности (нет вычисленное значение, которое пропорционально вероятности!) всех детей, данных их родителям. См. Статью о Дирихле-полиномиальное распределение для подробного обсуждения.
  5. В случае, когда членство в группе узлов, зависящих от данного предшествующего Дирихле, может динамически изменяться в зависимости от какой-либо другой переменной (например, категориальной переменной, индексированной другой скрытой категориальной переменной, как в тематическая модель ), те же самые ожидаемые числа по-прежнему вычисляются, но это нужно делать осторожно, чтобы был включен правильный набор переменных. См. Статью о Дирихле-полиномиальное распределение для дальнейшего обсуждения, в том числе в контексте тематической модели.
Сворачивание других сопряженных априорных точек

В общем, любой сопряженный предшествующий элемент может быть свернут, если его единственные дочерние элементы имеют сопряженные с ним распределения. Соответствующая математика обсуждается в статье о составные распределения. Если есть только один дочерний узел, результат часто будет предполагать известное распределение. Например, сворачивание с обратным гамма-распределением отклонение вне сети с одним Гауссовский ребенок даст Распределение Стьюдента. (В этом отношении сжатие как среднего, так и дисперсии одного гауссовского дочернего элемента все равно приведет к t-распределению Стьюдента, при условии, что оба являются сопряженными, то есть гауссовым средним, дисперсией обратной гаммы.)

Если есть несколько дочерних узлов, все они станут зависимыми, как в Дирихле -категоричный дело. Результирующий совместное распределение будет иметь закрытую форму, которая в некотором роде напоминает составное распределение, хотя в нем будет произведение нескольких факторов, по одному для каждого дочернего узла.

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

Например, для байесовской сети с набором условно независимые одинаково распределенные Распределенный по Гауссу узлы с сопряженный предшествующий распределений, помещенных на среднее значение и дисперсию, условное распределение одного узла с учетом других после сложения среднего и дисперсии будет Распределение Стьюдента. Точно так же результат сложения гамма приор ряда Распределенный по Пуассону узлов заставляет условное распределение одного узла при условии, что другие принимают отрицательное биномиальное распределение.

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

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

Пробоотборник Гиббса с упорядоченной сверхрелаксацией

  • Сэмплер Гиббса с заказанное чрезмерное расслабление выбирает заданное нечетное количество значений-кандидатов для на любом заданном шаге и сортирует их вместе с единственным значением для согласно некоторому четко определенному порядку. Если это sth наименьший в отсортированном списке, затем выбран как sth самый большой в отсортированном списке. Для получения дополнительной информации см. Neal (1995).[4]

Прочие расширения

Также возможно расширить семплирование Гиббса различными способами. Например, в случае переменных, условное распределение которых нелегко выбрать, одна итерация выборка срезов или Алгоритм Метрополиса – Гастингса могут использоваться для выборки из рассматриваемых переменных. также возможно включение переменных, которые не являются случайные переменные, но чье значение детерминированно вычисляется из других переменных. Обобщенные линейные модели, например логистическая регрессия (он же "максимальная энтропия models "), могут быть включены таким образом (например, BUGS позволяет смешивать модели такого типа.)

Режимы отказа

Есть два пути, по которым выборка Гиббса может не сработать. Первый - это когда есть острова состояний с высокой вероятностью, между которыми нет путей. Например, рассмотрим распределение вероятностей по 2-битным векторам, где каждый вектор (0,0) и (1,1) имеет вероятность 1/2, а два других вектора (0,1) и (1,0) имеют вероятность нуль. Выборка Гиббса окажется в ловушке одного из двух векторов с высокой вероятностью и никогда не достигнет другого. В более общем плане, для любого распределения по многомерным векторам с действительными значениями, если два конкретных элемента вектора идеально коррелированы (или совершенно антикоррелированы), эти два элемента застрянут, и выборка Гиббса никогда не сможет изменить их.

Вторая проблема может возникнуть даже тогда, когда все состояния имеют ненулевую вероятность и есть только один остров состояний с высокой вероятностью. Например, рассмотрим распределение вероятностей по 100-битным векторам, где вектор из нулей встречается с вероятностью 1/2, а все другие векторы равновероятны и, следовательно, имеют вероятность каждый. Если вы хотите оценить вероятность нулевого вектора, достаточно взять 100 или 1000 выборок из истинного распределения. Это, скорее всего, даст ответ, очень близкий к ½. Но вам, вероятно, придется взять больше, чем образцы из выборки Гиббса, чтобы получить тот же результат. Ни один компьютер не смог бы сделать это за всю жизнь.

Эта проблема возникает независимо от того, как долго длится период приработки. Это связано с тем, что в истинном распределении нулевой вектор встречается в половине случаев, и эти вхождения случайным образом смешиваются с ненулевыми векторами. Даже небольшая выборка будет видеть как нулевые, так и ненулевые векторы. Но выборка Гиббса будет попеременно возвращать только нулевой вектор в течение длительных периодов (около подряд), то только ненулевые векторы на длительные периоды (около в ряд). Таким образом, сходимость к истинному распределению происходит очень медленно и требует гораздо большего, чем шаги; выполнение такого количества шагов невозможно с вычислительной точки зрения в разумный период времени. Медленную сходимость здесь можно рассматривать как следствие проклятие размерности.Подобную проблему можно решить путем блочной выборки сразу всего 100-битного вектора. (Это предполагает, что 100-битный вектор является частью большего набора переменных. Если этот вектор является единственным, что выбирается, то блочная выборка эквивалентна тому, что выборка Гиббса вообще не выполняется, что по гипотезе было бы затруднительно.)

Программного обеспечения

  • JAGS (Еще один сэмплер Гиббса) - это программа GPL для анализа байесовских иерархических моделей с использованием цепей Маркова Монте-Карло.
  • Церковь это бесплатное программное обеспечение для выполнения вывода Гиббса по произвольным дистрибутивам, которые определены как вероятностные программы.

Примечания

  1. ^ Geman, S .; Геман, Д. (1984). «Стохастическая релаксация, распределения Гиббса и байесовское восстановление изображений». IEEE Transactions по анализу шаблонов и машинному анализу. 6 (6): 721–741. Дои:10.1109 / TPAMI.1984.4767596. PMID  22499653.
  2. ^ Гельман, Эндрю и Карлин, Джон Б. и Стерн, Хэл С. и Дансон, Дэвид Б. и Вехтари, Аки и Рубин, Дональд Б. (2014). Байесовский анализ данных. 2. FL: CRC пресса Бока-Ратон.
  3. ^ Лю, Цзюнь С. (сентябрь 1994 г.). «Свернутый семплер Гиббса в байесовских вычислениях с приложениями к проблеме регуляции генов». Журнал Американской статистической ассоциации. 89 (427): 958–966. Дои:10.2307/2290921. JSTOR  2290921.
  4. ^ Нил, Рэдфорд М. (1995). Подавление случайных блужданий в цепи Маркова Монте-Карло с помощью упорядоченной сверхрелаксации (Технический отчет). Университет Торонто, Статистический факультет. arXiv:bayes-an / 9506004. Bibcode:1995bayes.an..6004N.

Рекомендации