Эффективная выборка порогового бета-распределения


10

Как мне выбрать образец из следующего дистрибутива?

xB(α,β), x>k

Если не слишком велико, то выборка отклонения может быть лучшим подходом, но я не уверен, как действовать, когда k велико. Возможно, есть какое-то асимптотическое приближение, которое можно применить?kk


1
Не совсем однозначно ясно, что вы намерены там обозначить как « ». Вы имеете в виду усеченное бета-распределение (усеченное слева при k )? xB(α,β), x>kk
Glen_b

@Glen_b точно.
user1502040

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

Ответы:


14

Простейшим и наиболее общим способом, применимым к любому усеченному распределению (его можно также обобщить для усечения с обеих сторон), является использование выборки с обратным преобразованием . Если - совокупное распределение интереса, тогда установите p 0 = F ( k ) и возьмитеFp0=F(k)

UU(p0,1)X=F1(U)

где - выборка из F, усеченной влево в точке k . Функция квантиль F - 1 будет отображать вероятности в образцах из F . Поскольку мы берем значения U только из «области», которая соответствует значениям бета-распределения из неусеченной области, вы будете выбирать только эти значения.XFkF1FU

Этот метод показан на изображении ниже, где усеченная область отмечена серым прямоугольником, точки красного цвета взяты из распределения а затем преобразованы в B ( 2 , 8 ) выборок.U(p0,1)B(2,8)

Выборка обратного преобразования из усеченного распределения


5
(+1) Стоит отметить, что квантильную функцию не так легко оценить.
Scortchi - Восстановить Монику

1
@Scortchi Если a или b равны 1 или хотя бы целому числу, это неплохая форма (см. Википедию ). И в Python есть scipy.special.betaincдля обратного и в R есть pbeta.
Graipher

3
@Graipher: я должен был сказать "в общем, дешево" - было бы лучше избегать Ньютона-Рафсона или других итерационных решений, если это возможно. (Кстати, qbetaдля функции
квантиля

1
@ Scortchi вы правы, но в большинстве случаев для современных компьютеров это не должно быть серьезной проблемой. Я также рекомендую этот подход, поскольку он непосредственно доступен в большинстве программ и может быть распространен на любой усеченный дистрибутив, только если у него есть доступ к функции квантиля.
Тим

1
kk

8

k

αβk1<k2

f(x)=x(α1)(1x)(β1)B(k2,α,β)B(k1,α,β)

xLxUα,β>1

g(x)=cλeλ(xxL)

λ

λ=a1xb11x
c
c=f(x)λeλ(xxL)

введите описание изображения здесь

A=c(1eλ(xUxL))
xλc

Q(x)=xa(1x)b(a+b2)xa+1[exp((b1)(xxL)1x+xL(a1)x(a1))exp((b1)(xxU)1x+xU(a1)x(a1))]

dQdxxdQdx=0

k1k2Ulog(1U)λλ

введите описание изображения здесь

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


1
+1 Отличная идея. Поскольку бета-версия является нормальной для умеренных или больших значений ее параметров, в зависимости от того, насколько они близки друг к другу, использование гауссовой огибающей может быть еще немного более эффективным.
whuber

α<1β<1

1
αβ

@whuber: (1) Подход, который я здесь использовал для создания конвертов, не сработал бы, потому что плотности не являются вогнутыми. (2) (а) Я имел в виду, конечно, алгебраические функции + журналы и полномочия, триг. функции, если бы меня спросили, и, возможно, даже гамма-функции - признаюсь, у меня не было точного представления. (б) Точка отсчета - быстрые оценки функций не ограничиваются оценками с закрытыми формами.
Scortchi - Восстановить Монику

1
α<1β<1
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.