Выборка отклонения будет работать исключительно хорошо, когда и является разумной для c d ≥ exp ( 2 ) .cd≥exp(5)cd≥exp(2)
Чтобы немного упростить математику, пусть , напишите x = a и отметьте, чтоk=cdx=a
f(x)∝kxΓ(x)dx
для . Установка х = у +3 / 2 даетx≥1x=u3/2
f(u)∝ku3/2Γ(u3/2)u1/2du
для . Когда k ≥ exp ( 5 ) , это распределение очень близко к нормальному (и становится ближе с увеличением k ). В частности, вы можетеu≥1k≥exp(5)k
Найти режим численно (используя, например, Ньютона-Рафсона).f(u)
Разверните до второго порядка о его режиме.logf(u)
Это дает параметры близко приближенного нормального распределения. С высокой точностью этот аппроксимирующий нормаль доминирует над за исключением крайних хвостов. (Когда k < exp ( 5 ) , вам может понадобиться немного увеличить Normal pdf, чтобы обеспечить доминирование.)f(u)k<exp(5)
Выполнив эту предварительную работу для любого заданного значения и оценив постоянную M > 1 (как описано ниже), получение случайной переменной зависит от:kM>1
Нарисуйте значение из доминирующего нормального распределения g ( u ) .ug(u)
Если или если новая равномерная переменная X превышает f ( u ) / ( M g ( u ) ) , вернитесь к шагу 1.u<1Xf(u)/(Mg(u))
Набор .x=u3/2
Ожидаемое число оценок из - за несоответствия между г и е лишь немногим больше , чем 1. ( В некоторых дополнительных оценок будет происходить из - за отклонений от случайных величин меньше , чем 1 , но даже тогда , когда к столь же низко как 2 частота таких вхождения малы.)fgf1k2
Этот график показывает логарифмов о г и е в зависимости от функции и для . Поскольку графики очень близки, нам нужно проверить их соотношение, чтобы увидеть, что происходит:k=exp(5)
Это показывает логарифмическое отношение ; коэффициент M = exp ( 0,004 ) был включен, чтобы обеспечить положительный логарифм по всей основной части распределения; то есть, чтобы обеспечить M g ( u ) ≥ f ( u ), за исключением, возможно, в областях незначительной вероятности. Делая M достаточно большим, вы можете гарантировать, что M ⋅ glog(exp(0.004)g(u)/f(u))M=exp(0.004)Mg(u)≥f(u)MM⋅gдоминирует во всех, кроме самых экстремальных хвостов (у которых практически нет шансов быть выбранными в симуляции в любом случае). Однако чем больше М , тем чаще будут происходить отклонения. Поскольку k становится большим, M можно выбирать очень близко к 1 , что практически не влечет за собой штрафов.fMkM1
Подобный подход работает даже для , но достаточно большие значения M могут потребоваться, когда exp ( 2 ) < k < exp ( 5 ) , потому что f ( u ) заметно асимметрична. Например, при k = exp ( 2 ) , чтобы получить достаточно точное значение g, нам нужно установить M = 1 :k>exp(2)Mexp(2)<k<exp(5)f(u)k=exp(2)gM=1
Верхняя красная кривая - это график а нижняя синяя кривая - это график log ( f ( u ) ) . Отказ от выборки f по отношению к exp ( 1 ) g приведет к отклонению примерно 2/3 всех пробных розыгрышей, утроив усилие: все еще неплохо. Правый хвост ( у > 10 или х > 10 3 / 2 ~ 30log(exp(1)g(u))log(f(u))fexp(1)gu>10x>103/2∼30) будет недостаточно представлен в выборке отклонения (потому что больше не доминирует в f ), но этот хвост составляет менее exp ( - 20 ) ∼ 10 - 9 от общей вероятности.exp(1)gfexp(−20)∼10−9
Подводя итог, можно сказать, что после первоначальных попыток вычисления режима и оценки квадратичного члена степенного ряда вокруг режима - усилия, требующего не более нескольких десятков оценок функций, - вы можете использовать выборку отклонения в ожидаемая стоимость от 1 до 3 (или около того) оценок за вариант. Множитель стоимости быстро падает до 1, когда k = c d увеличивается за пределы 5.f(u)k=cd
Даже если требуется только одна ничья от , этот метод является разумным. Это становится само собой разумеющимся, когда для одного и того же значения k требуется много независимых отрисовок , и тогда накладные расходы на начальные вычисления амортизируются на протяжении многих отрисовок.fk
добавление
@Cardinal довольно разумно попросил поддержать некоторые из анализа размахивающих рук в последующем. В частности, почему бы преобразование делает распределение приблизительно Нормальным?x=u3/2
В свете теории преобразований Бокса-Кокса естественно стремиться к некоторому степенному преобразованию в форме (для константы α , мы надеемся, не слишком отличающегося от единицы), которое сделает распределение «более» нормальным. Напомним, что все нормальные распределения просто характеризуются: логарифмы их pdf являются чисто квадратичными, с нулевым линейным членом и без членов более высокого порядка. Поэтому мы можем взять любой pdf и сравнить его с нормальным распределением, расширив его логарифм в виде степенного ряда вокруг его (самого высокого) пика. Мы ищем значение α, которое делает (по крайней мере) третьимx=uαααсила исчезает, по крайней мере, приблизительно: это самое большее, на что мы можем разумно надеяться, что один свободный коэффициент будет достигнут. Часто это работает хорошо.
Но как справиться с этим конкретным дистрибутивом? После преобразования мощности его pdf
f(u)=kuαΓ(uα)uα−1.
Возьмите его логарифм и использовать асимптотическое разложение Стирлинга из :log(Γ)
log(f(u))≈log(k)uα+(α−1)log(u)−αuαlog(u)+uα−log(2πuα)/2+cu−α
(для малых значений , которые не постоянны). Это работает при условии, что α положительно, что мы и будем считать случайным (иначе мы не можем пренебречь оставшейся частью разложения).cα
Вычислите его третью производную (которая при делении на Будет коэффициентом третьей степени u в степенном ряду) и используйте тот факт, что на пике первая производная должна быть равна нулю. Это значительно упрощает третью производную, давая (приблизительно, потому что мы игнорируем производную от c )3!uc
−12u−(3+α)α(2α(2α−3)u2α+(α2−5α+6)uα+12cα).
Когда не слишком мало, вы действительно будете большими на пике. Поскольку α является положительным, доминирующим членом в этом выражении является степень 2 α , которую мы можем установить на ноль, сделав его коэффициент равным нулю:kuα2α
2α−3=0.
Вот почему работает так хорошо: с этим выбором, коэффициент кубического члена вокруг пика ведет себя как U - 3 , что близко к ехр ( - 2 к ) . Когда k превышает 10 или около того, вы можете об этом практически забыть, и он достаточно мал даже для k до 2. Более высокие степени, начиная с четвертого, играют все меньше и меньше роль, когда k становится большим, потому что их коэффициенты растут тоже пропорционально меньше. Кстати, такие же расчеты (на основе второй производной от l o g ( fα=3/2u−3exp(−2k)kkk на своем пике) показывают, что стандартное отклонение этого нормального приближения немного меньше 2log(f(u)), с погрешностью, пропорциональнойexp(-k/2).23exp(k/6)exp(−k/2)