El método de correlación de rangos de Iman and Conover parece ser un enfoque ampliamente utilizado y general para producir muestras correlacionadas de monte carlo para experimentos basados en computadora, análisis de sensibilidad, etc. Desafortunadamente, acabo de enterarme de esto y no tengo acceso al PDF por lo que no sé cómo los autores en realidad implementan su método, pero puede seguir esto.
Su método es más general porque cada variable puede provenir de una distribución diferente a diferencia de la respuesta normal multivariada de @ Dirk.
Actualización: me encontré con una aplicación R del enfoque anterior en el paquete mc2d
, en particular, desea que la función cornode()
.
Aquí es un ejemplo tomado de ?cornode
> require(mc2d)
> x1 <- rnorm(1000)
> x2 <- rnorm(1000)
> x3 <- rnorm(1000)
> mat <- cbind(x1, x2, x3)
> ## Target
> (corr <- matrix(c(1, 0.5, 0.2, 0.5, 1, 0.2, 0.2, 0.2, 1), ncol=3))
[,1] [,2] [,3]
[1,] 1.0 0.5 0.2
[2,] 0.5 1.0 0.2
[3,] 0.2 0.2 1.0
> ## Before
> cor(mat, method="spearman")
x1 x2 x3
x1 1.00000000 0.01218894 -0.02203357
x2 0.01218894 1.00000000 0.02298695
x3 -0.02203357 0.02298695 1.00000000
> matc <- cornode(mat, target=corr, result=TRUE)
Spearman Rank Correlation Post Function
x1 x2 x3
x1 1.0000000 0.4515535 0.1739153
x2 0.4515535 1.0000000 0.1646381
x3 0.1739153 0.1646381 1.0000000
Las correlaciones de rangos en matc
son ahora muy cerca de las correlaciones diana de corr
.
La idea con esto es dibujar las muestras por separado de la distribución para cada variable, y luego usar el enfoque de Iman & Connover para hacer las muestras (tan cerca) de las correlaciones objetivo como sea posible.
Estoy muy contento de que haya hecho esta pregunta, ya que tengo que hacer un análisis de sensibilidad para un proyecto y había estado investigando la teoría, pero aún no había buscado las opciones R para implementar los métodos que estaba aprendiendo. –