Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Имитационное моделирование. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
804 Кб
Скачать

имеем следующие соотношения:

1 A11 1 a1 ,

2 A21 1 A22 2 a2 ,

...

n An1 1 An2 2 ... Ann n an .

На основе этих соотношений последовательно получим

R11 M{( 1 a1 )2 } A112 M{ 12 } A11 ,

R21 M{( 1 a1 )( 2 a2 )} M{A11 1 (A21 1 A22 2 )}

A11 A21 , ...,

Rnn M{( n an )2} M{(An1 1 ... Ann n )2} An21 ... Ann2 .

Окончательно формулы для определения Aij получатся в следующем виде:

 

j

1

 

 

 

Rij Aik Ajk

 

 

Aij

k

1

,

1 j i n ,

 

j 1

 

R jj A2jk

 

 

 

 

k 1

 

 

 

0

 

 

 

причем считается, что Aik Ajk

0 .

 

 

k 1

 

 

Задание для самостоятельной работы

1) Написать подпрограмму генерирования одной реализации нормального случайного вектора ( 1 ,..., n ) с известны-

ми средними значениями компонент и матрицей ковариаций.

61

2)Сгенерировать выборку объема N=1000 реализаций нормального случайного вектора. Вектор средних и матрицу ковариаций задать самостоятельно.

3)По 2–критерию проверить нормальность всех компо-

нент полученного вектора при уровне значимости =0.05. Сравнить выборочные средние и матрицу ковариаций с теоретическими.

2.3.Генерирование случайных векторов

сзаданными одномерными распределениями

иматрицей корреляции компонент

Пусть необходимо генерировать n -мерный случайный вектор ( 1 ,..., n ) , у которого одномерные плотности вероят-

ностей компонент i имеют заданный вид pi (z), i 1, n , а

также известны величины rij M{ i j }, i, j 1, n . Эта задача решается с помощью нелинейного преобразования компонент n -мерного нормального случайного вектора ( 1 ,..., n )

с математическими ожиданиями M{ i } 0

и ковариациями

M{ i j } ij ,

i, j

 

 

(генерирование

такого векто-

1, n

ра( 1 ,..., n ) см.

в п. 2.2).

Предположим,

что компоненты

вектора ( 1 ,..., n ) и стандартные нормальные компоненты вектора ( 1 ,..., n ) связаны соотношениями

62

i i ( i ), i 1, n .

Пусть нам удалось обратить эти соотношения и найти функ-

ции i ( i ) ,

такие, что i i ( i ), i

1, n

. Тогда одномерная

плотность вероятностей величин i

должна иметь вид

 

pi (z)

 

1

 

i2 (z) d i (z)

 

 

 

 

exp

 

 

 

 

 

.

 

2

2

 

 

dz

 

 

 

 

 

 

 

Но функции

pi (z)

нам известны, поэтому последнее равен-

ство можно рассматривать как дифференциальное уравнение относительно неизвестной функции i (z) . Разделяя в нем переменные, получим уравнение

 

2

 

 

exp

 

i

d i

2 pi (z) dz

2

 

 

 

или после интегрирования

1

i ( z)

exp(

u 2

) du

z

pi (u) du .

 

 

2

 

2

 

 

 

 

 

Наличие в последней формуле искомой функции в качестве верхнего предела интеграла Лапласа делает нахождение функции i (z) по этой формуле весьма проблематичным.

Определим величины ij . Так как M{zi z j } rij , то относи-

тельно ij мы имеем уравнение

63

 

 

 

i (u) j (v)

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 (1 ij2 )

 

 

 

1

 

 

2

 

 

 

2

 

 

 

 

 

 

 

 

 

 

exp

 

 

 

 

(u

 

 

2 ij uv v

 

) dudv rij ,

 

 

2

)

 

 

 

