Точная выборка из неправильных смесей

10

Предположим, я хочу сделать выборку из непрерывного распределения . Если у меня есть выражение в видерp(x)p

p(x)=i=1aifi(x)

где и f_i - это распределения, из которых можно легко брать выборки, тогда я могу легко сгенерировать выборки из p :ai0,iai=1 рfip

  1. Выборка метки i с вероятностью ai
  2. Выборка Xfi

Можно ли обобщить эту процедуру, если ai иногда отрицательны? Я подозреваю, что видел, как это где-то сделано - возможно, в книге, возможно, для рассылки Колмогорова - поэтому я был бы очень рад принять ссылку в качестве ответа.

Если конкретный пример с игрушкой полезен, скажем, я хотел бы взять пример из

p(x,y)exp(xyαxy)x,y>0
я буду принять α(0,2) по техническим причинам, которые не должны иметь большого значения, в общей схеме вещей.

В принципе, я мог бы затем расширить это как следующую сумму:

p(x,y)n=0(1)nαn(n2)!(n2)!n!(xn/2ex(n2)!)(yn/2ey(n2)!).

(x,y) -термины внутри сумма может быть затем независимо от пробы , как гамма случайных величин случайным образом . Моя проблема, очевидно, в том, что коэффициенты «иногда» отрицательны.

Редактировать 1 : Я уточняю, что я стремлюсь генерировать точные выборки из p , а не вычислять ожидания по p . Для тех, кто заинтересован, некоторые процедуры для этого упоминаются в комментариях.

Редактировать 2 : Я нашел ссылку, которая включает в себя особый подход к этой проблеме, в «Неоднородном генерации случайных вариаций» Девроя . Алгоритм взят из «Заметки о выборке из комбинаций распределений» Бингами и де Маттеиса . Метод заключается в том, чтобы эффективно связать плотность сверху с помощью положительных членов суммы, а затем использовать выборку отклонения, основанную на этом конверте. Это соответствует методу, описанному в ответе @ Xi'an.

