Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Имитационное моделирование. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
804 Кб
Скачать

m

Если прологарифмировать почленно неравенство 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]