Введение
Статистическое преобразование
Преобразование Бокса — Мюллера, разработанное Джорджем Эдвардом Пельхэмом Боксом и Мервином Эдгаром Мюллером, — это метод выборки случайных чисел для генерации пар независимых, стандартных нормально распределенных (с нулевым математическим ожиданием и единичной дисперсией) случайных чисел, при наличии источника равномерно распределенных случайных чисел. Метод был впервые явно упомянут Раймондом Э.А.К. Пейли и Норбертом Винером в их трактате 1934 года о преобразованиях Фурье в комплексной области. Учитывая авторитет этих авторов и широкую доступность и использование их трактата, почти наверняка Бокс и Мюллер были хорошо знакомы с его содержанием. Преобразование Бокса — Мюллера обычно представляется в двух формах. Базовая форма, предложенная Боксом и Мюллером, берет две выборки из равномерного распределения на интервале [0, 1] и преобразует их в две стандартные нормально распределенные выборки. Полярная форма берет две выборки из другого интервала и преобразует их в две нормально распределенные выборки без использования функций синуса или косинуса. Преобразование Бокса — Мюллера было разработано как более вычислительно эффективная альтернатива методу инверсионной выборки. Алгоритм зиггуратов обеспечивает более эффективный метод для скалярных процессоров (например, старых ЦП), в то время как преобразование Бокса — Мюллера превосходит процессоры с векторными устройствами (например, графические процессоры или современные ЦП).
Обрезание хвоста
Когда компьютер используется для генерации равномерной случайной величины, неизбежно возникают некоторые неточности, поскольку существует нижняя граница того, насколько близко числа могут быть к нулю. Если генератор использует 32 бита на выходное значение, наименьшее ненулевое число, которое он может сгенерировать, равно When, и когда и равны этому значению, преобразование Бокса-Мюллера производит нормальное случайное отклонение, равное This. Это означает, что алгоритм не сможет генерировать случайные величины, отстоящие более чем на 6,660 стандартных отклонений от среднего значения. Это соответствует доле потерянных значений из-за усечения, где – стандартная кумулятивная нормальная функция распределения. При использовании 64 бит этот предел увеличивается до стандартных отклонений, для которых .