как создать гауссовский случайный вектор с нулевым средним, имеющий матрицы корреляции, собственные значения которых экспоненциально распределены - PullRequest
0 голосов
/ 16 января 2019

1. Это вопрос из статьи «Быстрое обобщенное отслеживание собственных векторов на основе метода мощности».

2. Автор писал: «Мы генерируем два гауссовских случайных вектора с нулевым средним, которые имеют корреляционные матрицы A и B, собственные значения которых экспоненциально распределены ».

3.Но как сгенерировать гауссовский случайный вектор с нулевым средним, имеющий матрицы корреляции, собственные значения которых экспоненциально распределены, это смутило меня почти неделю.

4. Похоже, что мы могли бы использовать randn в MATLAB для генерации случайного вектора, поэтому проблема состоит в том, чтобы убедиться, что матрицы корреляции, собственные значения которых экспоненциально распределены в то же время ?

1 Ответ

0 голосов
/ 16 января 2019

Пусть S - положительно определенная матрица. Следовательно, S имеет разложение Холецкого L.L '= S, где L - нижнетреугольная матрица, ' обозначает транспонирование матрицы, а . обозначает умножение матрицы. Пусть x взят из гауссовского распределения со средним нулем и ковариацией, равной единичной матрице. Тогда y = L.x имеет гауссово распределение со средним нулем и ковариацией S.

Так что, если вы можете найти подходящие ковариационные матрицы A и B, вы можете использовать их разложения Холецкого для генерации выборок. Теперь о построении матрицы, которая имеет собственные значения, следующие заданному распределению. Мой совет - начать со списка образцов из экспоненциального распределения; это будут ваши собственные значения. Пусть E = матрица с показательными выборками по диагонали и нулями в противном случае. Пусть U - любая унитарная матрица (т.е. столбцы ортогональны, а норма каждого столбца равна 1). Тогда U.E.U 'является положительно определенной матрицей с указанными собственными значениями.

U может быть любой унитарной матрицей. В частности, U может быть единичной матрицей. Это может сделать все остальное проще; вам нужно проверить, подходит ли U = identity для проблемы, над которой вы работаете.

...