Имитационное моделирование. Учебное пособие
.pdfm
Если прологарифмировать почленно неравенство i e ,
i 0
то алгоритм принимает более удобную для программирова-
|
|
m |
|
ния форму |
X min m: |
ln i . |
|
|
|
i 0 |
|
Блок-схема последнего варианта алгоритма генерирования пуассоновской случайной величины X приведена на рис. 5.
Задание для самостоятельной работы
1) Написать подпрограммы:
а) генерирования одной реализации дискретной случайной величины с заданным рядом распределения
P{X xi } pi , i 1,...n комбинированным методом.
б) генерирования одной реализации случайных величин с дискретным равномерным, геометрическим, биномиальным, пуассоновским распределениями специальными методами 2) Сформировать выборку объема 1000 значений дискретной случайной величины с заданным рядом распределения и
сравнить относительные частоты значений xi с теоретическими вероятностями pi , i 1,...n .
3) Сформировать выборки объема 1000 значений случайных величин с дискретным равномерным, геометрическим,
биномиальным, пуассоновским распределениями. По 2 -
критерию при заданном 5%-ном уровне значимости проверить соответствие полученных значений случайных величин выбранным распределениям.
Сравнить теоретические и выборочные среднее и дисперсию.
31
1.5. Общие методы генерирования непрерывных случайных величин
Метод обратной функции. Пусть – случайная величи-
на, распределённая равномерно в интервале (0,1), а – нужная нам случайная величина с функцией распределения F(x). Нам нужно найти функцию вида ( ) , чтобы генерировать случайную величину .
Пусть сначала ( ) . Тогда имеем
F(x) P{ x} P{ ( ) x} P{ 1 (x)} ( 1) (x) .
Поэтому ( 1) (x) F(x) , (x) F 1 (x) и F ( 1) ( ) .
Пусть ( ) . Тогда имеем
F(x) P{ x} P{ ( ) x} P{ ( 1) (x)} 1 ( 1) (x).
При x ( ) , |
( 1) (x) , F(x) 1 и x F ( 1) (1 ), |
|
тогда ( ) F ( 1) |
(1 ) . В силу того, что случайная ве- |
|
личина 1 |
имеет |
равномерное распределение на (0,1), |
формулы, полученные для монотонно возрастающей и монотонно убывающей ( ) равнозначны. Рассмотрим примеры.
32
Пример 1. Пусть – случайная величина, имеющая экс-
поненциальное распределение с плотностью вероятностей
p(x) e x , x 0 , |
0. Функция распределения величи- |
||||
|
x |
u du e x |0x 1 e x , и находя |
|
||
ны |
F(x) e |
из |
|||
|
0 |
|
|
|
|
уравнения 1 e |
, получаем |
1 |
ln (1 ) . |
Тогда |
|
|
|||||
|
|
|
|
|
|
значение случайной величины, имеющей экспоненциальное распределение с параметром , генерируется по формуле
1 ln .
Пример 2. Пусть – случайная величина, имеющая распределение Релея с плотностью вероятностей
|
|
|
x |
|
e |
x 2 |
|
|
|
|
|
|||
p (x) |
|
|
|
2 2 |
|
, x 0 |
и |
функцией распределения |
||||||
2 |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
x |
u |
|
|
|
u2 |
|
x2 |
|
|||||
|
|
|
|
2 |
|
2 |
|
|||||||
F(x) |
|
|
|
e |
|
2 |
|
du 1 e |
2 |
|
. Решая относительно урав- |
|||
|
2 |
|
|
|||||||||||
|
0 |
|
|
|
|
|
|
|
|
|
|
|
||
нение 1 e |
2 |
|
|
|
|
|
|
|||||||
2 2 |
1 , получим формулу |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
2 ln . |
|
33
Пример 3. Пусть имеется группированная выборка объ-
ема N значений случайной |
величины на |
промежутке |
x0 , xn и по этой выборке построена гистограмма относи- |
||
тельных частот с вариантами |
xi и частотами i |
причем все |
x |
i |
x |
i |
x |
i 1 |
x , |
i 1,..., n. Если положить |
y |
i |
|
i |
, |
|
x |
|||||||||||||
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
n
i 1,..., n , то yi xi 1 и эмпирическая функция распреде-
i 1
ления случайной величины имеет вид
y1 (x x0 ), |
x0 x x1 , |
|
|
|
|
|||||||
y |
2 |
(x x ) y |
1 |
(x x |
0 |
), |
x x x |
2 |
, |
|||
|
1 |
|
1 |
|
|
1 |
|
|
||||
F(x) . . . . . . . . . . . . . |
|
|
||||||||||
|
|
|
|
n 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
(x xn 1 ) yi (xi xi 1 ), |
xn 1 x xn . |
||||||||||
yn |
||||||||||||
|
|
|
|
i 1 |
|
|
|
|
|
|
|
|
Для нахождения значения ( ) |
из уравнения F( ) посту- |
|||||||||||
пают так. Сначала генерируют случайное число и присваивают его значение переменной M . Затем из M последова-
тельно |
вычитают |
величины |
y1 (x1 x0 ), |
y2 (x2 x1 ), ..., yn (xn xn 1 ) |
пока на каком-то |
k -ом шаге не |
|
получится отрицательное число. |
|
||
34
|
|
|
|
|
|
M = , k = 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M = M - y[k] x |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
k = k + 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
нет |
|
да |
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
M < 0 |
|
|
|
|
= x[k] + M / y[k] |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
Рис. 6 |
|
|
|
|
|||||
Это будет означать, что M yk |
(xk ) 0 |
или xk |
|
M , |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yk |
где значение k может быть любым от 1 до n. Блок-схема этого алгоритма приведена на рис. 6.
Задание для самостоятельной работы
Написать программу генерирования одной реализации случайной величины (0, 7) по гистограмме с шагом
x 1 и частотами (2, 6, 11, 17, 8, 5, 1).
Метод суперпозиции. Пусть имеется двумерная случайная величина ( , ) с условной плотностью вероятностей p (x |y) . Пусть F ( y) – функция распределения случайной величины . Тогда плотность вероятностей случайной величины можно получить по формуле
35
p (x) p (x | y) dF ( y)
В частности, если – дискретная случайная величина такая,
что P{ i } pi , |
|
p |
n |
pi (x), где |
i 1,..., n , то |
(x) pi |
|||
|
|
|
i 1 |
|
pi (x) p(x | i ). |
|
|
|
|
Если известна плотность вероятностей |
p ( y) непрерывной |
|||
случайной величины , то
p (x) p (x | y) p ( y) dy .
Пусть мы умеем генерировать случайную величину с плотностью вероятностей p ( y) и, зная значение y , уме-
ем генерировать случайную величину с плотностью веро-
ятностей p (x y) . Тогда генерация осуществляется в два этапа:
1)сначала генерируется значение y случайной величины
, имеющей плотность вероятностей p ( y) или ряд распре-
деления P{ i }= pi , i 1,..., n .
2) Затем генерируется значение , имеющей плотность вероятностей p (y) p (x | y) . Рассмотрим примеры:
36
1. Пусть случайная величина имеет гиперэкспоненциальное распределение с плотностью вероятностей
n |
pi 0 , |
n |
i 0, |
|
p (x) pi i e i x , |
pi 1, |
x 0 . |
||
i 1 |
|
i 1 |
|
|
Тогда согласно методу суперпозиции значение генерируется в два этапа. Сначала генерируется значение i дискретной случайной величины с рядом распределения P{ i} pi , i 1,..., n . Далее значение случайной величины
определяется по формуле
ln ,
i
где – значение случайной величины с равномерным на интервале (0,1) распределением.
2. Пусть плотность вероятностей случайной величины
n |
ak 0, |
|
||
имеет вид p (x) ak xk , |
0 x 1. |
|||
k 1 |
|
|
||
Приведём p (x) к виду |
|
pk (k 1) xk . |
||
p (x) ak |
(k 1) xk |
|||
n |
|
|
|
n |
k 0 (k 1) |
|
k 0 |
||
Заметим, что функция pk (x) (k 1) xk , 0 x 1, обладает всеми свойствами плотности вероятностей, и ей соответствует функция распределения
37
|
x |
|
|
|
Fk (x) pk (x) dx xk 1 . |
||||
|
0 |
|
|
|
Если k задано, то k 1 и генерация соответствующей |
||||
случайной величины идёт по формуле |
|
|
|
|
|
ln |
|
||
k 1 exp |
. |
|||
|
k 1 |
|
||
Поэтому генерация |
идёт в два этапа: на первом этапе по |
|||
ряду распределения |
P{ k} pk , k |
|
генерируется |
|
0 , n |
||||
значение k дискретной случайной величины , на втором этапе вычисляется значение k 1 .
3. Известно, что
|
1 |
|
|
x |
y |
|
2 |
x , x, y, 0 , |
|
e |
|
y |
|
dy 2 K0 |
|||
|
|
|
|
|||||
0 |
y |
|
|
|
|
|
|
|
где K0 2 x – функция Бесселя нулевого порядка (функция Макдональда). Поэтому, чтобы сгенерировать случай-
ную |
величину |
с |
плотностью |
вероятностей |
||||
p (x) 2 K0 2 x , нужно: |
|
|
|
|
|
|
||
а) |
получить значение случайной величины с плотно- |
|||||||
стью вероятностей p |
( y) e y по формуле |
1 |
ln |
|
, |
|||
|
1 |
|||||||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
||
где величина 1 равномерно распределена в интервале (0,1);
38
б) получив значение =y, сгенерировать случайную вели-
x
чину с плотностью вероятностей p (x y) 1y e y по фор-
муле y ln 2 , где величина равномерно распределена в интервале (0,1).
Задание для самостоятельной работы
Написать программу генерирования методом суперпозиции одной реализации случайной величины с известной
плотностью вероятностей
p (x) |
5 |
|
x |
|
x2 |
|
x3 |
, 0 x 1. |
|
8 |
3 |
4 |
2 |
||||||
|
|
|
|
|
Метод исключения.
Рассмотрим функцию g(x) такую, что: 1) g (x) 0 ,
2) сходится несобственный интегралG g (x) dx
3) область (G) (x, y) : 0 y g (x) имеет площадь G . Теорема 1. Пусть двумерная случайная величина ( , )
имеет совместную плотность вероятностей
1/ G, |
(x,y) (G), |
|
p (x, y) |
(x,y) (G), |
|
0, |
||
39
т.е. пара ( , ) имеет равномерное распределение в области (G). Тогда p (x) g (x) / G .
Доказательство. Найдем функцию распределения случайной величины
|
x |
|
g ( ) |
1 |
x |
|
g ( ) |
||
F (x) P{ x} |
d |
|
|
p ( , ) d |
|
|
d |
d |
|
|
|||||||||
|
|
|
0 |
|
G |
|
0 |
||
|
|
1 |
|
x |
|
|
|
|
|
|
|
|
|
|
g ( ) d . |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
G |
|
|
|
|
|||
Теперь плотность вероятностей случайной величины определится формулой p (x) F (x) g (x) / G итеорема доказана.
Заметим, что обычно g(x) является плотностью вероятностей случайной величины, которую необходимо генерировать, так что обычно G=1. Итак, идея метода исключения состоит в том, чтобы генерировать случайные пары ( , ) , распределённые равномерно в (G), и брать из пары только значение . Это и будет значение случайной величины с плотностью вероятностей p (x) g(x) . Представим себе, что об-
ласть (G) находится внутри аналогичной области |
|
||
(G1 ) (x, y), |
|
0 y g1 (x) |
|
конечной площади G1, где G1 |
|
|
|
|
g1 (x) dx , |
g1 (x) g(x) . |
|
И пусть генерировать пары ( , ) , равномерно распределённые в (G1), не составляет труда.
40