πr8
источник
1
Почему вы не можете сэмплировать, просто используя абсолютное значение , а затем отрицая сэмпл ? Другими словами, определите(при условии , что это конечная), а затем перенормировать вашу сумму на . X f i Z : = i = 1 | а я | ZaiXfiZ:=i=1|ai|Z
Алекс Р.
2
@AlexR. Если я вас понимаю, вариант этого будет полезен для расчета ожиданий при , но все же не для получения точных выборок из . Конечно, это ответ на актуальную проблему, хотя и не совсем то, что я ищу. рpp
августа
4
Это зависит от того, что вы собираетесь делать с этим образцом. Например, в целях вычисления моментов представляется простым обобщить выборку из смесей плотностей, дополнительно помечая любую точку, выбранную из компонента с отрицательным коэффициентом, как «отрицательную» точку и взвешивая ее вклад отрицательно в оценке момента. Точно так же вы можете создать KDE с такими отрицательными весами, при условии, что вы можете принять вероятность того, что некоторые из его значений будут отрицательными! (cc @ Xi'an)
whuber
1
Каким будет «точный» образец распределения? Опять же, то, как и как вы можете использовать смесь с отрицательным весом, зависит от того, как вы собираетесь использовать образец.
whuber
1
Это не отвечает на ваш вопрос, но вам может быть интересно прочитать о выборке из логарифмических вероятностей stats.stackexchange.com/a/260248/35989
Тим

Ответы:

5

Я ломал голову над этим вопросом, но так и не нашел удовлетворительного решения.

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

f(x)=g(x)ωh(x)1ωω>0
gg(x)ωh(x)gωh(x)/g(x)fg
g(x)=αi>0αifi(x)/αi>0αi
ωh
h(x)=αi<0αifi(x)/αi<0αi
Это действительно найдено в Библии моделирования Devroye, Неоднородная генерация случайных вариаций, раздел II.7.4, но следует из простого рассуждения о принятии-отклонении.

Первый вычислительный недостаток этого подхода состоит в том, что, несмотря на первое моделирование из выбранного компонента , суммы для и должны быть вычислены для этапа отклонения. Если суммы бесконечны без закрытой версии, это делает невозможным реализацию метода accept-reject .figh

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

αi>0αi=1αi<0αi
1ϱaccept=αi<0|αi|/i|αi|
αi

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

f(x)=i=1αigi(x)ωih(xi)1ωiωi>0
(gi,hi)gi(x)ωih(xi)>0

Я думаю, что более эффективное разрешение могло бы прийти из самого представления серии. Devroye, Неоднородная генерация случайных вариаций, раздел IV.5, содержит широкий спектр последовательных методов. Как, например, следующий алгоритм для представления альтернативного ряда цели когда ' s сходятся к нулю с и является плотностью:

f(x)=κh(x){1a1(x)+a2(x)}
ai(x)nhАльтернативный метод ряда Деврой

Эта проблема была недавно рассмотрена в контексте искажения смещенных оценок для MCMC, как, например, в подходе Глинна-Ри . И российский оценщик рулетки (в связи с проблемой фабрики Бернулли). И беспристрастная методология MCMC . Но нет выхода из проблемы знака ... Что делает его использование сложным при оценке плотностей, как в псевдо-маргинальных методах.

После дальнейших размышлений я пришел к выводу, что не существует общего метода для создания фактической симуляции из этой серии [вместо смеси, которая оказывается неправильной], без наложения дополнительной> структуры на элементы серии, как в вышеуказанный алгоритм из Библии Деврой . Действительно, поскольку большинство (?) Плотностей допускают последовательное разложение вышеописанного вида, это в противном случае подразумевало бы существование своего рода универсальной имитационной машины ...

Сиань
источник
Спасибо! Я также ценю дополнительные ссылки.
августа
1
Дополнительное спасибо за очень тщательный ответ и ссылки. Я рад принять этот ответ, так как он успешно генерирует точные выборки из за конечное время. Я вероятно продолжу думать о проблеме до некоторой степени все же; единственная дополнительная идея, которая мне показалась многообещающей, это рассматривать выборку из как выборку , зависящую от , и что там может быть некоторая геометрическая понимание, которое полезно для этой характеристики (я думаю, как сэмплер среза на ). Ура! pp=λgμhXgλgμh{(x,y):μh(x)<y<λg(x)}
№8
1
Я объяснил условный пробоотборник довольно плохо; характеристика, основанная на множестве, немного яснее (на мой взгляд). Мой ключевой момент заключается в том, что если вы можете сделать выборку равномерно из двумерного набора в последней строке, отсюда следует, что координата имеет правильное распределение. Может ли эта характеристика быть полезной для неподходящих смесей с более длинной суммой, еще неизвестно. (x,y)x
№8
1
Я также думал о пробоотборнике срезов, но это не "точно" в смысле симуляции.
Сиань
1

У меня есть проект идеи, которая могла бы работать. Это не точно , но, надеюсь, асимптотически точно. Чтобы превратить его в действительно строгий метод, где аппроксимация контролируется, или что-то в этом может быть доказано, вероятно, требуется много работы.

Во-первых, как упомянул Сиань, вы можете сгруппировать положительные веса, с одной стороны, и отрицательные веса, с другой стороны, чтобы в итоге у задачи было только два распределения и :gh

p=λgμh

с . Обратите внимание, что у вас есть .λμ=1λ1

Моя идея заключается в следующем. Вы хотите образец наблюдений от . Делать:Np

  • выборка значений из и сохранение их в спискеλNg
  • для каждого из значений, выбранных из , удалите их ближайшего (оставшегося) соседа из списка.μNh

В конце вы получаете баллов. Это не обязательно должен быть точно ближайший сосед, а просто точка, которая «достаточно близка». Первый шаг подобен созданию материи. Второй шаг похож на создание антивещества, и пусть оно сталкивается и отменяется с материей. Этот метод не является точным, но я считаю, что в некоторых условиях он асимптотически точен для больших (чтобы сделать его почти точным для малых сначала нужно использовать большое а затем взять небольшую случайную часть окончательного списка) , Я даю очень неофициальный аргумент, который является скорее объяснением, чем доказательством.(λμ)N=NNnN

Рассмотрим в пространстве наблюдений и небольшой объем вокруг с объемом Лебега . После выборки из число элементов в списке, которые также находятся в , приблизительно равно . После второго шага из него будет удалено приблизительно , и вы приблизительно получите желаемое число . Для этого нужно предположить, что количество точек в объеме достаточно велико.xvxϵgvλNg(x)ϵμNh(x)ϵNp(x)ϵ

Очень маловероятно, что этот метод противостоит большой размерности или некоторым патологиям и но может работать в малой размерности и достаточно гладких, «достаточно однородных» распределениях.gh

Примечание о точном методе:

Сначала я подумал об этом для дискретных распределений, и ясно, что в этом случае этот метод не является точным, поскольку он может генерировать выборки с вероятностью 0. У меня есть сильное убеждение, что точный метод невозможен с конечным временем обработки, и что это невозможность может быть доказана, по крайней мере, для дискретных распределений. Правило игры состоит в том, что вам разрешено использовать только точные сэмплеры «оракула» для и но вы не знаете и как функции от . Для простоты ограничимся распределениями Бернулли. Отсутствие точного метода связано с теорией фабрики Бернулли : если бы вы могли создать -койну изghghx(λpμq)p-coin и -coin, тогда вы можете создать монету из монеты, которая, как известно, невозможна для .qλppλ>1

Бенуа Санчес
источник
1
Я подумал об этом, но отклонил его, потому что мои первоначальные попытки продемонстрировать, что он может работать, привели к осознанию того, что в лучшем случае он будет приблизительным и потенциально плохим. Да, асимптотически это может сработать, но он не будет отвечать запросу OP на «точную» выборку из распределения.
whuber
Эффективность этого метода точно того же порядка, что и метод точного принятия-отклонения.
Сиань
1
Согласовано. И все же они совершенно разные. Метод accept-reject должен вычислять и как функции от . Я сосредоточился на использовании только выборок из и качестве «оракулов», как в настоящей смеси. Чем больше я думаю об этом, тем больше я убежден, что точный метод, основанный на выборке оракулов, не может существовать. ghxgh
Бенуа Санчес
1
Я думаю , что это в целом правильно, но могут быть полезны классы особых случаев , когда такой точный метод делает существование. Это потому, что (1) в некоторых случаях вычисление легко и (2) вам не нужно вычислять и и вам нужно только вычислить это отношение. г чg/(g+h)gh
whuber
@BenoitSanchez Спасибо за ваш исчерпывающий ответ; Я особенно ценю комментарии в конце о (потенциальной) невозможности точности. Я встречал фабрики Бернулли в прошлом и нашел их довольно сложными; Я постараюсь вернуться к теме и посмотреть, если она дает какие-либо идеи.
№8