18 votos

Generar números aleatorios normalmente distribuidos con matriz de covarianza no definida positiva

Estimé la matriz de covarianza de la muestra $C$ de una muestra y obtengo una matriz simétrica. Con $C$, me gustaría crear $n$ -variable normal distribuida R.N. pero por lo tanto necesito la descomposición de Cholesky de $C$. ¿Qué debo hacer si $C$ no es positivo definitivo?

1voto

Ian G Puntos 3498

Puede obtener los resultados de la función nearPD en el paquete Matrix en R. Esto le dará una matriz de valor real.

library(Matrix)
A <- matrix(1, 3,3); A[1,3] <- A[3,1] <- 0
n.A <- nearPD(A, corr=T, do2eigen=FALSE)
n.A$mat

# 3 x 3 Matrix of class "dpoMatrix"
#           [,1]      [,2]      [,3]
# [1,] 1.0000000 0.7606899 0.1572981
# [2,] 0.7606899 1.0000000 0.7606899
# [3,] 0.1572981 0.7606899 1.0000000

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X