2(1 ij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

из которого можно найти ij , по крайней мере, численно.

Пример. Пусть необходимо генерировать вектор

( 1 ,..., n ) с логарифмически нормальным распределени-

ем компонент с известными математическими ожиданиями M{ i } mi , и парными корреляциями M{ i j } Kij , i, j 1, n. Заметим, что плотность логарифмически нормального распределения имеет вид

pi (z)

 

1

 

(ln z ai )2

,

 

 

exp

 

 

z i

2

2 i2

 

 

 

 

а стандартная нормальная величина i

связана с логарифми-

чески нормальной величиной i

соотношениями

 

ln i ai

 

,

 

 

 

exp(a

 

 

 

),

i

 

 

, так как

 

i

 

i

1, n

 

 

 

 

 

i

i

 

 

 

 

 

i

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

( y) p

 

(eai i y )

 

d i

 

 

 

 

 

1

e

y2

 

 

 

 

 

 

 

 

i

 

 

 

 

 

2

.

 

 

 

 

 

 

i

 

 

 

 

 

 

 

dy

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Найдем величины ai , i , ij .

64

 

 

 

 

i2

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

Так как m M{eai i i } eai

2

 

,

ln m a

i

 

i

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

i

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Kii M{e2ai 2 i i } e2ai 2 i2

и ln Kii 2ai

2 i2 ,

и при i j

Kij

 

 

 

 

 

 

 

 

 

 

i2

 

 

 

2j

 

M{eai i i ea j j j } eai a j e 2

 

 

ij i

 

j

 

2 , полу-

чим

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln

 

Kij

 

 

 

 

 

 

 

m2

 

, i2 ln

K

ii

 

 

 

 

 

mi m j

 

 

 

 

 

ai ln

i

 

 

 

,

ij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

mi2

 

 

 

 

K

 

 

 

 

 

 

 

 

 

Kii

 

 

 

ln

ii

 

ln

K jj

 

 

 

 

 

 

 

 

 

 

mi2

m

2j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таким образом, для генерирования случайного вектора с логарифмически нормальным распределением компонент необходимо сначала по известным значениям Kij , mi , i, j 1, n, найти величины ai , i , ij , затем генерировать случайный вектор ( 1 ,..., n ) со стандартными нормаль-

ными компонентами и ковариациями M{ i j } ij , и, нако-

нец, получить искомый вектор

 

 

с помощью преобразования i

eai i i ,

i 1, n.

Задание для самостоятельной работы

Написать программу генерирования одной реализации случайного вектора (z1 , z2 , z3 ) с логарифмически нормаль-

65

ным распределением компонент, если математические ожидания компонент m1 1, m2 0,7, m3 1,5, а ковариационная

матрица имеет вид

 

2

0,5

1

 

 

0,5

1

0,5

 

K

.

 

1

0,5

4

 

 

 

2.4. Генерирование случайных векторов, равномерно распределенных в произвольной n-мерной области и на сфере

Равномерное распределение в n-мерной односвязной об-

ласти (G) генерируется методом исключения так:

 

 

 

1)

область (G)

 

заключается

в параллелепипед

{(x1,..., xn ) : ai xi bi ,

i

 

} ;

 

 

 

 

1,n

 

 

 

 

2)

генерируются 1 ,..., n – реализации случайной вели-

чины, равномерно распределенной в интервале (0, 1);

3)

вычисляются значения i ai (bi

ai ) i ,

i

 

;

1, n

4)

проверяется, принадлежит ли полученный вектор обла-

сти (G) . Если ( 1 ,..., n ) (G) , то это и есть искомая реализация случайного вектора, равномерно распределенного в ( G ). В противном случае, все повторяется, начиная с пункта 2), т.е. с генерирования значений 1 ,..., n .

66

Пример 1.

 

 

 

 

 

 

 

 

 

n

x

i

a

i

 

2

Пусть (G) – эллипсоид {(x1

,..., xn ) :

 

 

 

 

1 }

 

 

b

 

 

i 1

 

 

 

 

 

 

 

 

 

i

 

 

 

центром в точке (a1 ,..., an ) и полуосями bi , i 1, n . Для гене-

рирования случайного вектора ( 1 ,..., n ) , равномерно распределенного в данном эллипсоиде, необходимо:

а) получить n реализаций 1 ,..., n

случайной величины,

равномерно распределенной в интервале (0, 1);

 

 

 

б) вычислить значения i 2 i 1,

