Me gustaría generar una matriz de covarianza aleatoria con varianzas en cierto rango.
¿Cómo se puede hacer? (En R si es posible)
He intentado generar una matriz triangular inferior $L$ donde la diagonal $D = \sqrt{V}$ , donde $V$ es el vector de varianzas. El problema radica en el resto de los valores que no se encuentran en la diagonal. No sé cómo generarlos para obtener al final una matriz de covarianza significativa. Por último, sólo haría $C = LL^T$ (Cholesky) para obtener una matriz definida positiva cuya diagonal es $V$ .
1 votos
¿cómo de grande quieres la matriz? generando
random
la matriz de covarianza no es tan fácil ya que es muy poco probable que una matriz aleatoria tenga propiedades de matriz de cov. (crece muy rápido en número de activos) (semidefinición positiva, etc...) aunque existen métodos.0 votos
Tampoco está claro qué debería ser aleatorio en tu matriz de covarianzas: ¿las varianzas marginales (vector de varianzas) o la estructura de dependencia lineal (matriz de correlaciones)? De hecho, usted dice que quiere varianzas en un cierto rango, pero parece utilizar un vector fijo $V$ ?