Лабораторная работа №1
«Методы генерации случайных величин с произвольным законом распределения»
Метод обратных функций (метод нелинейного преобразования обратного функции распределения)
Этот метод основан на следующей теореме теории вероятностей: если имеется случайная величина с плотностью распределения вероятности , то случайная величина
(1) |
имеет равномерный закон распределения на интервале [0,1]. Действительно, найдем вероятность , где - некоторое действительное число из интервала [0,1]; - интегральная функция распределения случайной величины . Для этого заметим, что интеграл, стоящий в правой части (1) равен интегральной функции распределения случайной величины
(2) |
и в силу того, что , является возрастающей функцией верхнего предела y. Тогда справедлива следующая цепочка равенств
(3) |
где - функция обратная интегральной функции распределения . Если x <0, то поскольку интеграл в правой части (1) не может быть отрицательным, . Аналогично, если x >1, то , т.к. значение этого интеграла не может быть больше единицы. Таким образом
(4) |
Дифференцируя (4), получим плотность распределения случайной величины
(5) |
Следовательно, случайная величина имеет равномерное распределение в интервале [0,1]. Это дает возможность предложить следующий алгоритм генерации случайной величины с произвольным законом распределения:
1-шаг. Генерируется случайная величина с равномерным в интервале [0,1] законом распределения.
2-шаг. Искомая случайная величина получается в результате следующих вычислений
(5) |
где - функция обратная интегральной функции распределения .
Пример 1. Необходимо получить случайные числа с плотностью распределения вероятности , и интегральной функцией вероятности , .
Согласно теореме . Тогда . Находим обратную функцию: . Число распределено равномерно на интервале [0,1]. Тогда и разность распределена равномерно. Поэтому выражение можно упростить: .
Пример 2. Необходимо получить случайные числа , распределенные по закону Релея. У такого случайного числа плотность распределения вероятности и интегральная функция вероятности имеют соответственно вид
, , , .
Случайные числа можно получить путем следующего преобразования равномерно распределенных в интервале [0,1] случайных чисел : .
Недостатки рассмотренного метода заключаются в том, что
· иногда трудно найти обратную функцию (не берется интеграл в (1)),
· требуется достаточный расход машинного времени.
Метод кусочной аппроксимации плотности распределения вероятности (Метод Бусленко Н. П.)
Суть метода состоит в замене плотности распределения вероятности ступенчатой функцией – набором K прямоугольников, вписанных в нее и имеющих одинаковые площади.
Предварительно перед аппроксимацией плотность распределения вероятности подвергается усечению в хвостах на интервале [ a, b ].
Площади K прямоугольников должны быть одинаковыми и равными . Выделим прямоугольник с основанием [ ak,ak+1 ], его площадь
(6) |
На основании (6) последовательно вычисляются значения , начиная с точки а и заканчивая точкой b.
Алгоритм моделирования заключается в последовательности следующих действий:
1. Генерируется равномерно распределенное на интервале [0,1] случайное число .
2. С помощью этого числа определяется номер , где - оператор округления до ближайшего целого. Таким образом, выделяется интервал .
3. Генерируется следующее число , равномерно распределенное на интервале [0,1].
4. Вычисляется случайное число . Число h является реализацией случайной величины заданного закона распределения.
Метод удобен для небольших K (до 64).
Достоинством является малое число операций, не зависящее от точности аппроксимации (K), так как масштабирование делается заранее до моделирования. К недостатку относится то, что точность аппроксимации не одинакова по всей области задания функции [ a, b ] и зависит от величины плотности . Чем меньше на данном интервале, тем меньше точность, так как основание вписанного прямоугольника больше.