метода обратной функции

advertisement
Получение случайных чисел с заданным законом распределения.
Квазиравномерные псевдослучайные числа используются в качестве
исходного материала для формирования любых вероятностных объектов.
Такими объектами, в первую очередь, являются случайные события,
наступающие с заданной вероятностью и случайные величины с заданными
законами распределения.
Моделирование случайного события (реализация жребия). Пусть
требуется моделировать событие A, наступающее с заданной вероятностью
P( A).
Рассмотрим случайную величину ξ (x), распределённую равномерно на
отрезке [0, 1]. Считается, что событие A произошло, если xi  PA . Легко
видеть, что вероятность события A равна P ( A) 
PA
 dx  P
A
.
0
Таким образом, моделирование события A, вероятность наступления
которого PA сводится к следующей процедуре:
1. Выбирается очередное значение xi случайной величины ξ (x) .
xi  PA ,
2. Проверяется
неравенство
устанавливающее
принадлежность xi отрезку [0, PA].
Если xi удовлетворяет неравенству xi  PA , то событие A наступило, в
противном случае – не наступило (наступило противоположное событие ¬A).
Имитация дискретной случайной величины с заданным законом
распределения. Пусть величина  ( y ) принимает возможные значения
y1 , y2 ,..., yn с вероятностями P1 , P2 ,..., Pn .
В качестве значения случайной величины  ( y ) будет принято: y1, если
xi  P1 ; y2, если P1  x i  P1  P2 ; y3, если P1  P2  x i  P1  P2  P3 и т.д.
m
Другими словами, если
l m   Pi , то при l m1  x i  l m случайная
i 1
величина  ( y ) принимает значение y m .
Имитация непрерывных случайных величин. Метод обратной
функции.
Метод обратной функции основывается на следующей теореме: если
случайная величина  ( y ) имеет функцию плотности распределения f ( y) ,
то
y
x   f  ( y) dy
a
подчиняется равномерному закону распределения на отрезке [0, 1] ( а –
нижняя граница диапазона изменения случайной величины f ( y) ).
Таким образом, чтобы получить случайное число yi с функцией
плотности распределения f ( y) необходимо решить интегральное уравнение
yi
xi   f  ( y ) dy
a
относительно верхнего предела интегрирования.
Пример. Для экспоненциального закона имеем
yi
x i    e  y d y   e  y
yi
0
 1  e  y i ,
0
или
e  y i  1  x i .
Откуда
ln (e  y i )  ln (1  xi );  yi  ln (1  x i ); y i  
1
ln (1  x i ).

Достоинством метода обратной функции являются малые
вычислительные затраты при реализации вычислений в аналитическом виде.
В качестве недостатков метода следует отметить следующие:
 использование численных методов решения интегрального
уравнения приводит к ошибкам и большим затратам машинного времени;
 даже, когда интеграл берется в аналитическом виде, получаются
формулы, содержащие функции вычисления логарифмов, возведения в
степень, вычисления радикалов, что требует значительных затрат машинного
времени.
Поэтому на практике пользуются другими, более универсальными,
часто приближенными методами имитации непрерывных случайных
величин.
Метод Неймана. Одним из универсальных методов имитации
непрерывных случайных величин является метод Неймана. Этот метод
применим для моделирования произвольных законов распределения. Кроме
того, он может использоваться для вычисления определённых интегралов.
Пусть необходимо получить последовательность ПСЧ yi, имеющих
функцию плотности распределения f ( y) с областью возможных значений
[a, b].
От случайной величины  ( y ) с функцией плотности распределения
f ( y), заданной на отрезке [a, b], перейдём к случайной величине
 ( x)  (( y)  a) (b  a),
которая будет иметь функцию плотности распределения f  ( x) с областью
возможных значений [0, 1]
f  ( x)   b  a  f   a   b  a  x  .
Пусть максимальное значение f  ( x) равно f m. Изменением масштаба
по оси ординат приведём отрезок [0, fm] к длине, равной единице. Тогда
f  ( x)   b  a  / f m  f   a   b  a  x  .
Таким образом, случайная величина  ( y ) помещается в единичный
квадрат.
Если ввести в рассмотрение двумерную случайную величину (вектор)
0
   ( x 0 ), 1 ( x1 )  , равномерно распределённую в единичном квадрате, то в
качестве искомых значений xi случайной величины ξ (x) будут выступать
значения 0 ( x0 ) , попавшие под кривую функции плотности распределения
f ( x) .
Алгоритм моделирования случайной величины  ( y ) методом Неймана
можно описать следующим образом:
1
0
1. Получение пары квазиравномерных ПСЧ x i и x i  1 (координат


1
0
вектора a x i , x i  1 ).
2. Вычисление f  ( x0i ) .
3. Если
f  ( x 0i )  x 1i  1 , то данный вектор

a x0i , x i1 1

отбрасывается
(холостое вычисление).
4. Если f  ( x 0i )  x 1i  1 , то вычисляется очередное j-е значение случайной
величины  ( y )
y j  x0i  b  a   a .
5. Переход к п. 1.
Реализация данного алгоритма позволяет получить необходимое
количество чисел с заданной функцией плотности распределения  ( y ) .
Достоинством метода является его применимость к любому закону
распределения, а недостатком – большие вычислительные затраты.
Приближённый метод. Пусть закон распределения случайной
величины  ( y ), которую необходимо имитировать на ЭВМ, задан
функцией плотности распределения f ( y), возможные значения которой
лежат на отрезке [a, b]. Если этот отрезок с бесконечными границами,
целесообразно перейти к усечённому распределению. Представим f ( y) на
участке [a, b] в виде кусочно-постоянной функции, т.е. отрезок [a, b]
разобъем на n полуитервалов  a k , a k  1  и будем считать f ( y) на каждом из
них постоянной. Тогда случайную величину  ( y ) можно представить в
виде
 ( y)  a k   k .
