Участник:Lonalone/Генерация гауссовского вектора методом линейных преобразований: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
Строка 11: Строка 11:
 
Даны корреляционная матрица Q и вектор математических ожиданий компонент вектора X:
 
Даны корреляционная матрица Q и вектор математических ожиданий компонент вектора X:
 
:<math>
 
:<math>
\begin{align}
 
 
Q = \|q_{ij}\| = \| M[(X_{i} - m_{X_{i}})(X_{j} - m_{X_{j}})]\|, \\
 
Q = \|q_{ij}\| = \| M[(X_{i} - m_{X_{i}})(X_{j} - m_{X_{j}})]\|, \\
M = (m_{X_{1}}, m_{X_{2}}, ..., m_{X_{n}})^T.
+
M = (m_{x_{1}}, m_{x_{2}}, ..., m_{x_{n}})^T.
\end{align}
+
</math>
 +
 
 +
Требуется найти такую матрицу В, которая позволяла бы в результате преобразования <math>X = BY + M</math>, где <math>Y</math> — n-мерный вектор с независимыми нормально распределенными компонентами со стандартными параметрами, получить вектор <math>X</math> с требуемыми характеристиками.
 +
 
 +
Будем искать матрицу <math>В</math> в виде нижней треугольной матрицы. Перейдем от матричной записи к системе алгебраических уравнений:
 +
<br>
 +
:<math>
 +
 
 +
\begin{pmatrix} X_{1} \\
 +
X_{2} \\ \vdots \\ X_{n} \end{pmatrix} =
 +
 
 +
\begin{pmatrix} b_{11} & 0 & \cdots & 0
 +
\\b_{21} & b_{22} & \cdots & 0
 +
\\ \vdots & \vdots & \ddots & \vdots
 +
\\ b_{n1} & b_{n2} & \cdots & b_{nn}
 +
\end{pmatrix} \times
 +
 
 +
\begin{pmatrix} Y_{1} \\
 +
Y_{2} \\ \vdots \\ Y_{n} \end{pmatrix} +
 +
 
 +
\begin{pmatrix} m_{x_{1}} \\
 +
m_{x_{2}} \\ \vdots \\ m_{x_{n}} \end{pmatrix} \Rightarrow
 +
</math>
 +
<br>
 +
:<math>
 +
 
 +
\begin{cases}X_{1} - m_{x_{1}} = b_{11}Y_{1}
 +
\\X_{2} - m_{x_{2}} = b_{21}Y_{1} + b_{22}Y_{2}
 +
\\ \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots
 +
\\X_{n} - m_{x_{n}} = b_{n1}Y_{1} + b_{n2}Y_{2} + \cdots + b_{nn}Y_{n}
 +
\end{cases}
 +
 
 +
</math>
 +
<br>
 +
Поскольку компоненты вектора <math>Y</math> независимы и имеют стандартные параметры, справедливо выражение:
 +
:<math>
 +
M[Y_{i}Y_{j}] =
 +
\left\{\begin{matrix}
 +
1, &i = j, \\
 +
0, &i \not= j,
 +
\end{matrix}\right .
 
</math>
 
</math>
  

Версия 21:17, 22 октября 2018

Автор описания: Меньших И. М.


1 Свойства и структура алгоритма

1.1 Общее описание алгоритма

В статье приведен алгоритм генерации n-мерного случайного вектора, распределенного по нормальному закону, с помощью метода линейных преобразований[1]. Этот метод является одним из наиболее распространенных так называемых корреляционных методов, применяемых в случаях, когда при моделировании непрерывного n-мерного случайного вектора достаточно обеспечить лишь требуемые значения элементов корреляционной матрицы этого вектора (для случая нормального распределения выполнение названного требования означает выполнение достаточного условия полного статистического соответствия теоретического и моделируемого распределений[2]) и вектора математических ожиданий компонент.

Идея алгоритма заключается в линейном преобразовании случайного n-мерного вектора Y c независимыми, одинаково распределенными по стандартному нормальному закону компонентами в случайный вектор X с требуемыми корреляционной матрицей и вектором математических ожиданий компонент.

1.2 Математическое описание алгоритма

Даны корреляционная матрица Q и вектор математических ожиданий компонент вектора X:

[math] Q = \|q_{ij}\| = \| M[(X_{i} - m_{X_{i}})(X_{j} - m_{X_{j}})]\|, \\ M = (m_{x_{1}}, m_{x_{2}}, ..., m_{x_{n}})^T. [/math]

Требуется найти такую матрицу В, которая позволяла бы в результате преобразования [math]X = BY + M[/math], где [math]Y[/math] — n-мерный вектор с независимыми нормально распределенными компонентами со стандартными параметрами, получить вектор [math]X[/math] с требуемыми характеристиками.

Будем искать матрицу [math]В[/math] в виде нижней треугольной матрицы. Перейдем от матричной записи к системе алгебраических уравнений:

[math] \begin{pmatrix} X_{1} \\ X_{2} \\ \vdots \\ X_{n} \end{pmatrix} = \begin{pmatrix} b_{11} & 0 & \cdots & 0 \\b_{21} & b_{22} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ b_{n1} & b_{n2} & \cdots & b_{nn} \end{pmatrix} \times \begin{pmatrix} Y_{1} \\ Y_{2} \\ \vdots \\ Y_{n} \end{pmatrix} + \begin{pmatrix} m_{x_{1}} \\ m_{x_{2}} \\ \vdots \\ m_{x_{n}} \end{pmatrix} \Rightarrow [/math]


[math] \begin{cases}X_{1} - m_{x_{1}} = b_{11}Y_{1} \\X_{2} - m_{x_{2}} = b_{21}Y_{1} + b_{22}Y_{2} \\ \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \cdots \\X_{n} - m_{x_{n}} = b_{n1}Y_{1} + b_{n2}Y_{2} + \cdots + b_{nn}Y_{n} \end{cases} [/math]


Поскольку компоненты вектора [math]Y[/math] независимы и имеют стандартные параметры, справедливо выражение:

[math] M[Y_{i}Y_{j}] = \left\{\begin{matrix} 1, &i = j, \\ 0, &i \not= j, \end{matrix}\right . [/math]

1.3 Вычислительное ядро алгоритма

1.4 Макроструктура алгоритма

1.5 Схема реализации последовательного алгоритма

1.6 Последовательная сложность алгоритма

1.7 Информационный граф

1.8 Ресурс параллелизма алгоритма

1.9 Входные и выходные данные алгоритма

1.10 Свойства алгоритма

2 Программная реализация алгоритма

2.1 Особенности реализации последовательного алгоритма

2.2 Локальность данных и вычислений

2.3 Возможные способы и особенности параллельной реализации алгоритма

2.4 Масштабируемость алгоритма и его реализации

2.5 Динамические характеристики и эффективность реализации алгоритма

2.6 Выводы для классов архитектур

2.7 Существующие реализации алгоритма

3 Литература

  1. Балдин К.В., Уткин В.Б. Информационные системы в экономике. - М.:ИТК Дашков и К, 2008. - 395 с.
  2. https://ru.wikipedia.org/wiki/Многомерное_нормальное_распределение