Как мне выбрать образец из следующего дистрибутива?
Если не слишком велико, то выборка отклонения может быть лучшим подходом, но я не уверен, как действовать, когда k велико. Возможно, есть какое-то асимптотическое приближение, которое можно применить?
random-generation
beta-distribution
truncation
user1502040
источник
источник
Ответы:
Простейшим и наиболее общим способом, применимым к любому усеченному распределению (его можно также обобщить для усечения с обеих сторон), является использование выборки с обратным преобразованием . Если - совокупное распределение интереса, тогда установите p 0 = F ( k ) и возьмитеF p0=F(k)
где - выборка из F, усеченной влево в точке k . Функция квантиль F - 1 будет отображать вероятности в образцах из F . Поскольку мы берем значения U только из «области», которая соответствует значениям бета-распределения из неусеченной области, вы будете выбирать только эти значения.X F k F−1 F U
Этот метод показан на изображении ниже, где усеченная область отмечена серым прямоугольником, точки красного цвета взяты из распределения а затем преобразованы в B ( 2 , 8 ) выборок.U(p0,1) B(2,8)
источник
scipy.special.betainc
для обратного и в R естьpbeta
.qbeta
для функцииПрелесть этого подхода в том, что вся тяжелая работа в настройке. Как только функция огибающей определена, нормализующая константа для усеченной бета-плотности рассчитана, остается только сгенерировать однородные случайные переменные и выполнить с ними несколько простых арифметических операций, журналов и степеней и сравнений. Усиление функции огибающей - с горизонтальными линиями или более экспоненциальными кривыми - может, конечно, уменьшить количество отклонений.
источник