Método para generar datos no normales correlacionados

14

Estoy interesado en encontrar un método para generar datos correlacionados, no normales. Entonces, idealmente, algún tipo de distribución que tome una matriz de covarianza (o correlación) como parámetro y genere datos que la aproximen. Pero aquí está el truco: el método que estoy tratando de encontrar debería tener la flexibilidad para controlar también su asimetría y / o curtosis multivariante.

Conozco el método de Fleishman y el uso del método de la potencia de las variaciones normales, pero creo que la mayoría de esas extensiones solo permiten al usuario ciertas combinaciones de asimetría marginal y curtosis, dejando la asimetría / curtosis multivariada por ahí. Lo que me preguntaba es si hay un método que ayude a especificar la asimetría multivariada y / o la curtosis, junto con alguna estructura de correlación / covarianza.

Hace aproximadamente un año, tomé un seminario sobre distribuciones de cópula y recuerdo que el profesor mencionó casualmente que mediante el uso de cópulas de vid, uno podría generar datos que son, por ejemplo, simétricos en cada uno de sus marginales 1-D pero sesgados y viceversa. -versa. O, aún más, que cualquier margen de dimensiones inferiores podría tener cierta asimetría o curtosis mientras se mantienen simétricas (o no) las dimensiones más altas. Me sorprendió la idea de que tal flexibilidad pudiera existir. He estado tratando de encontrar algún tipo de artículo o documento de conferencia que describa dicho método, pero no he tenido éxito :(. No tiene que ser a través del uso de cópulas, Estoy abierto a todo lo que funcione.

Editar: he agregado un código R para intentar mostrar lo que quiero decir. Hasta ahora solo conozco bien la definición de Mardia de asimetría y curtosis multivariante. Cuando abordé por primera vez mi problema, ingenuamente pensé que si usaba una cópula simétrica (gaussiana en este caso) con marginales sesgados (beta, en este ejemplo), las pruebas univariadas en los marginales tendrían importancia, pero la prueba de Mardia para la asimetría / curtosis multivarita sería no ser significativo Lo intenté y no salió como esperaba:

library(copula)
library(psych)
set.seed(101)

cop1 <- {mvdc(normalCopula(c(0.5), dim=2, dispstr="un"), 
            c("beta", "beta"),list(list(shape1=0.5, shape2=5), 
            list(shape1=0.5, shape2=5)))}

            Q1 <- rmvdc(cop1, 1000)
            x1 <- Q1[,1]
            y1 <- Q1[,2]


cop2 <- {mvdc(normalCopula(c(0.5), dim=2, dispstr="un"), 
            c("norm", "norm"),list(list(mean=0, sd=1), 
            list(mean = 0, sd=1)))}

            Q2 <- rmvdc(cop2, 1000)
            x2 <- Q2[,1]
            y2 <- Q2[,2]

mardia(Q1)  

Call: mardia(x = Q1)

Mardia tests of multivariate skew and kurtosis
Use describe(x) the to get univariate tests
n.obs = 1000   num.vars =  2 
b1p =  10.33   skew =  1720.98  with probability =  0
small sample skew =  1729.6  with probability =  0
b2p =  22.59   kurtosis =  57.68  with probability =  0

mardia(Q2)
Call: mardia(x = Q2)

Mardia tests of multivariate skew and kurtosis
Use describe(x) the to get univariate tests
n.obs = 1000   num.vars =  2 
b1p =  0.01   skew =  0.92  with probability =  0.92
 small sample skew =  0.92  with probability =  0.92
b2p =  7.8   kurtosis =  -0.79  with probability =  0.43

Al inspeccionar los contornos para 'cop1' VS 'cop2', así como los gráficos de densidad bivariados empíricos, también puedo ver que ninguno de ellos parece simétrico en absoluto. Fue entonces cuando me di cuenta de que esto es probablemente un poco más complicado de lo que pensaba.

Sé que Mardia no es la única definición de asimetría / curtosis multivariada, por lo que no me estoy limitando a encontrar un método que solo satisfaga las definiciones de Mardia.

¡gracias!

S. Punky
fuente
+1 Una pregunta muy interesante. ¿Podría ser más específico acerca de lo que significa "sesgo conjunto" en este contexto (particularmente uno bivariado)? Si bien puedo imaginar formas de distribución conjunta que, en cierto sentido, son "diferentes" en los cuatro cuadrantes (sobre ejes colocados en los medios, por ejemplo), no estoy familiarizado con lo que podría referirse específicamente a "sesgo conjunto".
Glen_b -Reinstate a Monica el
ExpXX
Hola. Muchas gracias por interesarse en mi pregunta. Esta es la primera vez que publico aquí, así que espero estar haciendo las cosas correctamente. explicaré más sobre la sección de comentarios porque el límite de caracteres me impide usar el código R para tratar de transmitir lo que estoy haciendo
S. Punky
Sí, me di cuenta de eso y agregué más detalles. Le agradezco que se haya tomado el tiempo para guiarme en cuanto a cómo usar esta placa. ¡Gracias!
S. Punky
" no me limito a encontrar un método que solo satisfaga las definiciones de Mardia " - ¿método de hacer qué?
Glen_b: reinstala a Monica el

Respuestas:

3

Después de mucho buscar, saltar en foros en línea, consultar con profesores y hacer MUCHAS revisiones de literatura, he llegado a la conclusión de que probablemente LA ÚNICA manera de abordar este problema es a través del uso de cópulas de vid. Le da cierto control sobre la asimetría y la curtosis en pares (o cualquier momento superior), para un vector aleatorio con variante p y la libertad de especificar un par de cópulas p-1 y el p * restante (p-1) / 2 - ( p-1) las dimensiones se pueden especificar en algún tipo de cópula condicional.

Doy la bienvenida a otros métodos que la gente podría haber encontrado, pero al menos voy a dejar este puntero hacia una respuesta porque, por mi vida, no puedo encontrar otras formas de abordar esto.

S. Punky
fuente
2
¿Qué es una cópula de vid?
Sextus Empiricus
1

Es posible que pueda resolver esto modificando el algoritmo de Ruscio y Kaczetow (2008). Su artículo proporciona un algoritmo iterativo (con código R) que minimiza la diferencia entre las formas marginales reales y previstas. Es posible que pueda modificarlo para que esté dirigido a los momentos multivariados (en lugar de marginales).

Ruscio, J. y Kaczetow, W. (2008). Simulación de datos no normales multivariados utilizando un algoritmo iterativo. Investigación conductual multivariante, 43 (3), 355‐381. doi: 10.1080 / 00273170802285693

Antonio
fuente
¡DIOS MIO! ¡GRACIAS! Pensé por un momento que esta pregunta sería tragada al olvido
S. Punky
1
bueno ... he revisado el artículo de Ruscio & Kaczetow (2008). lamentablemente es solo otra implementación (aún más flexible) de la familia de algoritmos NORTA (NORmal To Anything) que se sabe que no funciona bien con los momentos 3 y 4 multivariados. Supongo que he vuelto al punto de partida.
S. Punky
0

Es posible que desee comprobar la Distribución elíptica generalizada , que permite una matriz de forma "clásica" con flexibilidad para otras características.

Cuarzo
fuente
¡Gracias! Me aseguraré de revisar este enlace. Ahora, ¿no son simétricas las distribuciones elípticas? Entonces, ¿se puede controlar la curtosis pero la asimetría debe permanecer en 0?
S. Punky
Claro, pero GE no implica elíptica. Para ver algunas variaciones elípticas asimétricas, consulte también aquí: stat.tamu.edu/~genton/STAT689/TAMU2009SE.pdf
Quartz
0

Se me ocurrió un método simple para hacer esto que no involucra coplas y otros diseños complejos. Me temo que no tengo ninguna referencia formal, aunque el método parece ser muy efectivo.

La idea es simple. 1. Dibuje cualquier número de variables de una distribución normal conjunta. 2. Aplique el CDF normal de variables univariadas para derivar probabilidades para cada variable. 3. Finalmente aplique el CDF inverso de cualquier distribución para simular sorteos de esa distribución.

Se me ocurrió este método en 2012 y demostré usar Stata . También he escrito un post reciente que muestra el mismo método utilizando R .

Francis Smart
fuente
(1) ¿Qué es una "distribución normal de Spearman"? (2) ¿Qué distinción está haciendo, si la hay, entre un CDF y un "CDF normal"? (3) ¿Podría explicar cómo este método introduce alguna correlación? Me temo que sus usos generales de "variable" y "distribución" hacen que su descripción sea bastante vaga, por lo que es difícil saber qué está haciendo realmente. ¿Podría reformular su respuesta para ser más preciso?
whuber
¡Gracias por tu publicación! siguiendo los enlaces se puede ver más información sobre el método. no hace exactamente lo que esperaba lograr (es decir, control sobre los momentos de orden superior y dimensiones más altas de la distribución) pero sigue siendo un enfoque muy valioso.
S. Punky
1
Como era de esperar, no se me ocurrió un nuevo método, ver: Cario, Marne C. y Barry L. Nelson. Modelado y generación de vectores aleatorios con distribuciones marginales arbitrarias y matriz de correlación. Informe técnico, Departamento de Ingeniería Industrial y Ciencias de la Administración, Northwestern University, Evanston, Illinois, 1997. Yahav, Inbal y Galit Shmueli. "Sobre la generación de datos poisson multivariados en aplicaciones de ciencias de gestión". Documento de investigación de la escuela Robert H. Smith No. RHS (2009): 06-085.
Francis Smart
incluso si no es un 'nuevo método', me gustaría agradecerle por tomarse el tiempo para revisar mi pregunta y agregar algo perspicaz :)
S. Punky
0

Creo que el método presentado en los siguientes documentos permite generar multivariantes aleatorios con cualquier combinación (factible) de media, varianza, asimetría y curtosis.

  1. Stanfield, PM, Wilson, JR y Mirka, GA 1996. Modelado de entrada multivariante con distribuciones Johnson, Actas de la Conferencia de simulación de invierno de 1996 , eds. Charnes, JM, Morrice, DJ, Brunner, DT y Swain, JJ, 1457-1464.
  2. Stanfield, PM, Wilson, JR y King, RE 2004. Modelado flexible de tiempos de operación correlacionados con aplicación en instalaciones de reutilización de productos, International Journal of Production Research , Vol 42, No 11, 2179-2196.

Exención de responsabilidad: soy no uno de los autores.

SecretAgentMan
fuente