Приложение Г. ПОЛУЧЕНИЕ ВЫБОРКИ ИЗ ЗАДАННОГО МНОГОМЕРНОГО НОРМАЛЬНОГО РАСПРЕДЕЛЕНИЯ
Мы хотим получить на вычислительной машине выборку из распределения
т. е. нам нужен вектор z чисел
соответствующих нормальному распределению со средним а и ковариационной матрицей
Тогда мы действуем следующим образом.
(а) Пусть
если число
четное, или
если
нечетное.
(б) Получаем
псевдослучайных чисел
независимых и равномерно распределенных на интервале от нуля до единицы. За разъяснениями по поводу методов их получения отсылаем к
и [136].
(в) Из чисел
мы получаем числа
независимые и нормально распределенные, с нулевыми средними и единичными дисперсиями. Для такого преобразования было предложено много методов, но только два нижеследующих легко программируются и, будучи достаточно быстрыми, все еще обеспечивают точно требуемое распределение.
1. Метод Бокса и Мюллера [37]. Вычислить
Если число
нечетное, то значение
вычислять не нужно.
2. Метод Марсальи и Брэя [141]. Вычислить числа
для
Если для какого-нибудь
окажется, что
заменить числа
на новую пару равномерно распределенных случайных чисел, вычислить снова числа
и повторять это до тех пор, пока не будет выполняться неравенство
Вычислить:
Этот второй метод, вероятно, более быстрый, поскольку он не требует вычисления значений тригонометрических функций.