Равномерное распределение. Типовые непрерывные распределения случайных величин
Этот вопрос уже давно подробно изучен, и наиболее широкое распространение получил метод полярных координат, предложенный Джорджем Боксом, Мервином Мюллером и Джорджем Марсальей в 1958 году. Данный метод позволяет получить пару независимых нормально распределенных случайных величин с математическим ожиданием 0 и дисперсией 1 следующим образом:
Где Z 0 и Z 1 - искомые значения, s = u 2 + v 2 , а u и v - равномерно распределенные на отрезке (-1, 1) случайные величины, подобранные таким образом, чтобы выполнялось условие 0 < s < 1.
Многие используют эти формулы, даже не задумываясь, а многие даже и не подозревают об их существовании, так как пользуются готовыми реализациями. Но есть люди, у которых возникают вопросы: «Откуда взялась эта формула? И почему получается сразу пара величин?». Далее я постараюсь дать наглядный ответ на эти вопросы.
Для начала напомню, что такое плотность вероятности, функция распределения случайной величины и обратная функция. Допустим, есть некая случайная величина, распределение которой задано функцией плотности f(x), имеющей следующий вид:
Это означает, что вероятность того, что значение данной случайной величины окажется в интервале (A, B), равняется площади затененной области. И как следствие, площадь всей закрашенной области должна равняться единице, так как в любом случае значение случайной величины попадет в область определения функции f.
Функция распределения случайной величины является интегралом от функции плотности. И в данном случае ее примерный вид будет такой:
Тут смысл в том, что значение случайной величины будет меньше чем A с вероятностью B. И как следствие, функция никогда не убывает, а ее значения лежат в отрезке .
Обратная функция - это функция, которая возвращает аргумент исходной функции, если в нее передать значение исходной функции. Например, для функции x 2 обратной будет функция извлечения корня, для sin(x) это arcsin(x) и т.д.
Так как большинство генераторов псевдослучайных чисел на выходе дают только равномерное распределение, то часто возникает необходимость его преобразования в какое-либо другое. В данном случае в нормальное Гауссовское:
Основу всех методов преобразования равномерного распределения в любое другое составляет метод обратного преобразования. Работает он следующим образом. Находится функция, обратная функции необходимого распределения, и в качестве аргумента передается в нее равномерно распределенная на отрезке (0, 1) случайная величина. На выходе получаем величину с требуемым распределением. Для наглядности привожу следующую картинку.
Таким образом, равномерный отрезок как бы размазывается в соответствии с новым распределением, проецируясь на другую ось через обратную функцию. Но проблема в том, что интеграл от плотности Гауссовского распределения вычисляется непросто, поэтому вышеперечисленным ученым пришлось схитрить.
Существует распределение хи-квадрат (распределение Пирсона), которое представляет собой распределение суммы квадратов k независимых нормальных случайных величин. И в случае, когда k = 2, это распределение является экспоненциальным.
Это означает, что если у точки в прямоугольной системе координат будут случайные координаты X и Y, распределенные нормально, то после перевода этих координат в полярную систему (r, θ) квадрат радиуса (расстояния от начала координат до точки) будет распределен по экспоненциальному закону, так как квадрат радиуса - это сумма квадратов координат (по закону Пифагора). Плотность распределения таких точек на плоскости будет выглядеть следующим образом:
Так как она равноценна во всех направлениях, угол θ будет иметь равномерное распределение в диапазоне от 0 до 2π. Справедливо и обратное: если задать точку в полярной системе координат с помощью двух независимых случайных величин (угла, распределенного равномерно, и радиуса, распределенного экспоненциально), то прямоугольные координаты этой точки будут являться независимыми нормальными случайными величинами. А экспоненциальное распределение из равномерного получить уже гораздо проще, с помощью того же метода обратного преобразования. В этом и заключается суть полярного метода Бокса-Мюллера.
Теперь выведем формулы.
(1)
Для получения r и θ нужно сгенерировать две равномерно распределенные на отрезке (0, 1) случайные величины (назовем их u и v), распределение одной из которых (допустим v) необходимо преобразовать в экспоненциальное для получения радиуса. Функция экспоненциального распределения выглядит следующим образом:
Обратная к ней функция:
Так как равномерное распределение симметрично, то аналогично преобразование будет работать и с функцией
Из формулы распределения хи-квадрат следует, что λ = 0,5. Подставим в эту функцию λ, v и получим квадрат радиуса, а затем и сам радиус:
Угол получим, растянув единичный отрезок до 2π:
Теперь подставим r и θ в формулы (1) и получим:
(2)
Эти формулы уже готовы к использованию. X и Y будут независимы и распределены нормально с дисперсией 1 и математическим ожиданием 0. Чтобы получить распределение с другими характеристиками достаточно умножить результат функции на среднеквадратическое отклонение и прибавить математическое ожидание.
Но есть возможность избавиться от тригонометрических функций, задав угол не прямо, а косвенно через прямоугольные координаты случайной точки в круге. Тогда через эти координаты можно будет вычислить длину радиус-вектора, а потом найти косинус и синус, поделив на нее x и y соответственно. Как и почему это работает?
Выберем случайную точку из равномерно распределенных в круге единичного радиуса и обозначим квадрат длины радиус-вектора этой точки буквой s:
Выбор осуществляется заданием случайных прямоугольных координат x и y, равномерно распределенных в интервале (-1, 1), и отбрасыванием точек, которые не принадлежат кругу, а также центральной точки, в которой угол радиус-вектора не определен. То есть должно выполниться условие 0 < s < 1. Тогда, как и в случае с Гауссовским распределением на плоскости, угол θ будет распределен равномерно. Это очевидно - количество точек в каждом направлении одинаково, значит каждый угол равновероятен. Но есть и менее очевидный факт - s тоже будет иметь равномерное распределение. Полученные s и θ будут независимы друг от друга. Поэтому мы можем воспользоваться значением s для получения экспоненциального распределения, не генерируя третью случайную величину. Подставим теперь s в формулы (2) вместо v, а вместо тригонометрических функций - их расчет делением координаты на длину радиус-вектора, которая в данном случае является корнем из s:
Получаем формулы, как в начале статьи. Недостаток этого метода - отбрасывание точек, не вошедших в круг. То есть использование только 78,5% сгенерированных случайных величин. На старых компьютерах отсутствие тригонометрических функций всё равно давало большое преимущество. Сейчас, когда одна команда процессора за мгновение вычисляет одновременно синус и косинус, думаю, эти методы могут еще посоревноваться.
Лично у меня остается еще два вопроса:
- Почему значение s распределено равномерно?
- Почему сумма квадратов двух нормальных случайных величин распределена экспоненциально?
Если аналогичное преобразование сделать для нормальной случайной величины, то функция плотности ее квадрата окажется похожей на гиперболу. А сложение двух квадратов нормальных случайных величин уже гораздо более сложный процесс, связанный с двойным интегрированием. И то, что в результате получится экспоненциальное распределение, лично мне тут остаётся проверить практическим методом или принять как аксиому. А кому интересно, предлагаю ознакомиться с темой поближе, почерпнув знаний из этих книжек:
- Вентцель Е.С. Теория вероятностей
- Кнут Д.Э. Искусство Программирования, том 2
В заключение приведу пример реализации генератора нормально распределенных случайных чисел на языке JavaScript:
Function Gauss() {
var ready = false;
var second = 0.0;
this.next = function(mean, dev) {
mean = mean == undefined ? 0.0: mean;
dev = dev == undefined ? 1.0: dev;
if (this.ready) {
this.ready = false;
return this.second * dev + mean;
}
else {
var u, v, s;
do {
u = 2.0 * Math.random() - 1.0;
v = 2.0 * Math.random() - 1.0;
s = u * u + v * v;
} while (s > 1.0 || s == 0.0);
var r = Math.sqrt(-2.0 * Math.log(s) / s);
this.second = r * u;
this.ready = true;
return r * v * dev + mean;
}
};
}
g = new Gauss(); // создаём объект
a = g.next(); // генерируем пару значений и получаем первое из них
b = g.next(); // получаем второе
c = g.next(); // снова генерируем пару значений и получаем первое из них
Параметры mean (математическое ожидание) и dev (среднеквадратическое отклонение) не обязательны. Обращаю ваше внимание на то, что логарифм натуральный.
В качестве примера непрерывной случайной величины рассмотрим случайную величину X, равномерно распределенную на интервале (a; b). Говорят, что случайная величина X равномерно распределена на промежутке (a; b), если ее плотность распределения непостоянна на этом промежутке:
Из условия нормировки определим значение константы c . Площадь под кривой плотности распределения должна быть равна единице, но в нашем случае - это площадь прямоугольника с основанием (b - α) и высотой c (рис. 1).
Рис. 1 Плотность равномерного распределения
Отсюда находим значение постоянной c:
Итак, плотность равномерно распределенной случайной величины равна
Найдем теперь функцию распределения по формуле:
1) для
2) для
3) для 0+1+0=1.
Таким образом,
Функция распределения непрерывна и не убывает (рис. 2).
Рис. 2 Функция распределения равномерно распределенной случайной величины
Найдем математическое ожидание равномерно распределенной случайной величины по формуле:
Дисперсия равномерного распределения рассчитывается по формуле и равна
Пример №1
. Цена деления шкалы измерительного прибора равна 0.2 . Показания прибора округляют до ближайшего целого деления. Найти вероятность того, что при отсчете будет сделана ошибка: а) меньшая 0.04 ; б) большая 0.02
Решение. Ошибка округления есть случайная величина, равномерно распределенная на промежутке между соседними целыми делениями. Рассмотрим в качестве такого деления интервал (0; 0,2) (рис. а). Округление может проводиться как в сторону левой границы - 0, так и в сторону правой - 0,2, значит, ошибка, менее либо равная 0,04, может быть сделана два раза, что необходимо учесть при подсчете вероятности:
P = 0,2 + 0,2 = 0,4
Для второго случая величина ошибки может превышать 0,02 также с обеих границ деления, то есть она может быть либо больше 0,02, либо меньше 0,18.
Тогда вероятность появления такой ошибки:
Пример №2 . Предполагалось, что о стабильности экономической обстановки в стране (отсутствии войн, стихийных бедствий и т. д.) за последние 50 лет можно судить по характеру распределения населения по возрасту: при спокойной обстановке оно должно быть равномерным . В результате проведенного исследования, для одной из стран были получены следующие данные.
Имеются ли основания полагать, что в стране была нестабильная обстановка?Решение проводим с помощью калькулятора Проверка гипотез . Таблица для расчета показателей.
Группы | Середина интервала, x i | Кол-во, f i | x i * f i | Накопленная частота, S | |x - x ср |*f | (x - x ср) 2 *f | Частота, f i /n |
0 - 10 | 5 | 0.14 | 0.7 | 0.14 | 5.32 | 202.16 | 0.14 |
10 - 20 | 15 | 0.09 | 1.35 | 0.23 | 2.52 | 70.56 | 0.09 |
20 - 30 | 25 | 0.1 | 2.5 | 0.33 | 1.8 | 32.4 | 0.1 |
30 - 40 | 35 | 0.08 | 2.8 | 0.41 | 0.64 | 5.12 | 0.08 |
40 - 50 | 45 | 0.16 | 7.2 | 0.57 | 0.32 | 0.64 | 0.16 |
50 - 60 | 55 | 0.13 | 7.15 | 0.7 | 1.56 | 18.72 | 0.13 |
60 - 70 | 65 | 0.12 | 7.8 | 0.82 | 2.64 | 58.08 | 0.12 |
70 - 80 | 75 | 0.18 | 13.5 | 1 | 5.76 | 184.32 | 0.18 |
1 | 43 | 20.56 | 572 | 1 |
Средняя взвешенная
Показатели вариации .
Абсолютные показатели вариации .
Размах вариации - разность между максимальным и минимальным значениями признака первичного ряда.
R = X max - X min
R = 70 - 0 = 70
Дисперсия - характеризует меру разброса около ее среднего значения (мера рассеивания, т.е. отклонения от среднего).
Среднее квадратическое отклонение .
Каждое значение ряда отличается от среднего значения 43 не более, чем на 23.92
Проверка гипотез о виде распределения .
4. Проверка гипотезы о равномерном распределении генеральной совокупности.
Для того чтобы проверить гипотезу о равномерном распределении X,т.е. по закону: f(x) = 1/(b-a) в интервале (a,b)
надо:
1. Оценить параметры a и b - концы интервала, в котором наблюдались возможные значения X, по формулам (через знак * обозначены оценки параметров):
2. Найти плотность вероятности предполагаемого распределения f(x) = 1/(b * - a *)
3. Найти теоретические частоты:
n 1 = nP 1 = n = n*1/(b * - a *)*(x 1 - a *)
n 2 = n 3 = ... = n s-1 = n*1/(b * - a *)*(x i - x i-1)
n s = n*1/(b * - a *)*(b * - x s-1)
4. Сравнить эмпирические и теоретические частоты с помощью критерия Пирсона, приняв число степеней свободы k = s-3, где s - число первоначальных интервалов выборки; если же было произведено объединение малочисленных частот, следовательно, и самих интервалов, то s - число интервалов, оставшихся после объединения.
Решение:
1. Найдем оценки параметров a * и b * равномерного распределения по формулам:
2. Найдем плотность предполагаемого равномерного распределения:
f(x) = 1/(b * - a *) = 1/(84.42 - 1.58) = 0.0121
3. Найдем теоретические частоты:
n 1 = n*f(x)(x 1 - a *) = 1 * 0.0121(10-1.58) = 0.1
n 8 = n*f(x)(b * - x 7) = 1 * 0.0121(84.42-70) = 0.17
Остальные n s будут равны:
n s = n*f(x)(x i - x i-1)
i | n i | n * i | n i - n * i | (n i - n* i) 2 | (n i - n * i) 2 /n * i |
1 | 0.14 | 0.1 | 0.0383 | 0.00147 | 0.0144 |
2 | 0.09 | 0.12 | -0.0307 | 0.000943 | 0.00781 |
3 | 0.1 | 0.12 | -0.0207 | 0.000429 | 0.00355 |
4 | 0.08 | 0.12 | -0.0407 | 0.00166 | 0.0137 |
5 | 0.16 | 0.12 | 0.0393 | 0.00154 | 0.0128 |
6 | 0.13 | 0.12 | 0.0093 | 8.6E-5 | 0.000716 |
7 | 0.12 | 0.12 | -0.000701 | 0 | 4.0E-6 |
8 | 0.18 | 0.17 | 0.00589 | 3.5E-5 | 0.000199 |
Итого | 1 | 0.0532 |
Поэтому критическая область для этой статистики всегда правосторонняя: }