В статистике, Выборка Гиббса или семплер Гиббса - это алгоритм Монте-Карло с цепью Маркова (MCMC) для получения последовательности наблюдений, которые аппроксимируются из заданного многомерного распределение вероятностей, когда прямая выборка затруднена. Эта последовательность может использоваться для аппроксимации совместного распределения (например, для создания гистограммы распределения); для аппроксимации предельного распределения одной из переменных или некоторого подмножества переменных (например, неизвестных параметров или скрытых переменных ); или для вычисления интеграла (например, ожидаемого значения одной из переменных). Как правило, некоторые из переменных соответствуют наблюдениям, значения которых известны и, следовательно, не нуждаются в выборке.
Выборка Гиббса обычно используется как средство статистического вывода, особенно байесовского вывода. Это рандомизированный алгоритм (т. Е. Алгоритм, который использует случайные числа ) и является альтернативой детерминированным алгоритмам для статистического вывода, таким как алгоритм максимизации ожидания (EM).
Как и другие алгоритмы MCMC, выборка Гиббса генерирует цепь Маркова выборок, каждая из которых коррелирует с соседними выборками. В результате следует проявлять осторожность, если требуются независимые образцы. Как правило, выборки с начала цепочки (период приработки) могут неточно представлять желаемое распределение и обычно отбрасываются.
Выборка Гиббса названа в честь физика Джозайя Уилларда Гиббса, в отношении аналогии между алгоритмом выборки и статистической физикой. Алгоритм был описан братьями Стюартом и Дональдом Геманом в 1984 году, примерно через восемь десятилетий после смерти Гиббса.
В своей базовой версии выборка Гиббса является особой случай алгоритма Метрополиса – Гастингса. Однако в его расширенных версиях (см. ниже) его можно рассматривать как общую основу для выборки из большого набора переменных путем выборки каждой переменной (или в некоторых случаях каждой группы переменных) по очереди, и может включать в себя алгоритм Метрополиса – Гастингса (или такие методы, как выборка срезов ) для реализации одного или нескольких шагов выборки.
Выборка Гиббса применима, когда совместное распределение не известно явно или его трудно выбрать напрямую, но условное распределение каждой переменной известно и легко (или, по крайней мере, проще) для выборки из. Алгоритм выборки Гиббса генерирует экземпляр из распределения каждой переменной по очереди, в зависимости от текущих значений других переменных. Можно показать, что последовательность выборок составляет цепь Маркова, а стационарное распределение этой цепи Маркова является просто желаемым совместным распределением.
Выборка Гиббса особенно хорошо адаптирована для выборки апостериорного распределения для байесовской сети, поскольку байесовские сети обычно задаются как набор условных распределений.
Выборка Гиббса в ее основном воплощении является частным случаем алгоритма Метрополиса – Гастингса. Смысл выборки Гиббса в том, что при многомерном распределении проще выбрать из условного распределения, чем маргинализировать путем интегрирования по совместному распределению. Предположим, мы хотим получить выборок из из совместного распределения . Обозначим th выборку как . Мы действуем следующим образом:
Если такая выборка выполняется, сохраняются следующие важные факты:
При выполнении выборка:
Кроме того, условное распределение одной переменной с учетом всех остальных пропорционально совместному распределению:
«Пропорционально» в этом случае означает, что знаменатель не является функцией и, следовательно, одинаков для всех значений ; он составляет часть константы нормализации для распределения по . На практике, чтобы определить характер условного распределения фактора , проще всего разложить на множители совместное распределение согласно отдельным условным распределениям, определяемым графическая модель по переменным, игнорируйте все факторы, которые не являются функциями (все из которых вместе со знаменателем выше составляют константа нормализации), а затем при необходимости восстановите константу нормализации в конце. На практике это означает выполнение одного из трех действий:
Выборка Гиббса обычно используется для статистического вывода (например, определение наилучшего значения параметра, например определение количества люди, которые могут делать покупки в определенном магазине в определенный день, кандидат, за которого, скорее всего, проголосует избиратель, и т. д.). Идея состоит в том, что наблюдаемые данные включаются в процесс выборки путем создания отдельных переменных для каждой части наблюдаемых данных и фиксации рассматриваемых переменных в их наблюдаемых значениях, а не выборки из этих переменных. Распределение остальных переменных в этом случае фактически является апостериорным распределением, обусловленным наблюдаемыми данными.
Наиболее вероятное значение желаемого параметра (режим ) можно затем просто выбрать, выбрав наиболее часто встречающееся значение выборки; это по существу эквивалентно максимальной апостериорной оценке параметра. (Поскольку параметры обычно являются непрерывными, часто бывает необходимо «объединить» выбранные значения в один из конечного числа диапазонов или «ячеек», чтобы получить значимую оценку режима.) Однако чаще выбрано ожидаемое значение (среднее или среднее) выборочных значений; это байесовская оценка, которая использует дополнительные данные обо всем распределении, доступные из байесовской выборки, тогда как алгоритм максимизации, такой как максимизация ожидания (EM), способен только возвращение единственной точки из раздачи. Например, для унимодального распределения среднее (ожидаемое значение) обычно аналогично режиму (наиболее распространенное значение), но если распределение смещено в одном направлении, среднее значение будет перемещено в этом направлении, что эффективно учитывает дополнительную массу вероятностей в этом направлении. (Если распределение является мультимодальным, ожидаемое значение может не возвращать значимую точку, и любой из режимов обычно является лучшим выбором.)
Хотя некоторые из переменных обычно соответствуют интересующим параметрам, другие неинтересны («мешающие») переменные, введенные в модель, чтобы правильно выразить отношения между переменными. Хотя выборочные значения представляют собой совместное распределение по всем переменным, мешающие переменные можно просто игнорировать при вычислении ожидаемых значений или режимов; это эквивалентно маргинализации по мешающим переменным. Когда требуется значение для нескольких переменных, ожидаемое значение просто вычисляется по каждой переменной отдельно. (Однако при вычислении режима все переменные должны рассматриваться вместе.)
контролируемое обучение, неконтролируемое обучение и полу-контролируемое обучение (также известное как обучение с отсутствующими значениями)) могут быть обработаны простым фиксированием значений всех переменных, значения которых известны, и выборкой из остатка.
Для наблюдаемых данных будет одна переменная для каждого наблюдения, а не, например, одна переменная, соответствующая выборочному среднему или выборочной дисперсии набора наблюдений. Фактически, обычно не будет никаких переменных, соответствующих таким понятиям, как «выборочное среднее» или «выборочная дисперсия». Вместо этого в таком случае будут переменные, представляющие неизвестное истинное среднее значение и истинную дисперсию, и определение значений выборки для этих переменных происходит автоматически в результате работы пробоотборника Гиббса.
Обобщенные линейные модели (т.е. вариации линейной регрессии ) также могут иногда обрабатываться с помощью выборки Гиббса. Например, пробит-регрессия для определения вероятности данного двоичного (да / нет) выбора с нормально распределенными априорными значениями, помещенными над коэффициентами регрессии, может быть реализована с помощью выборки Гиббса, поскольку она можно добавить дополнительные переменные и воспользоваться преимуществом сопряжения. Однако логистическая регрессия не может быть обработана таким образом. Одна из возможностей - аппроксимировать логистическую функцию смесью (обычно 7–9) нормальных распределений. Однако чаще используется Метрополис – Гастингс вместо выборки Гиббса.
Предположим, что образец взят из распределения, зависящего от вектора параметров длины , с предварительное распределение . Может оказаться, что очень велик, и это численное интегрирование для определения предельных плотностей потребует больших вычислительных ресурсов. Тогда альтернативный метод вычисления предельной плотности состоит в том, чтобы создать цепь Маркова в пространстве путем повторения этих двух шагов:
Эти шаги определяют обратимую цепь Маркова с желаемым инвариантным распределением . Это можно доказать следующим образом. Определите , если для всех и пусть обозначают вероятность перехода с на . Тогда вероятности перехода равны
Итак,
поскольку является отношением эквивалентности. Таким образом, подробные уравнения баланса удовлетворяются, что означает, что цепь обратима и имеет инвариантное распределение .
На практике индекс не выбирается случайным образом, и цепочка циклически перебирает индексы по порядку. В общем, это дает нестационарный марковский процесс, но каждый отдельный шаг по-прежнему будет обратимым, и весь процесс по-прежнему будет иметь желаемое стационарное распределение (до тех пор, пока цепочка может получить доступ ко всем состояниям при фиксированном порядке).
Существуют многочисленные варианты базового сэмплера Гиббса. Цель этих изменений - уменьшить автокорреляцию между выборками в достаточной степени, чтобы преодолеть любые дополнительные вычислительные затраты.
В иерархическом Байесовские модели с категориальными переменными, такими как скрытое распределение Дирихле и различные другие модели, используемые в обработке естественного языка, довольно часто сводят Распределения Дирихле, которые обычно используются как предварительные распределения по категориальным переменным. Результат этого сворачивания вводит зависимости между всеми категориальными переменными, зависящими от данного априорного значения Дирихле, и совместное распределение этих переменных после сворачивания является полиномиальным распределением Дирихле. Условное распределение данной категориальной переменной в этом распределении, обусловленное другими, принимает чрезвычайно простую форму, которая делает выборку Гиббса даже проще, чем если бы сворачивание не было выполнено. Правила заключаются в следующем:
В общем, любое сопряженное априорное число может быть свернуто out, если его единственные дочерние элементы имеют сопряженные с ним распределения. Соответствующая математика обсуждается в статье о составных распределениях. Если есть только один дочерний узел, результат часто будет предполагать известное распределение. Например, свертывание распределенной по обратной гамме дисперсии из сети с одним дочерним элементом Гаусса даст t-распределение Стьюдента. (В этом отношении свертывание как среднего, так и дисперсии одного гауссовского дочернего элемента все равно приведет к t-распределению Стьюдента, при условии, что оба они сопряжены, т.е. среднее по Гауссу, дисперсия обратной гаммы.)
Если есть несколько дочерние узлы, все они станут зависимыми, как в случае Дирихле - категориальный. Результирующее совместное распределение будет иметь замкнутую форму, которая в некотором роде напоминает составное распределение, хотя в нем будет произведение нескольких факторов, по одному для каждого дочернего узла.
Вдобавок, что наиболее важно, результирующее условное распределение одного из дочерних узлов с учетом других (а также с учетом родителей свернутого узла (ов), но не с учетом дочерние элементы дочерних узлов) будут иметь ту же плотность, что и апостериорное прогнозное распределение всех остальных дочерних узлов. Более того, апостериорное прогнозирующее распределение имеет ту же плотность, что и базовое составное распределение одного узла, хотя и с другими параметрами. Общая формула приведена в статье о составных распределениях.
. Например, для байесовской сети с набором условно независимых идентично распределенных узлов с распределением по Гауссу с сопряжены предшествующие распределения, помещенные на среднее значение и дисперсию, условное распределение одного узла с учетом других после сложения среднего и дисперсии будет t-распределением Стьюдента. Аналогичным образом, результат сложения априорного значения гамма ряда узлов с распределением Пуассона приводит к тому, что условное распределение одного узла с учетом других принимает отрицательное биномиальное распределение.
В этих случаях, когда сложение дает хорошо известное распределение, часто существуют эффективные процедуры выборки, и их использование часто (хотя и не обязательно) будет более эффективным, чем отсутствие сворачивания, а вместо этого выборка как предшествующих, так и дочерних узлов по отдельности. Однако в случае, когда составное распределение не очень хорошо известно, выборку из него может быть непросто, поскольку оно обычно не принадлежит к экспоненциальному семейству и обычно не будет log- вогнутый (который упростил бы выборку с использованием выборки с адаптивным отклонением, поскольку всегда существует закрытая форма).
В случае, когда дочерние узлы свернутых узлов сами имеют дочерних узлов, условное распределение одного из этих дочерних узлов с учетом всех других узлов в графе должно будет учитывать распределение этих узлов второго уровня. дети. В частности, результирующее условное распределение будет пропорционально произведению составного распределения, как определено выше, и условных распределений всех дочерних узлов с учетом их родителей (но не с учетом их собственных детей). Это следует из того, что полное условное распределение пропорционально совместному распределению. Если дочерние узлы свернутых узлов являются непрерывными, это распределение, как правило, не будет иметь известную форму, и его вполне может быть трудно выбрать, несмотря на то, что может быть записана закрытая форма для того же причины, описанные выше для неизвестных составных распределений. Однако в частном случае, когда дочерние узлы являются дискретными, выборка возможна независимо от того, являются ли дочерние узлы этих дочерних узлов непрерывными или дискретными. Фактически, задействованный здесь принцип довольно подробно описан в статье о полиномиальном распределении Дирихле.
Также возможно расширить выборку Гиббса различными способами. Например, в случае переменных, условное распределение которых нелегко выбрать, можно использовать одну итерацию выборки срезов или алгоритм Метрополиса – Гастингса для выборки из переменных. обсуждаемый. Также можно включать переменные, которые не являются случайными величинами, но значение которых вычисляется из других переменных. Обобщенные линейные модели, например логистическая регрессия (также известная как «модели максимальной энтропии »), может быть включена таким образом. (ОШИБКИ, например, допускают этот тип смешивания моделей.)
Есть два пути, по которым выборка Гиббса может не сработать. Первый - это когда есть острова состояний с высокой вероятностью, между которыми нет путей. Например, рассмотрим распределение вероятностей по 2-битным векторам, где каждый вектор (0,0) и (1,1) имеет вероятность 1/2, а двадругих изображений (0,1) и (1,0) вероятность нуль. Выборка Гиббса попадет в ловушку одного из двух векторов с высокой вероятностью и никогда не достигнет другого. В более общем смысле, для любого распределения по многомерным их действующим значениям, если два отдельных элемента идеально коррелированы (или совершенно антикоррелированы), эти два элемента застрянут, и выборка Гиббса никогда не изменится.
Вторая проблема может возникнуть, даже если все состояния имеют ненулевую вероятность и есть только один островок состояния с высокой вероятностью. Например, рассмотрим распределение вероятностей по 100-битным векторм, где вектор из всех других векторов с вероятностью 1/2, все другие равновероятны и, следовательно, имеют вероятность каждый. Если вы хотите оценить вероятность нулевого вектора, взять или 1000 выборок из истинного 100 распределения. Это, скорее всего, даст ответ, очень близкий к ½. Но вам, вероятно, придется взять более выборок из выборки Гиббса, чтобы получить тот же результат. Ни один компьютер не смог бы сделать это за всю жизнь.
Эта проблема возникает независимо от того, как долго длится период приработки. Это связано с тем, что в истинном распределении встречается ненулевой вектор в половинных случаях. Даже небольшая выборка будет видеть как нулевые, так и ненулевые категории. Но выборка Гиббса будет попеременно возвращать только нулевой вектор в течение длительных периодов времени (примерно в строке), а только ненулевые вызовы в длительных периодов ( примерно подряд). Таким образом, сходимость к истинному распределению происходит очень медленно и требует гораздо больше, чем шагов; выполнение такого количества шагов невозможно с вычислительной точки зрения в разумный период времени. Медленную конвергенцию здесь можно рассматривать как следствие проклятия размерности. Подобную проблему можно решить путем блочной выборки сразу всего 100-битного вектора. (Предполагается, что 100-битный вектор является частью большего набора переменных. Если этот вектор является единственным объектом выборки, то блочная выборка эквивалентна тому, что выборка Гиббса вообще не выполняется, что по гипотезе было бы затруднительно.)