Двумерное нормальное распределение с корреляцией и средним значением

Как я могу сгенерировать k двумерных нормальных случайных величин с

  • среднее=0
  • сигма=1 и
  • корреляция=ро в R?

person Souvique    schedule 11.05.2018    source источник
comment
Кого это может касаться: этот вопрос не по теме, он касается генерации случайных розыгрышей из раздачи.   -  person Tim    schedule 11.05.2018
comment
Это не по теме, потому что он запрашивает конкретный метод для выполнения задачи в R.   -  person Michael R. Chernick    schedule 11.05.2018


Ответы (2)


Вы можете сгенерировать двумерный стандартный вектор нормали, используя обратный CDF. $$ X = \begin{pmatrix}X_1 \\ X_2\end{pmatrix} \sim \mathrm{N}\left(\begin{pmatrix}0 \\ 0\end{pmatrix}, \begin{pmatrix}1 &0 \\ 0 &1\end{pmatrix}\right). $$ Теперь,

$$C = \begin{pmatrix}1 & \rho \\ \rho &1\end{pmatrix}$$ — ваша ковариационная матрица. Пусть $L$ — разложение Холецкого $C$. Это означает, что $L$ задано так, что $C = LL^T$. Тогда $LX\sim\mathrm{N}(0,C)$.

Здесь $L$ можно вычислить аналитически: $$ L = \begin{pmatrix}1 & 0 \\ \rho &\sqrt{1 - \rho^2}\end{pmatrix}. $$

person Jonas    schedule 11.05.2018
comment
Большое спасибо ! Bt, как я могу сделать это в R? - person ; 11.05.2018

В R вы можете использовать пакет rmvtnorm.

person user30978    schedule 11.05.2018