Если такое представление возможно, то моделирование n‑мерного вектора может быть сведено к последовательному моделированию скалярных величин:
x1 – в соответствии с f1(x1),
x2 – в соответствии с условной плотностью f2(x2/x1), где x1 является параметром,
x3 – в соответствии с условной плотностью f3(x3/x1,x2), где x1,x2 являются параметрами и т.д.
Метод применим не ко всем распределениям, а только к тем, для которых в аналитическом виде возможно указанное выше представление.
Аналогичный подход может быть применен для моделирования векторов с дискретными компонентами практически без ограничений, так как условные ряды распределения без особого труда могут быть получены из совместного закона распределения путем соответствующей нормировки.
Пусть задан закон распределения n‑мерного дискретного вектора Х=(Х1,Х2,…,Хn) в виде многомерного массива вероятностей:
=P(jr,k,l,…,s/x1 ir)/ P(X2=x2 jr/X1=x1 ir), (для всех k,l,…,s) (1.25)
5.2) рассчитываются вероятности условного ряда Х3
P(X3=x3k/X1=x1i,X2=x2j)=
,(k=1,K); (1.26)
6) моделируется реализация случайной величины Х3 в соответствии с условным рядом распределения, определенным в предыдущем пункте, и т.д.
В приведенном алгоритме расчет рядов распределения, используемых для моделирования отдельных компонент вектора, является его составной частью. При небольшой размерности вектора (например, двумерный вектор) для ускорения моделирования этот расчет может быть сделан заранее для всех возможных вариантов получаемых реализаций Х1.
1.5.2. Обобщение метода исключений для моделирования n–мерного вектора.
К моделируемому вектору и его плотности вероятностей предъявляются такие же требования, как и в одномерном случае. Тогда n‑мерное распределение: f(x1,...,xn) помещается в (n+1)‑мерный гиперпараллелепипед Gn+1 (графическое изображение этой операции для 2‑мерного распределения приведено на рис.1.14).
Алгоритм моделирования:
1) моделируется (n+1)‑мерный вектор (X1¢,...,Xn¢,Y) – равномерно распределенный в Gn+1:
YÎ[0; fm], X1Î [а1, b1],…,ХnÎ [an, bn];
2) проверяется условие f(Х1¢,...,Хn¢):
если оно выполняется, то реализация моделируемого вектора определяется следующим образом
(X1,...,Хn) = (Х1¢,...,Хn¢), (1.27)
иначе итерация алгоритма прошла непродуктивно и ее надо повторить заново.
Рис.1.14
Эффективность данного метода определяется отношением
. (1.28)
Она резко падает при увеличении размерности моделируемого вектора.
Примеры специальных алгоритмов моделирования векторов
Равномерно распределенный вектор Х в n‑мерном гиперпараллелепипеде Gn
Очевидно, что компоненты такого вектора являются независимыми равномерно распределенными величинами на отрезках [ai, bi] (i=1,n).
Алгоритм моделирования:
1) моделируются базовые числа xi (i=1,n),
2) рассчитываются компоненты вектора
Хi = ai + (bi – ai) xi (i=1,n). (1.29)
Равномерно распределенный n‑мерный вектор в некоторой ограниченной области Dn
Ограниченная область Dn помещается в гиперпараллелепипед Gn.
Алгоритм моделирования:
1) моделируется вектор х¢, равномерно распределенный в Gn;
2) если х¢Î Dn, то х = х¢, иначе итерация алгоритма прошла непродуктивно и ее надо повторить.
Нормально распределенный вектор
Полное вероятностное описание такого вектора, задается вектором математических ожиданий и корреляционной матрицей его компонент:
,
.
Моделирование может быть сведено к функциональному преобразованию n‑мерного нормально распределенного вектора с нормированными независимыми компонентами:
, (1.30)
где .
Элементы треугольной матрицы А рассчитываются следующим образом:
, (1.31)
Реализация такого подхода приводит к вычислительной проблеме при наличии в моделируемом векторе сильно коррелированных компонент: при ограниченной разрядности ЭВМ вычисление Aij становится неустойчивым из‑за появления в этом случае в знаменателе приведенного соотношения величин, близких к нулю.
Для исключения этого необходимо осуществить предварительное выявление групп сильно коррелированных компонент вектора на основе анализа матрицы коэффициентов корреляции rij=Kij/(si×sj). Из каждой группы таких компонент в моделируемом векторе оставляется лишь одна. Таким образом, размерность вектора понижается. После моделирования такого вектора реализации исключенных компонент рассчитываются в предположении линейной взаимосвязи с оставшимся в векторе их представителем.
Например, пусть h1 и h2 — сильно коррелированы. Тогда приближенно можно считать, что между ними существует линейная связь 1.32. Исключим h1. Тогда после получения реализации вектора h с компонентой h2 значение компоненты h1 рассчитывается следующим образом: