Crear términos de errores correlacionados a partir de una variable existente

Digamos que tengo un vector:

Q<-rnorm(50,mean=0,sd=30)

Me gustaría crear 10 variables que se componen de Q+error term tal que cada una de las 10 variables tiene términos de error correlacionados que dan como resultado una correlación entre las 10 variables de, digamos, 8.

Normalmente crearía variables correlacionadas usando:

vars<-rmvnorm(n=10, mean=c(rep(0,50)),cov.mat, method="chol")

¿Qué pasa si agrego Q+vars. ¿Consigo lo que busco?

preguntado el 11 de septiembre de 13 a las 14:09

¿Lo has probado? Según su código, no estoy completamente seguro de lo que realmente quiere. ¿Quiere que sus variables resultantes tengan diferentes medios (es decir, Q)? Entonces tu vars sería un término de error solo en el sentido de un modelo de intersección solamente. Esto se puede hacer fácilmente usando mean=Q; ¿estás familiarizado con R? reciclaje? Si desea generar un conjunto de vectores de modo que cada valor con cada variable sea un dibujo de una normal (es decir, Q) + un sorteo de una distribución de error (es decir vars), el ns en esos 2 comandos deben coincidir. -

Cometí un error, las n debían ser iguales. por favor vea mi edición. -

@ usuario1723765, tenga en cuenta que Q debe tener longitud == 50, ya que vars tiene 10 vectores de longitud==50, apilados en una matriz de 10x50. Además, el comentario que agregó extrapoló la pregunta, por lo que me tomé la libertad de revertir su edición. -

1 Respuestas

¡No! Tenga en cuenta que rmvnorm devuelve tus 10 vectores aleatorios en el filas de una matriz de 10x50. Entonces de usted agrega Q + vars, R reciclará Q "en columnas" para obtener una matriz de 10x50. Pero puedes obtener lo que quieras usando esto:

t(t(vars)+Q)

cuyas filas son observaciones aleatorias de una densidad normal multivariada con mean==Q y matriz de varianza-covarianza dada por cov.mat.

Respondido el 11 de Septiembre de 13 a las 20:09

lo que me gustaría tener son 50 vectores con 10 números aleatorios para que cada una de las 50 variables tenga una correlación preestablecida entre sí. - user1984076

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.