i

 

,

равномерно

1, n

распределенные в интервале (-1,1);

 

 

 

 

 

 

n

 

 

 

 

 

 

в) если i2 1, то величины i ai bi i , i

1, n, соста-

i 1

 

 

 

 

 

 

вят искомую реализацию случайного вектора.

В противном случае следует повторять шаги а) – в) до получения этой реализации.

Задание для самостоятельной работы

Получить выборку объема 1000 реализаций случайного вектора (x, y, z) , имеющего равномерное распределение в

эллипсоиде

(x 1)

2

 

y2

 

(z 2)

2

1.

4

 

9

16

 

 

 

 

 

 

67

Пример 2.

Если (G) – плоский круг, (G) (x, y) : x2 y 2 1 , то можно генерировать случайный вектор, равномерно распределенный в (G) , иначе, чем в общем случае. Будем задавать точки круга в полярных координатах (r, ) , где r и независимые случайные величины с плотностями вероятностей

p(r) 2 r, 0 r 1 и p( )

1

, 0 2 .

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

Тогда

декартовы

координаты

точки

круга

(G)

x r cos ,

y r sin

– это также случайные величины с

совместной плотностью вероятностей

 

 

 

 

 

p(x, y)

p(r(x, y)) p(r(x, y))

 

(r, )

 

 

1

, (x, y) (G) .

 

 

 

 

 

(x, y)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Но –

это площадь единичного круга и,

следовательно,

случайный вектор (x, y) равномерно распределен в единичном круге. Исходя из этого, вектор (x, y) генерируют так:

1) генерируют пару равномерных в интервале (0,1) значений 1 , 2 ;

2) вычисляют значения компонент вектора (x, y) по фор-

мулам x 1 cos(2 2 ), y 1 sin(2 2 ) .

68

Сложнее обстоит дело с генерированием равномерного распределения на поверхности. Рассмотрим генерирование равномерного распределения на N -мерной сфере утверждение: если 1 ,..., N независимые стандартные нормальные случайные величины, то случайный вектор ( 1 ,..., N ) с ком-

 

i

 

 

 

 

понентами i

,

i 1, N имеет равномерное распре-

N

 

i2

 

 

 

 

 

i 1

 

 

 

 

деление на единичной сфере (S) . Это утверждение определяет алгоритм генерирования, согласно которому для получения реализации случайного вектора, равномерно распределенного

на

N – мерной единичной сфере, необходимо генерировать

N

независимых реализаций 1 ,..., N стандартной нормаль-

ной случайной величины, после чего вычислять значения компонент i искомого случайного вектора по формулам

 

i

 

 

 

 

i

,

i 1, N .

N

 

i2

 

 

 

 

 

i 1

 

 

 

 

69

2.5. Генерирование случайных векторов других типов

2.5.1. Полиномиальное распределение

Случайный вектор ( 1 ,..., n ) имеет полиномиальное распределение с параметрами N, p1 ,..., pn , если совместная плотность вероятностей его компонент имеет вид

p( y

 

,..., y

 

)

N!

 

p y1 ...p yn , где целые y

 

0,

i

 

,

 

 

i

1, n

 

 

y1!...yn !

 

1

 

n

 

1

n

 

 

 

 

 

 

 

 

 

y1 ... yn N,

p1 ... pn 1.

 

 

 

 

Алгоритм генерирования реализации вектора :

 

 

 

а) генерируем значения

1 ,..., n случайной

величины,

имеющей равномерное распределение в интервале (0,1);

б) затемдлякаждого i находимвектор (i) с n компонентами

1,

если p

 

p ...p

j 1

α

i

p

 

p

... p

j

,

(ji)

 

0

1

 

 

 

0

1

 

 

0,

в противном случае,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

(i)

.

 

 

 

 

 

в) наконец, получаем вектор

 

 

 

 

 

 

 

i 1

Задание для самостоятельной работы

Написать программу генерирования одной реализации случайного вектора (y1 , y2 , y3 ) , имеющего полиномиальное

распределение с параметрами

N y1 y2 y3 100, p1 0,2, p2 0,3, p3 0,5 .

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]