Разложение Холецкого для моделирования коррелированных случайных величин - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть корреляционная матрица для N случайных величин. Каждый из них равномерно распределен в пределах [0,1]. Я пытаюсь смоделировать эти случайные величины, как я могу это сделать? Примечание N > 2. Я пытался использовать разложение Холецкого и ниже мои шаги:

  1. получить нижний треугольник матрицы корреляции (L=N*N)
  2. независимо выборка 10000 раз для каждого из N равномерно распределенных случайных величин (S=N*10000)
  3. умножаем две: L*S, и это дает мне коррелированные выборки, но диапазон их больше не находится в пределах [0,1].

Как мне решить проблему?

Я знаю, что если у меня есть только 2 случайные переменные, я могу сделать что-то вроде:

1*x1+sqrt(1-tho^2)*y1

, чтобы получить свою коррелированную выборку y. Но если у вас есть более двух взаимосвязанных переменных, не знаете, что мне делать.

1 Ответ

0 голосов
/ 11 февраля 2020

Вы можете получить приближенные решения, генерируя коррелированные нормали, используя факторизацию Холецкого, а затем преобразовывая их в U (0,1), используя нормальный CDF. Решение является приблизительным, потому что нормали имеют желаемую корреляцию, но преобразование в униформу является нелинейным преобразованием, и только линейные формы x сохраняют корреляцию.

Существует преобразование, которое даст точные решения, если преобразованные Var / Cov Матрица положительно полуопределена, но это не всегда так. См. Тезисы https://www.tandfonline.com/doi/abs/10.1080/03610919908813578.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...