Величина  ( y ) на  a k , a k  1  считается распределённой равномерно.
Для аппроксимации f ( y) наиболее удобным способом, целесообразно
разбить отрезок [a, b] на полуинтервалы  a k , a k  1  таким образом, чтобы
вероятность попадания случайной величины  ( y ) на любой из них была
постоянной, т.е. не зависела от номера полуинтервала k. Для вычисления ak
воспользуемся соотношением
ak 1

ak
f  ( y ) dy 
1
,
n
где n – количество полуинтервалов.
Процедура имитации предполагает следующее:
 генерируется значение xi случайной равномерно распределённой на
отрезке [0, 1] величины ξ(x);
 с помощью xi выбирается полуинтервал  a k , a k  1  (путём
моделирования дискретной случайной величины, принимающей n
равновероятных значений);
 генерируется следующее значение xi+1 случайной равномерно
распределённой на отрезке [0, 1] величины ξ (x), которое масштабируется с
целью приведения его к полуинтервалу  a k , a k  1  .
Таким образом, значение xi+1 становится значением случайной
величины  k , равномерно распределённой на полуинтервале  a k , a k  1  .
Затем случайные числа с требуемым законом распределения
вычисляются по формуле
yi  a k  xi 1 (ak 1  ak ).
Получение
случайных
чисел
с
нормальным
законом
распределения. Для получения случайных чисел, распределённых по
нормальному закону, можно воспользоваться центральной теоремой теории
вероятностей, согласно которой сумма большого числа случайных чисел,
имеющих равномерное распределение на отрезке [0, 1], даёт распределение,
асимптотически приближающееся к нормальному.
Поэтому для получения нормального распределения следует
суммировать случайные числа, равномерно распределённые на отрезке [0, 1].
При этом математическое ожидание µ и среднеквадратическое отклонение σ
получаемого закона при достаточно большом числе n случайных величин
будут определяться выражениями   n / 2,   n / 2 3.
При n  8  12 приближение к нормальному закону достаточное для
практических потребностей.
Если необходимо смоделировать нормальный закон с математическим
ожиданием M  и среднеквадратическим отклонением   , то требуемые
случайные числа y j вычисляются по формуле
 2 n

yj  3
xi  n    M  ,

 n i 1

где j = 1, 2, … – номер случайного числа с заданными параметрами
нормального закона распределения.
Условия применимости рассмотренных методов получения
псевдослучайных чисел с заданными законами распределения:
 метода обратной функции – когда удаётся найти обратную
функцию;
 метода Неймана – для моделирования случайных величин,
имеющих сравнительно мало изменяющиеся функции плотности
распределения.
 приближённого метода
– когда метод обратной функции
неприменим, а метод Неймана – неэффективен.
Экспериментальная
проверка
соответствия
полученных
последовательностей ПСЧ законом распределения. Проверка степени
соответствия реализаций случайных величин соответствующим законам
распределения осуществляется с помощью критериев согласия. Критерий
согласия позволяет оценить вероятность того события, что полученная
выборка не противоречит сделанному предположению о виде закона
распределения случайной величины.
К одним из наиболее часто используемых в практике обработки
результатов машинных экспериментов является критерий Пирсона (критерий
«хи-квадрат»  2 ).
В критерии Пирсона за меру расхождения между эмпирическим и
теоретическим законами распределения принимается величина, значение
которой определяется по формуле

l
2
расч.

i 1
(m i  Np i )2
,
Np i
где l – число разрядов (интервалов), на которое разбиты все опытные
значения случайной величины ξ ; N – объём выборки; mi – численность i-го
разряда; pi – вероятность попадания случайной величины ξ в i-й интервал,
вычисленная из теоретического закона.
2
При N → ∞ закон распределения  независимо от вида закона
2
распределения случайной величины ξ стремится к   распределению с k = l
− v − 1 степенями свободы ( v – число параметров теоретического закона
распределения, вычисленных по данной выборке (для нормального закона –
это математическое ожидание и дисперсия, т.е. v для нормального закона
распределения равно 2)).
Гипотеза о виде закона распределения принимается, если  2расч.  2табл. ,
2
где  табл. – теоретическое (табличное, критическое) значение критерия.
Табличное значение критерия определяется по специальной таблице. Оно
зависит от принятого значения доверительной вероятности (уровня
значимости) и числа степеней свободы. Обычно уровень значимости
принимается равным 0,05, что соответствует доверительной вероятности
0,95. Для практического использования критерия Пирсона необходимо
выполнение двух условий: N  50  60; m i  5  8, i  1, l . Если второе условие
не выполняется, то интервалы следует объединить. При достаточно больших
значениях k распределение f ( 2 ) переходит в нормальное.
Для проверки соответствия случайных величин заданным законам
распределения широко используются и другие критерии согласия, например,
критерий Колмогорова-Смирнова. В этом критерии за меру расхождения
(отклонения) эмпирического и теоретического законов распределения
принимается величина
X  max F  ( x i )  F ( x i ) , i  1, N ,
xi
а в критерии Мизеса (критерий ω2) – величина

X  2    F  ( x)  F ( x)  d x ,

2
где F  ( x) эмпирическая, а F ( x ) теоретическая функции распределения.
Следует отметить, что при имитационном моделировании наибольшее
применение находит критерий  2 , как обеспечивающий наименьшую ошибку
в принятии неверной гипотезы.
Download