Согласно концепции статистического моделирования, необходимо каким-либо способом получить последовательность случайных чисел, равномерно распределенных в интервале [0, 1], затем преобразовать их в случайные числа с заданными законами распределения [1, 2]. Существуют три способа такой генерации: аппаратный, табличный и программный (или алгоритмический). Достоинства и недостатки этих способов моделирования рассматриваются, например, в [2].
Последний способ генерации является более «экономичным», поэтому в данной работе будет реализован именно этот способ.
В основе программной генерации лежит фундаментальное свойство конгруэнтности (сравнимости) чисел: два числа a и b называются конгруэнтными по модулю М, если существует целое число k, такое, что a – b = kM. Это свойство представляется в виде
а º b (mod M). (2.1)
Согласно формуле (2.1), разность a - b делится на M, а отношения a/M и b/M имеют один и тот же остаток.
В практике имитационного моделирования широкое применение нашли следующие, основанные на формуле (2.1), детерминированные конгруэнтные алгоритмы (процедуры):
- мультипликативный алгоритм
, (2.2)
- аддитивный алгоритм
, (2.3)
- смешанный алгоритм
. (2.4)
Из-за детерминированного характера этих процедур (алгоритмов) сгенерированные с их помощью последовательности чисел называются псевдослучайными.
В (2.2) - (2.4) – неотрицательные целые числа. Последовательность {xi}, где xi = Xii/M, i =1, 2, …, оказывается равномерно распределенной в интервале (0,1).
Как известно, равномерно распределенная в интервале (0,1) непрерывная случайная величина R имеет математическое ожидание, равное M{R} = 1/2, и дисперсию, равную D{R} = M{(R - 1/2)2} = 1/12. Можно показать, что сгенерированная с помощью приведенных выше конгруэнтных процедур дискретная случайная величина имеет такое же математическое ожидание, что и R, но ее дисперсия равна (2k + 1) /12(2k - 1), где k – число разрядов машинного кода. При достаточно большом значении k отношение (2k + 1)/(2k - 1) близко к единице. Такое сходство позволяет назвать полученный закон распределения квазиравномерным.
При моделировании непрерывных законов распределения применяется метод обратной функции, основанный на интегральном уравнении
(2.5)
где – плотность распределения вероятностей подлежащей генерации непрерывной случайной величины Y. Это преобразование эквивалентно соотношению
(2.6)
где - обратная функция вероятности Y. Этим и обусловлено название метода обратной функции.
В данной работе «испытываются» три закона распределения:
- равномерный закон распределения с характеристиками
(2.7)
(2.8)
- экспоненциальный закон распределения с характеристиками
(2.9)
(2.10)
- нормальный закон распределения с характеристиками
(2.11)
FY(y) = ½ + f((y – mY)/sY) (2.12)
Преобразование (2.6) для этих законов распределения имеет вид:
- для равномерного распределения
yi = α + (b - a) , i = 1, 2,…, (2.13)
- для экспоненциального распределения
yi = , i =1, 2,…, (2.14)
- для нормального распределения
(2.15)
В (2.12) и (2.15) f(.) и f-1 (.) - функция Лапласа и ее обратная функция соответственно.
Так как величины xiи 1 - xiраспределены одинаково в интервале (0,1), в выражении (2.14), вместо , можно использовать , кроме того, в выражении (2.15) обычно присутствует аппроксимация
(2.16)
на том основании, что величина имеет такое же распределение, что и с нулевым математическим ожиданием и единичной дисперсией.
Тексты хорошо известных программ на языке FORTRAN-IV для реализации формул (2.13), (2.14) и (2.16) приведены в приложении П1. Там же приведена подпрограмма реализации закона распределения Пуассона.
Разработанные в системе GPSS программы для моделирования (генерации) приведенных выше законов распределения содержат собственные аппроксимирующие функции, использование которых позволяет получить последовательности случайных величин, которые по своим качественным характеристикам практически не отличаются от результатов работы конгруэнтных алгоритмов и процедур (2.2) - (2.4).
Проверка соответствия аналитического и эмпирического распределений можно осуществить с помощью критерия Пирсона. Статистика имеет вид
(2.17)
где k – число диапазонов гистограммы эмпирического распределения (k ³ 7), N – количество реализаций случайной величины, = mi / N, i = 1, ..., k, – эмпирические оценки вероятности попадания реализации случайной величины в i - й интервал, mi, i = 1,..., k, – количество этих попаданий, Pi– теоретическое значение вероятности этого события. Если обозначить i - й интервал через [αi, βi], тогда величину Piможно определить из соотношения
(2.18)
В приложении П2 приведены сведения о - распределении, таблица значений , соответствующих уровню значимости α и числу степеней свободы υ = (k – l) - 1, где l - количество параметров проверяемого распределения. Если выполняется условие
(2.19)
то считается, что имеет место согласие между теоретическим и эмпирическим распределениями, т. е. подтверждается нулевая гипотеза Но о согласии. В противном случае гипотеза отвергается.