6 votos

Generar variables aleatorias correlacionadas a partir de las distribuciones Normal y Gamma

Quiero generar un vector aleatorio $z$ de dimensión $k+m$ con alguna matriz de correlación dada $\Sigma$ , de manera que la primera $k$ elementos del vector se distribuyen normalmente y el último $m$ los elementos siguen la distribución Gamma con unos parámetros determinados $a,b$ .

Hier se sugiere (aplicado a este caso) generar una v.r. normal Z como $N(0,\Sigma)$ y luego resolver $G_{[a,b]}(Y_i)=\Phi_{[0,\Sigma]}(Z_i), i\geq m$ y sustituir los últimos m elementos de Z por Ys, sin embargo no se garantiza que el vector $(Z_1, ... , Z_k, Y_{k+1}, ..., Y_{k+m})$ seguirá teniendo la matriz de correlación $\Sigma$ .

¿Existe alguna cópula agradable que haga el trabajo o algún otro enfoque?

4voto

scottishwildcat Puntos 146

Mire aquí para la distribución multivariada en el cuadrante positivo ... bastante difícil. http://xianblog.wordpress.com/tag/multivariate-analysis/ Llevo semanas y meses dándole vueltas a esto en el contexto del riesgo de crédito (modelando conjuntamente las intensidades de impago) y creo que esto no funciona.

1voto

henrikpp Puntos 340

En Oracle Crystal Ball (o en algunos otros complementos de simulación de MC basados en Excel), podemos hacer esto sin mucha complicación: definir $k$ distribución normal y $m$ distribuciones gamma. Definir (o cargar) la matriz de correlación $\Sigma$ y luego generar las variantes aleatorias. Cada prueba de funcionamiento le daría un vector aleatorio $z$ de dimensión $k+m$ .

Utilizamos la cópula normal para generar números aleatorios correlacionados a partir de distribuciones de riesgo en Oracle Crystal Ball.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X