2002 ВЕСТНИК НОВГОРОДСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА №22 УДК 512.8:519.2 А.М.Ильеня МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ ВЕКТОРОВ С ПРОИЗВОЛЬНЫМИ РАСПРЕДЕЛЕНИЯМИ КООРДИНАТ The method of the simulation of the correlated random vectors with arbitrary laws of coordinate distribution is suggested. При решении ряда прикладных задач с помощью математического моделирования возникает необходимость в реализации случайных векторов. Это задачи моделирования стохастических систем и выбора алгоритмов в условиях неопределенности [1], моделирования случайных полей и коррелированных случайных процессов [2,3], построения моделей помех и т. д. Теоретически для n-мерного случайного вектора получить необходимую корреляцию можно, например, определив его n-мерную функцию распределения [3,4]. Однако в общем случае такая задача чрезвычайно сложна и неудобна для практического применения. Поэтому обычно рассматриваемую задачу решают путем моделирования независимых случайных векторов с заданными одномерными законами распределения координат с последующим внесением нужной корреляции между координатами с помощью соответствующих линейных преобразований [3,4]. Последний метод существенно проще. Но из литературы известно его применение в основном для нормальных законов распределения, так как в этом случае линейные преобразования случайных величин не изменяют «нормальности» распределения. В общем же случае такие преобразования приводят к изменению одномерных законов распределения координат. Поэтому алгоритмов реализации указанного метода для произвольного распределения координат не удавалось получить в течение многих лет. 1. Постановка задачи Если закон распределения координат случайных векторов произвольный, но одинаковый для всех координат, то для моделирования можно воспользоваться, например, простыми методами, предложенными в [5,6]. В частности, в работе [6] решение рассматриваемой задачи получено на основе системы алгебраических уравнений с ортогональными случайными коэффициентами. В данной работе этот метод обобщается на произвольный случай, когда законы распределения координат моделируемых векторов различны, причем функции распределения координат — строго монотонны. Для решения этой задачи в указанной системе алгебраических уравнений используется отображение произвольных распределений координат на равномерное. Определяются критерии реализуемости предлагаемого метода. 2. Описание и анализ алгоритма моделирования Для моделирования используется следующая система алгебраических уравнений со случайными коэффициентами: X 1 = C1 , X 2 = A21C1 + A22C 2 , ....................................... X = A C + A C + ... + A C , n1 1 n2 2 nn n n Y1 = F1−1 ( X 1 ), Y2 = F2−1 ( X 2 ),..., Yn = Fn−1 ( X n ). 32 (1) 2002 ВЕСТНИК НОВГОРОДСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА №22 Здесь Y = [Y1 , Y2 ,..., Yn ] — моделируемый случайный вектор, для координат которого заданы строго монотонные функции распределения Fi ( yi ) и матрица R коэффициентов корреляции Rii; X = [ X 1 , X 2 ,..., X n ] — вспомогательный случайный вектор с координатами, равномерно распределенными на интервале [0,1], и матрицей R* коэффициентов корреляции Rij*; C = [C1 , C 2 ,..., C n ] — случайный вектор с независимыми и равномерно распределенными на интервале [0,1] координатами; Aij — случайные коэффициенты, принимающие значения 0 или 1, причем события {Aij = 1} для каждой строки системы (1) образуют полную группу (ортогональные коэффициенты). При этом величины Aij и Ci попарно независимы для всех i,j. Предлагаемый метод предусматривает моделирование вектора C = [C1 , C 2 ,..., C n ] с независимыми равномерно распределенными координатами, преобразование его в вектор X = [ X 1 , X 2 ,..., X n ] с равномерно распределенными координатами и корреляционной матрицей R*, а затем преобразование вектора X в вектор Y = [Y1 , Y2 ,..., Yn ] с заданными одномерными распределениями координат и корреляционной матрицей R. Первая задача может быть просто решена согласно [6]. Однако предварительно необходимо найти такую матрицу R*, чтобы преобразование координат вектора X в координаты вектора Y дало бы зависимость между последними, определяемую матрицей R, а также значения математических ожиданий M ( Aij ) = aij , равные вероятностям P( Aij = 1), такие, чтобы корреляционная матрица вектора X была равна R*. Для начала решим вторую задачу (безотносительно к виду матрицы R*). Рассмотрим i-ю строку системы (1). Пусть j = 1. Умножим X1 на Xi и найдем математическое ожидание произведения X1 Xi: M ( X 1 X i ) = ai1M (C12 ) + i ∑ a M (C C ) = ij 1 j j =2 = ai1 [M 2 (C1 ) + D(C1 )] + i ∑ a M (C )M (C ) = M ij 1 j 2 (C1 ) + ai1 D(C1 ). j =2 Отсюда cov( X 1 , X i ) = ai1 D(C1 ), т. е. если разделить это равенство на σ( X 1 )σ( X i ), то получим: ai1 = ri1*. Аналогично, умножая Xi на Xj , где 1 < j < i, можно найти: rij * − aij = (2) j −1 ∑a ik a jk k =1 . a jj (3) Вычислив согласно выражениям (3) и (4) значения всех aij, получим: i −1 aii = 1 − ∑a . ij (4) j =1 Найдем теперь матрицу R*. Прежде всего заметим, что если C1 и C2 — независимые равномерно распределенные на интервале [0,1] случайные величины, x = F −1 (c1 ), y = G −1 (c 2 ) (здесь c1 и c2 — значения величин C1 и C2, F(x) и G(x) — cтрого возрастающие функции распределения, X и Y — случайные величины, отвечающие этим законам распределения, x и y — значения этих величин), то величины X и Y независимы. Далее, если c ∈ [0,1], yi = Fi −1 (c), y j = F j −1 (c), то 33 2002 ВЕСТНИК НОВГОРОДСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА №22 1 ∫ cov(Yi ,Yj) = Fi −1 ( x) F j −1 ( x)dx − M (Yi ) M (Y j ) = Rmax (Yi , Y j )σ(Yi )σ(Y j ). 0 Докажем теперь, что если задать матрицу R* такую, что rij∗ = rij для всех i,j, Rmax (Yi , Y j ) то после преобразования равномерно распределенных координат вектора X с корреляционной матрицей R* в координаты вектора Y корреляционная матрица вектора Y будет равна R. В самом деле, для любых i,j (i < j) i cov(Yi , Y j ) = j ∑∑ p( A il = 1) p ( A jm = 1) cov(Y(∗i ,l ) , Y(∗j ,m ) ) = l =1 m =1 i = ∑a a il jl Rmax (Yi , Y j )σ(Yi )σ(Y j ) = rij∗ Rmax (Yi , Y j )σ(Yi )σ(Y j ) = rij σ(Yi )σ(Y j ). l =1 Здесь y *(i ,l ) = Fi −1 (cl ), y *( j ,m) = F j −1 (c j ), т. е. cov(Y(∗i ,l ) , Y(∗j ,m ) ) = 0, если l ≠ m, и cov(Y(∗i ,l ) , Y(∗j ,m ) ) = Rmax (Yi , Y j )σ(Yi )σ(Y j ), если l = m. Выражения (2) — (4) позволяют весьма просто определять значения всех aij, так как они являются уравнениями с одним неизвестным. Если хотя бы одно значение коэффициента корреляции rij больше соответствующего Rmax (Yi , Y j ), то моделирование вектора Y с такой корреляционной матрицей невозможно. Если в результате расчета значений aij∗ для любой i-й строки системы (1) при несимметричности плотности распределения координаты Yi будет получено хотя бы одно значение aij∗ < 0, то система (1) является нереализуемой. Для обеспечения ее реализуемости можно попытаться откорректировать матрицу R. В случае симметричности указанной плотности распределения при реализации системы (1) вместо отрицательных значений aij∗ (j < i) можно брать их модули. При этом значение x(ij) берется с противоположным знаком. Выражение (4) принимает вид i −1 aii = 1 − ∑ mod(a ij ). j =1 Нетрудно прийти к выводу, что в этом случае признаком нереализуемости системы (1) является получение отрицательного значения aij Программная реализация предложенного метода моделирования случайных векторов весьма проста. Анализ результатов моделирования показал их соответствие заданным требованиям. 3. Пример Пусть необходимо получить вектор Y=[Y1,Y2,Y3] при следующих данных: F1 ( y1 ) = 1 − exp(−0,5 y1 ), y1 ∈ [0; ∞], 1 0,5 0,2 2 [ 0 ; 2 ], y ∈ R = 0,5 1 0,3 . F2 ( y 2 ) = 0,25 y 2 , 2 y3 ∈ [−2;2], 0,2 0,3 1 F3 ( y3 ) = 0,25( y3 + 2), Для моделирования вектора Y получим вектор C=(C1, C2, C3) с независимыми координатами, равномерно распределенными в интервале [0;1]. Затем получим вектор X с равномерно распределенными в [0;1] координатами и корреляционной матрицей R*, для вычисления коэффициентов которой найдем коэффициенты Rmax (Yi , Y j ) : 34 2002 ВЕСТНИК НОВГОРОДСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА №22 1 ∫ Rmax (Y1 , Y2 ) = ( − 4 ln(1 − x) x dx − M (Y1 ) M (Y2 )) / σ(Y1 )σ(Y2 ) = 0 8 16 16 16 3 x − ln(1 + x ) + x ) = ((− ln(1 − x)( x 3 − 1) + 3 3 3 9 = Аналогично Rmax (Y1 , Y3 ) = 1 0 4 2 − 2 ⋅ ) /(2 ⋅ )= 3 9 20 − 24 ln 2 3 2 ≈ 0,793. 3 2 6 ≈ 0,866, Rmax (Y2 , Y3 ) = ≈ 0,98. 2 5 Таким образом, 0,63 0,23 1 0,31. R * ≈ 0,63 1 0,23 0,31 1 Значения вероятностей aij∗ равенства единице случайных коэффициентов системы для моделирования вектора X найдем из выражений (2) — (4). В данном примере получаем: Автор выражает благодарность профессору Б.Ф.Кирьянову за помощь в подготовке статьи. 1. 2. 3. 4. 5. 6. Левин Б.Р., Шварц В. Вероятностные модели и методы в системах связи и управления. М.: Радио и связь, 1985. 312 с. Шалыгин А.С., Палагин Ю.И. Прикладные методы статистического моделирования. Л.: Машиностроение, 1986. 320 с. Полляк Ю. Г. Вероятностное моделирование на электронных вычислительных машинах. М.: Сов. радио, 1971. 400 с. Ермаков С. М., Михайлов Г. А. Курс статистического моделирования. М.: Наука, 1976. 320 с. Kirianov B. // Mathematical method in stochastic simulation and experimental design. 2-nd St.-Petersburg’s Workshop on Simulation: St.-Petersburg, 1996. Р.152-155. Кирьянов Б. Ф. // Вестник НовГУ Сер.: Естеств. и техн. науки. 1999. №. 13. С.88-90. 35