В статистике выборка Гиббса или выборщик Гиббса — это алгоритм Монте-Карло с цепями Маркова (MCMC) для выборки из заданного многомерного распределения вероятностей , когда прямая выборка из совместного распределения затруднительна, но выборка из условного распределения более практична. Эту последовательность можно использовать для аппроксимации совместного распределения (например, для построения гистограммы распределения); для аппроксимации маргинального распределения одной из переменных или некоторого подмножества переменных (например, неизвестных параметров или скрытых переменных ); или для вычисления интеграла (например, ожидаемого значения одной из переменных). Как правило, некоторые переменные соответствуют наблюдениям, значения которых известны, и, следовательно, не нуждаются в выборке.
Выборка Гиббса обычно используется как средство статистического вывода , особенно байесовского вывода . Это рандомизированный алгоритм (т. е. алгоритм, который использует случайные числа ), и является альтернативой детерминированным алгоритмам статистического вывода, таким как алгоритм максимизации ожидания (EM).
Как и в случае с другими алгоритмами MCMC, выборка Гиббса генерирует цепь Маркова выборок, каждая из которых коррелирует с близлежащими выборками. В результате, необходимо соблюдать осторожность, если требуются независимые выборки. Как правило, выборки из начала цепочки ( период выгорания ) могут неточно представлять желаемое распределение и обычно отбрасываются.
Выборка Гиббса названа в честь физика Джозайи Уилларда Гиббса , в связи с аналогией между алгоритмом выборки и статистической физикой . Алгоритм был описан братьями Стюартом и Дональдом Геманами в 1984 году, примерно через восемь десятилетий после смерти Гиббса, [1] и стал популярен в статистическом сообществе для вычисления распределения маргинальной вероятности, особенно апостериорного распределения. [2]
В своей базовой версии выборка Гиббса является частным случаем алгоритма Метрополиса–Гастингса . Однако в своих расширенных версиях (см. ниже) ее можно считать общей структурой для выборки из большого набора переменных путем выборки каждой переменной (или в некоторых случаях каждой группы переменных) по очереди, и она может включать алгоритм Метрополиса–Гастингса (или такие методы, как выборка срезов ) для реализации одного или нескольких шагов выборки.
Выборка Гиббса применима, когда совместное распределение неизвестно явно или его трудно сделать напрямую, но условное распределение каждой переменной известно и его легко (или, по крайней мере, легче) сделать. Алгоритм выборки Гиббса генерирует экземпляр из распределения каждой переменной по очереди, в зависимости от текущих значений других переменных. Можно показать, что последовательность выборок представляет собой цепь Маркова , а стационарное распределение этой цепи Маркова — это как раз искомое совместное распределение. [3]
Выборка Гиббса особенно хорошо подходит для выборки апостериорного распределения байесовской сети , поскольку байесовские сети обычно определяются как набор условных распределений.
Выборка Гиббса в своей базовой инкарнации является частным случаем алгоритма Метрополиса–Гастингса . Суть выборки Гиббса в том, что при наличии многомерного распределения проще сделать выборку из условного распределения, чем маргинализировать путем интегрирования по совместному распределению . Предположим, что мы хотим получить выборки -мерного случайного вектора . Мы действуем итеративно:
Если проводится такой отбор проб, то сохраняются следующие важные факты:
При проведении отбора проб:
Более того, условное распределение одной переменной при всех остальных пропорционально совместному распределению, т.е. для всех возможных значений :
«Пропорционально» в данном случае означает, что знаменатель не является функцией и, таким образом, одинаков для всех значений ; он образует часть константы нормализации для распределения по . На практике, чтобы определить природу условного распределения фактора , проще всего разложить совместное распределение в соответствии с индивидуальными условными распределениями, определенными графической моделью по переменным, проигнорировать все факторы, которые не являются функциями (все из которых вместе со знаменателем выше составляют константу нормализации), а затем восстановить константу нормализации в конце, если необходимо. На практике это означает выполнение одной из трех вещей:
Выборка Гиббса обычно используется для статистического вывода (например, определения наилучшего значения параметра, например, определения количества людей, которые, скорее всего, будут делать покупки в определенном магазине в определенный день, кандидата, за которого избиратель, скорее всего, проголосует и т. д.). Идея заключается в том, что наблюдаемые данные включаются в процесс выборки путем создания отдельных переменных для каждой части наблюдаемых данных и фиксации рассматриваемых переменных на их наблюдаемых значениях, а не выборки из этих переменных. Распределение оставшихся переменных затем фактически является апостериорным распределением, обусловленным наблюдаемыми данными.
Наиболее вероятное значение желаемого параметра ( мода ) затем может быть просто выбрано путем выбора значения выборки, которое встречается чаще всего; это по сути эквивалентно максимальной апостериорной оценке параметра. (Поскольку параметры обычно непрерывны, часто необходимо «бинировать» выбранные значения в один из конечного числа диапазонов или «бинов», чтобы получить значимую оценку моды.) Однако чаще выбирается ожидаемое значение ( среднее или среднее) выбранных значений; это байесовский оценщик , который использует дополнительные данные обо всем распределении, которые доступны из байесовской выборки, тогда как алгоритм максимизации, такой как максимизация ожидания (EM), способен возвращать только одну точку из распределения. Например, для унимодального распределения среднее (ожидаемое значение) обычно похоже на моду (наиболее распространенное значение), но если распределение смещено в одном направлении, среднее будет смещено в этом направлении, что фактически учитывает дополнительную массу вероятности в этом направлении. (Если распределение является многомодальным, ожидаемое значение может не возвращать значимую точку, и любая из мод обычно является лучшим выбором.)
Хотя некоторые переменные обычно соответствуют интересующим параметрам, другие являются неинтересными («мешающими») переменными, введенными в модель для надлежащего выражения взаимосвязей между переменными. Хотя выборочные значения представляют совместное распределение по всем переменным, мешающие переменные можно просто игнорировать при вычислении ожидаемых значений или мод; это эквивалентно маргинализации мешающих переменных. Когда требуется значение для нескольких переменных, ожидаемое значение просто вычисляется для каждой переменной отдельно. (Однако при вычислении моды все переменные должны рассматриваться вместе.)
Контролируемое обучение , неконтролируемое обучение и полуконтролируемое обучение (также известное как обучение с пропущенными значениями) можно реализовать, просто зафиксировав значения всех переменных, значения которых известны, и выполнив выборку из оставшихся.
Для наблюдаемых данных будет одна переменная для каждого наблюдения, а не, например, одна переменная, соответствующая выборочному среднему или выборочной дисперсии набора наблюдений. Фактически, обычно не будет вообще никаких переменных, соответствующих таким понятиям, как «выборочное среднее» или «выборочная дисперсия». Вместо этого в таком случае будут переменные, представляющие неизвестное истинное среднее и истинную дисперсию, и определение выборочных значений для этих переменных автоматически происходит в результате работы сэмплера Гиббса.
Обобщенные линейные модели (т. е. вариации линейной регрессии ) иногда можно обрабатывать с помощью выборки Гиббса. Например, пробит-регрессия для определения вероятности заданного бинарного (да/нет) выбора с нормально распределенными априорными значениями, размещенными над коэффициентами регрессии, может быть реализована с помощью выборки Гиббса, поскольку можно добавлять дополнительные переменные и использовать сопряженность . Однако логистическая регрессия не может обрабатываться таким образом. Одна из возможностей — аппроксимировать логистическую функцию смесью (обычно 7–9) нормальных распределений. Однако чаще вместо выборки Гиббса используется Метрополис-Гастингс .
Предположим, что выборка взята из распределения, зависящего от вектора параметров длины , с априорным распределением . Может оказаться, что очень большое и численное интегрирование для нахождения предельных плотностей будет вычислительно затратным. Тогда альтернативный метод вычисления предельных плотностей заключается в создании цепи Маркова в пространстве путем повторения этих двух шагов:
Эти шаги определяют обратимую цепь Маркова с желаемым инвариантным распределением . Это можно доказать следующим образом. Определим, если для всех и обозначим вероятность перехода от к . Тогда вероятности перехода равны
Так
поскольку является отношением эквивалентности . Таким образом, подробные уравнения баланса удовлетворяются, что означает, что цепь обратима и имеет инвариантное распределение .
На практике индекс не выбирается случайным образом, и цепь циклически проходит по индексам по порядку. В общем случае это дает нестационарный марковский процесс, но каждый отдельный шаг все равно будет обратимым, а весь процесс все равно будет иметь желаемое стационарное распределение (пока цепь может получить доступ ко всем состояниям при фиксированном порядке).
Пусть обозначают наблюдения, полученные из выборочного распределения , и будут априорной базой, поддерживаемой в пространстве параметров . Тогда одной из центральных целей байесовской статистики является аппроксимация апостериорной плотности
где предполагается, что предельное правдоподобие конечно для всех .
Для объяснения сэмплера Гиббса мы дополнительно предполагаем, что пространство параметров разлагается следующим образом:
где представляет декартово произведение . Каждое компонентное параметрическое пространство может быть набором скалярных компонентов, подвекторов или матриц.
Определите набор , который дополняет . Основными ингредиентами сэмплера Гиббса является -ое полное условное апостериорное распределение для каждого
Следующий алгоритм описывает типовой сэмплер Гиббса:
Обратите внимание, что сэмплер Гиббса работает по итеративной схеме Монте-Карло в цикле. Количество сэмплов, полученных с помощью вышеприведенного алгоритма, формирует цепи Маркова с инвариантным распределением, которое является целевой плотностью .
Теперь для каждого определим следующие теоретико-информационные величины:
а именно, апостериорная взаимная информация, апостериорная дифференциальная энтропия и апостериорная условная дифференциальная энтропия соответственно. Мы можем аналогично определить информационные теоретические величины , , и заменив и в определяемых величинах. Тогда справедливы следующие уравнения. [4]
.
Взаимная информация количественно определяет уменьшение неопределенности случайной величины , как только мы узнаем , апостериори. Она исчезает тогда и только тогда, когда и являются незначительно независимыми, апостериори. Взаимную информацию можно интерпретировать как величину, которая передается с -го шага на -й шаг в течение одного цикла сэмплера Гиббса.
Существует множество вариаций базового сэмплера Гиббса. Цель этих вариаций — снизить автокорреляцию между сэмплами в достаточной степени, чтобы преодолеть любые дополнительные вычислительные затраты.
В иерархических байесовских моделях с категориальными переменными , такими как скрытое распределение Дирихле и различные другие модели, используемые в обработке естественного языка , довольно часто происходит сворачивание распределений Дирихле , которые обычно используются в качестве априорных распределений по категориальным переменным. Результат этого сворачивания вводит зависимости между всеми категориальными переменными, зависящими от данного априорного распределения Дирихле, и совместное распределение этих переменных после сворачивания является распределением Дирихле-мультиномиала . Условное распределение данной категориальной переменной в этом распределении, обусловленное другими, принимает чрезвычайно простую форму, которая делает выборку Гиббса еще проще, чем если бы сворачивание не было сделано. Правила следующие:
В общем случае, любое сопряженное априорное распределение может быть свернуто, если его единственные потомки имеют сопряженные с ним распределения. Соответствующая математика обсуждается в статье о составных распределениях . Если есть только один дочерний узел, результат часто будет предполагать известное распределение. Например, сворачивание дисперсии с обратным гамма-распределением из сети с одним гауссовым потомком даст распределение Стьюдента . (В этом отношении сворачивание как среднего, так и дисперсии одного гауссовского потомка все равно даст распределение Стьюдента, при условии, что оба они сопряжены, т. е. гауссовское среднее, обратная гамма-дисперсия.)
Если есть несколько дочерних узлов, они все станут зависимыми, как в случае Дирихле - категориальный . Результирующее совместное распределение будет иметь замкнутую форму, которая в некотором роде напоминает составное распределение, хотя оно будет иметь произведение ряда факторов, по одному для каждого дочернего узла.
Кроме того, и это самое важное, результирующее условное распределение одного из дочерних узлов с учетом других (а также с учетом родителей свернутого узла(ов), но без учета дочерних узлов дочерних узлов) будет иметь ту же плотность, что и апостериорное предсказательное распределение всех оставшихся дочерних узлов. Более того, апостериорное предсказательное распределение имеет ту же плотность, что и базовое составное распределение одного узла, хотя и с другими параметрами. Общая формула приведена в статье о составных распределениях .
Например, если задана сеть Байеса с набором условно независимых одинаково распределенных узлов с гауссовым распределением и сопряженными априорными распределениями, помещенными на среднее значение и дисперсию, то условное распределение одного узла с учетом других после вычитания как среднего значения, так и дисперсии будет t-распределением Стьюдента . Аналогично, результат вычитания априорной гамма -распределения ряда узлов с пуассоновским распределением приводит к тому, что условное распределение одного узла с учетом других предполагает отрицательное биномиальное распределение .
В этих случаях, когда компаундирование создает хорошо известное распределение, часто существуют эффективные процедуры выборки, и их использование часто (хотя и не обязательно) будет более эффективным, чем не сворачивание, а выборка как предшествующих, так и дочерних узлов по отдельности. Однако в случае, когда компаундное распределение не очень известно, выборка из него может быть нелегкой, поскольку оно, как правило, не будет принадлежать к экспоненциальному семейству и, как правило, не будет логарифмически вогнутым (что облегчит выборку с использованием адаптивной выборки отклонения , поскольку замкнутая форма всегда существует).
В случае, когда дочерние узлы свернувшихся узлов сами имеют дочерние узлы, условное распределение одного из этих дочерних узлов с учетом всех других узлов в графе должно будет учитывать распределение этих дочерних узлов второго уровня. В частности, результирующее условное распределение будет пропорционально произведению составного распределения, как определено выше, и условных распределений всех дочерних узлов с учетом их родителей (но не с учетом их собственных дочерних узлов). Это следует из того факта, что полное условное распределение пропорционально совместному распределению. Если дочерние узлы свернувшихся узлов непрерывны , это распределение, как правило, не будет иметь известной формы, и его может быть трудно выбрать, несмотря на то, что замкнутая форма может быть записана, по тем же причинам, которые описаны выше для неизвестных составных распределений. Однако в частном случае, когда дочерние узлы дискретны , выборка осуществима, независимо от того, являются ли дочерние узлы этих дочерних узлов непрерывными или дискретными. Фактически, принцип, используемый здесь, довольно подробно описан в статье о Дирихле-мультиномиальном распределении .
Также возможно расширить выборку Гиббса различными способами. Например, в случае переменных, условное распределение которых нелегко выбрать, можно использовать одну итерацию выборки среза или алгоритм Метрополиса–Гастингса для выборки из рассматриваемых переменных. Также возможно включить переменные, которые не являются случайными величинами , но значение которых детерминировано вычисляется из других переменных. Обобщенные линейные модели , например, логистическая регрессия (также известная как « модели максимальной энтропии »), могут быть включены таким образом. (BUGS, например, допускает этот тип смешивания моделей.)
Есть два способа, при которых выборка Гиббса может не сработать. Первый — когда есть острова высоковероятностных состояний, между которыми нет путей. Например, рассмотрим распределение вероятностей по 2-битным векторам, где векторы (0,0) и (1,1) каждый имеют вероятность 1/2 , но два других вектора (0,1) и (1,0) имеют нулевую вероятность. Выборка Гиббса попадет в ловушку одного из двух векторов с высокой вероятностью и никогда не достигнет другого. В более общем смысле, для любого распределения по многомерным действительным векторам, если два конкретных элемента вектора идеально коррелируют (или идеально антикоррелируют), эти два элемента застрянут, и выборка Гиббса никогда не сможет их изменить.
Вторая проблема может возникнуть даже тогда, когда все состояния имеют ненулевую вероятность и есть только один остров высоковероятных состояний. Например, рассмотрим распределение вероятностей по 100-битным векторам, где вектор из всех нулей встречается с вероятностью 1/2 , и все остальные векторы равновероятны, и поэтому имеют вероятность каждого. Если вы хотите оценить вероятность нулевого вектора, будет достаточно взять 100 или 1000 образцов из истинного распределения. Это, скорее всего, даст ответ, очень близкий к 1/2 . Но вам, вероятно, придется взять больше образцов из выборки Гиббса, чтобы получить тот же результат. Ни один компьютер не смог бы сделать это за всю жизнь.
Эта проблема возникает независимо от того, насколько длителен период выжигания. Это происходит потому, что в истинном распределении нулевой вектор встречается в половине случаев, и эти появления случайным образом смешиваются с ненулевыми векторами. Даже небольшая выборка будет видеть как нулевые, так и ненулевые векторы. Но выборка Гиббса будет попеременно возвращать только нулевой вектор в течение длительных периодов (примерно подряд), а затем только ненулевые векторы в течение длительных периодов (примерно подряд). Таким образом, сходимость к истинному распределению чрезвычайно медленная, требующая гораздо больше, чем шагов; выполнение такого количества шагов вычислительно невыполнимо за разумный период времени. Медленную сходимость здесь можно рассматривать как следствие проклятия размерности . Подобную проблему можно решить путем блочной выборки всего 100-битного вектора сразу. (Это предполагает, что 100-битный вектор является частью большего набора переменных. Если этот вектор — единственное, что выбирается, то блочная выборка эквивалентна тому, чтобы вообще не выполнять выборку Гиббса, что по гипотезе было бы сложно.)
{{cite book}}
: CS1 maint: multiple names: authors list (link)