Справочник по специальным функциям - Абрамович М.
Скачать (прямая ссылка):
Образование случайных tBicел с заданным законом распределения
Пусть {X} означает последовательность независимых равномерно распределенных случайных чиссл на интервале (О, Т). В качестве такой последовательности можно взять любую последовательность псевдослучайных чисел, образованную одним из вышеперечисленных способов. Тогда {С) = [T-iX) образует последовательность равномерно распределенных случайных чисел на интервале (0, 3). Образование такой последовательности обычно является предварительным шагом при получении последовательности случайных чисел с заранее заданной функцией распределения F(y) или плотностью вероятности f(y). Ниже перечислены некоторые общие схемы образования таких
случайных чиссл (далее всюду {С7} означает последовательность равномерно распределенных случайных чисел на интервале (0,1).
1. Метод инверсии.
Решения {7} уравнений {u = F(y)} образуют последовательность независимых случайных чиссл с функцией распределения F(y). (Если F (у) имеет разрыв в точке у -•-- у0, т.е. если и таково, что F(yc — 0) < и < -FtVn). то в качестве соответствующего числа выбираем у0.) Обычно метод инверсии мало используется на практике, за исключением тех случаев, когда обратная функция у — F~}(ii) известна или имеется ее простое приближение.
2. Образование случайных чисел с дискретным законом распределения.
Пусть Y означает дискретную случайную величину с вероятностями Pi " Pr { Y = Л'і} для Z = 1, 2,... Прямой способ образования последовательности {Y} из {?7} заключается в том, что полагают Y--^yu если рг -f- р2 + ... ... 4- pi-j < U < P1 -h р2 4- ... 4- Pi- Однако этот метод требует усложненных машинных программ, что делает erq достаточно медленным.26.8. МЕТОДЫ ОБРАЗОВАНИЯ СЛУЧАЙНЫХ ЧИСЕЛ 745
Другой способ, предложенный Марсалья [26.53], прост, быстр и хорошо исполт.зует возможности электронной машины. Пусть P1 дли / = 1,2, п выражается к десятичными цифрами, т. е. pi — 0. Slf SiIj ... 8?;, те каждое S означает десятичную цифру. (Если область изменения случайной величины бесконечна, то следует обрезать распределение вероятностей на ра-)
Обозначим
Pc = 0, Pr -= 10-г 2 8п
t-i
IIs = ^lOrPr Д
f S=O
= 1,2, ...,/с.
Занумеруем группу ячеек запоминающего устройства электронной машины числами 0, 1,2,..., IJk — 1. Эту группу ячеек делим на к взаимно исключаюгцих множеств таких, ЧТО 5-е множество содержит ячейки С номерами Пс-1, Пі-! + + 1,П? — 1. Информация, которая хранится в ячейках .т-го множества, состоит из J1i в Ssi ячейках. Уг в Sfa ячейках, ,Vn в ячейках.
Обозначим десятичное разложение значения равномерно распределенной случайной величины, образованной электронной машиной, и = 0. did2a3..., и пусть о{т} означает содержимое ячейки с номером т. Тогда, если
то положим
у = a I^rf2 ds + II,-! - 10' J2 р* j ¦
Этот метод, возможно, является наилучшим всеобъемлющим методом для образования случайных чисел с дискретным распределением. Чтобы проиллюстрировать этот метод, рассмотрим задачу образования случайных чисел с биномиальным законом распределения с верояі ностями
Pi = ~р>"-'
для и = 5 яр = 0.2.
Вероятности pi с 4D даются в таблице:
Вероятности
Значения случайной величины
0 1 2 3
Po = 0.3227 P1 = 0.4096 Ps = 0.2048 р8 - 0.0512 я Pi= 0.0064
5 р6 = 0.0003
Таким образом, P0 = 0, P1 =- 0.9, А> 0.07, Р, — 0.027, Pi = = 0.0030, II0 = 0, JT1 = 9, По = 16, IIs - Ai, Ili = 73.
73 ячейки запоминающего устройства разделяются на сследующие четыре взаимно исключающих множества:
Множество 1
Ячейки.
0, 1..... 8
9, 10..... 15
J 6..... 42
43, 12
Среди девяти ячеек множества 1 нуль содержится Sie =3 раза, 1 содержится S11 — 4 раза, 2 содержится S12 = 2 раза;
семь ячеек множества 2 содержат пуль S20 — 2 раза и З&23 = = 5 раз и т.д. Содержание ячеек запоминающего устройства дается ниже:
Значение случайной величавы
0 1 2 3 4 5
Частота (множество 1) 3 4 2 0 0 0
Частота (множество 2) 2 0 0 5 0 0
Частота (множество 3) 7 9 4 1 б 0
Частота (множество 4) 7 6 8 2 4 3
Затем образуем значения случайной величины по правилу:
если 0 < и < 0.9, то уа { di};
если 0.9 и < 0.97, то у = о {dtd3 — 81};
если 0.97 « и <'0.997, то у = а { did2dz — 954 };
если 0.997 $к< 1.000, то у = а { J1Jzdndt - 9927 }.
3. Образование случайных чисел с непрерывным законом распределения.
Метод образования случайных чисел с дискретным распределением можно использовать при получении случайных чисел С HenpepbIBHbTNf распределением. Пусть /' (>') означает функцию распределения, изменяющуюся в конечном интервале (a, b) (если область изменения бесконечна, следует обрезать ее, например, в точках а и Ь). Разделим интервал (а, Ь) на п интервалов длины А(пА~ Ь—а) таким образом, чтобы уі-ї и уі были границами /-го интервала, где yt = а іА, г = 0,1,..., п. Определим дискретное распределение, сосредоточенное в точках
j Zi= n+J»}
с вероятностями pi = F(yi) — F(y(-i). Наконец, пусть W означает равномерно распределенную случайную величину на отрезке (— Д/2, Д/2), Это можно сделать, положив W Д(?/ — 1/2). Тогда случайную величину с функцией распределения F(у) можно (приближенно) получить, положив у = z + w = z Д(и — 1/2). Этот мегод основан на приближенном разложении непрерывной случайной величины на сумму дискретной и непрерывной случайных величин. Дискретную величину можно быст ро получить методом, описанным выше. Чем меньше величина Д, тем ближе будет приближение. Каждое число можно получить, используя первые цифры величины U для образования дискретной случайной величины, а оставшиеся цифры — для образования равномерно распределенной на отрезке (0,1) случайной величины.