64
Приложение C (справочное)
Формирование выборок из распределений вероятностей
- 1 Общие положения
С.1.1 В настоящем приложении приведены рекомендации по формированию выборки в соответствии с заданной функцией распределения вероятностей. Формирование такой выборки представляет собой ключевой момент при трансформировании распределений с использованием метода Монте-Карло. В качестве источников информации можно использовать [37] (сборник таблиц математических функций) и [38] (библиотека соответствующих программ).
С.1.2 Генератор псевдослучайных чисел для любого распределения, в том числе, для рассмотренных в 6.4 (см. таблицу 1), может теоретически быть получен на основе заданной функции распределения и генератора выборки для равномерного распределения (см. С.2). Генератор для равномерного распределения рассматривается в С.3.3. Для некоторых распределений, таких как нормальное распределение или t-распределение, более эффективным будет использование генераторов, специально разработанных именно для этих распределений (например, рассматриваемых в настоящем приложении). Общие рекомендации по формированию выборки в соответствии с заданным законом распределения приведены в 6.4.
П р и м е ч а н и е — Настоящий стандарт не ограничивает возможности использования генераторов, отличных от описанных в данном приложении. Однако перед их использованием необходимо убедиться в том, что генерируемые ими последовательности обладают достаточно хорошими статистическими свойствами. Средства тестирования генератора псевдослучайных чисел для равномерного распределения указаны в С.3.2.
С.2 Распределения общего вида
Выборка для любой строго возрастающей одномерной непрерывной функции распределения Gx (%) может быть получена посредством выборки из равномерного распределения. Для этого:
- выбирают случайное число р из равномерного распределения R(0,1);
- определяют %, удовлетворяющее условию Gx (%) = р.
П р и м е ч а н и е 1 — Требуемая на этапе b) обратная функция % = G х(р) может быть найдена аналитически или определена численными методами.
Пример — Входной величине X приписано экспоненциальное распределение с математическим ожиданием x > 0, определяемое плотностью распределения вероятностей gX(%) = exp (-% /x)/x в области % к 0 и gX(%) = 0 в области % < 0 (см. 6.4.10). Полученная интегрированием плотности распределения вероятностей функция распределения имеет вид GX(%) = 1 - exp (-%/х) в области % к 0 и GX(%) = 0 в области % < 0. Аналитическое решение дает % = - х ln (1 -р). Этот результат может быть несколько упрощен. Поскольку для случайной величины Q, подчиняющейся равномерному распределению R(0,1), случайная величина (1 - Q) также будет подчиняться равномерному распределению, то можно записать обратную функцию в виде % = - х ln р.
П р и м е ч а н и е 2 — Численно значение % обычно определяют как точку пересечения с нулем функции Gx(%) - р. Для определения % может быть использован алгоритм поиска отрезка, на концах которого функция имеет разные знаки, такой, например, как метод деления отрезка пополам или, что более эффективно, комбинации линейной интерполяции и метода деления отрезка пополам [11].
П р и м е ч а н и е 3 — При использовании генератора случайных чисел из равномерного распределения для получения выборки псевдослучайных чисел из другого распределения следует помнить, что выпадение значения р = 0 или р = 1 может привести к сбою генератора. Примером может служить экспоненциальное распределение (см. 6.4.10). Его плотность распределения [формула (9)] для указанных значений р не определена. Генератор, описанный в С.3.3, ошибок подобного рода не дает.
С.3 Равномерное распределение
С.3.1 Общие положения
С.3.1.1 Генератор для равномерного распределения является основой для получения псевдослучайных чисел из любого распределения (см. разделы С.2, С.4 и С.6) при наличии соответствующего алгоритма или формулы. При этом качество получаемой выборки из произвольного распределения зависит от качества работы генератора для равномерного распределения и свойств используемого алгоритма преобразования. Таким образом, только генератор, способный воспроизводить выборку из равномерного распределения с хорошими свойствами вместе с хорошим алгоритмом, обеспечивает генерирование псевдослучайных чисел, хорошо согласующихся с заданным распределением.
С.3.1.2 Отсюда вытекает важность тестирования генератора псевдослучайных чисел для равномерного распределения [31]. Если пользователь не уверен в качестве работы генератора, то его не следует использовать до тех пор, пока соответствующее тестирование не будет проведено. В противном случае не исключено получение ошибочных