Вычислительно простое псевдо-гауссовое распределение с различным средним и стандартным отклонением?
-
26-09-2019 - |
Вопрос
Эта картина из Википедии имеет хороший пример функций, которые я бы в идеале хотел бы создавать:
Прямо сейчас я использую распределение IRWIN-Hall, что более или менее многочленамельным приближением гауссовского распределения ... в основном вы используете униформенный генератор случайных чисел и итайте его X раз и принять среднее значение. Чем больше итераций, тем больше похоже на гауссовое распределение.
Это довольно приятно; Однако я хотел бы иметь возможность иметь тот, где я могу варьировать среднее значение. Например, скажем, я хотел, я хотел номер между диапазоном 0 и 10, но около 7. Вроде, среднее значение (если я повторил эту функцию несколько раз), окажется 7, но фактический диапазон 0-10.
Есть ли одна я должен посмотреть вверх, или я должен работать над тем, что приступил к каким-то необычным математике со стандартными гауссовскими распределениями?
Решение
Я вижу противоречие в вашем вопросе. С одной стороны, вы хотите нормальное распределение, которое симметричный по своей природе, с другой стороны, вы хотите ассортимент асимметрично расположен к значению.
Я подозреваю, что вы должны попытаться посмотреть на другие функции плотности дистрибутивов, которые похожи на кривую колокола, а асимметричны. Нравиться Распределение журнала или Бета-распределение.
Другие советы
Заглянуть генерируя нормальные случайные вариации. Отказ Вы можете генерировать пары обычных случайных вариаций X = N (0,1) и трансформируйте его в любого нормального случайного варианта y = n (m, s) (y = m + s * x).
Звучит как то Усеченный нормально Распределение - это то, что заказал доктор. Это не «вычислительно простое» как SE, но простой в реализации, если у вас существующая реализация нормального распространения.
Вы можете просто генерировать распределение со средним, которое вы хотите, стандартное отклонение, которое вы хотите, а два конца, куда вы хотите. Вам придется заранее выполнять работу, чтобы вычислить среднее и стандартное отклонение основного (не усеченного) нормального распределения, чтобы получить среднее значение для того, чтобы вы хотите, но вы можете использовать формулы в этой статье. Также обратите внимание, что вы можете настроить дисперсию, используя этот метод :)
У меня есть код Java (на основе математической структуры Commons) для обоих Точный (медленнее) а также быстрый (менее точный) Реализация этого распределения, с PDF, CDF и выборки.