Autor Tema: Simulación de datos multivariantes con cópulas

0 Usuarios y 1 Visitante están viendo este tema.

18 Agosto, 2011, 05:29 pm
Leído 1830 veces

Julmarci

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 3
  • Karma: +0/-0
  • Sexo: Masculino
Hola, a ver si queda alguien por ahí que con este veranito sofocante me pueda echar un cable urgente.

Pretendo simular unos conjuntos de datos multivariantes reales que tengo, para luego poder cambiar algunas de sus propiedades. Mi idea es más o menos simularlos con cópulas a partir de distribuciones marginales univariantes. Claro, el problema es que no se las distribuciones de cada variable de mis datos, solo puedo intuirlas estimando su densidad.
¿Cómo podría averiguar las distribuciones univariantes más parecidas a cada uno de las variables? No veo lógico ponerme a hacer test de ajuste infinitos para comparar con todo tipo de distribuciones.

Los datos que tengo no son más que eso, los propios ejemplos y los estadísticos que se puedan sacar de ellos. ¿Alguna distribución sería más apropiada para poder ajustar a cualquier tipo de distribución? Las gamma, beta, hazard o weibull son muy flexibles, pero sus parámetros no se si tienen mucho que ver con algún tipo de estadístico que se pueda obtener de las muestras. Además después quiero simular que se estrechan las varianzas, y me vendría bien que la distribución tuviese un parámetro muy directamente relacionado con este estadístico concreto. No se si pido demasiado.

Pienso hacerlo con el paquete "copula" de R.

Los densidades suelen ser tirando a asimétricas con ciertas bimodalidades o crestas. (Tampoco es que tengan que ser simuladas perfectamente, solo deben parecerse y que pasen un test de ajuste)

Bueno, a ver si alguien puede ayudarme con el asunto.


Muchas gracias.




19 Agosto, 2011, 02:25 pm
Respuesta #1

Arturo Gómez

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 388
  • País: br
  • Karma: +0/-0
  • Sexo: Masculino
Es algo que depende del problema. Podrías comentar algo más al respecto?

20 Agosto, 2011, 06:52 pm
Respuesta #2

Julmarci

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 3
  • Karma: +0/-0
  • Sexo: Masculino
Vaya, pues la verdad es que el problema no tiene mucho más. Solo trato de simular unos conjuntos de datos que ya tengo para poder crear otros conjuntos iguales pero con varianzas cada vez más pequeñas para estudiar las capacidades de clustering sobre los datos transformados mediante algunos métodos de proyección.
Querría comprobar primero si la capacidad de separar los verdaderos grupos es mejor sobre datos gaussianos (heurísticamente equivalente al discriminante lineal de Fisher) o es igual en cualquier otro tipo de distribución multivariante. Y segundo intentar encontrar una relación mínima entre las diferencias de las medias de los grupos y las varianzas de éstos para que en el nuevo espacio proyectado todos los puntos queden perfectamente identificados en cada uno de sus grupos. (no se, quizás algo con distancias de Mahalanobis)

He visto que en R hay bastante ayuda para buscar estimadores de parámetros máximo-verosímiles. En el paquete MASS la función fitdistr(), y en el propio Copula también hay funciones un poco más elaboradas para ajustar el conjunto de datos entero.

Sin embargo no se muy bien que distribuciones utilizar. He comprobado que aun creando un conjunto de datos con una determinada distribución, e intentándola adivinar ajustando mediante un conjunto de varios tipos d¡stribuciones no obtengo el máximo valor de verosimilitud en el tipo del que he obtenido la muestra. Más o menos ese era uno de los criterios que pensaba utilizar para escoger la distribución con la que simular.

Que la distribución tenga parámetros directamente relacionados con la varianza es importante porque el conjunto simulado debe tener la misma matriz de covarianzas que el original, y luego debo poder ir reduciendo sus magnitudes. Pero además me encuentro con densidades como las del archivo adjunto en algunos conjuntos de datos. No se yo muy bien como tratar eso.



22 Agosto, 2011, 07:37 pm
Respuesta #3

Julmarci

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 3
  • Karma: +0/-0
  • Sexo: Masculino
Bueno, vamos avanzando poquito a poco. Para distribuciones simétricas y asimétricas a la dcha. lo tenemos fácil.

El primer escollo que me encuentro es que en algunos conjuntos tengo datos negativos. No se si estaría bien simplemente desplazar los datos antes de hacer la estimación y luego desplazar hacia la izquierda la muestra que genere aleatoriamente con esos parámetros.

El segundo son los datos con distribución asimétrica a la izquierda. No es que haya muchas funciones para generar este tipo de distribuciones precisamente. Por lo que veo en R solo tengo la gamma, pero es la gamma estándar, con A=0 y B=1, cuyo dominio es (0,1). No se si otros valores de A y B amplían el rango, pero de todas formas no tengo manera de hacer simulaciones modificando esos parámetros. ¿Podría aquí escalar los valores con x / max(x) para después hacer el paso contrario en la generación de datos posterior?

No se si estos pasos serían válidos o no estarían muy bien vistos.

Quizás alguien conozca algún paquete de R que contenga otras distribuciones con asimetría negativa.

El tema de las multimodalidades ya es que se me escapa completamente. Se que existen los modelos mixtos o algo así, pero no se ni si son aplicables a este problema ni como se haría.



22 Agosto, 2011, 09:18 pm
Respuesta #4

Arturo Gómez

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 388
  • País: br
  • Karma: +0/-0
  • Sexo: Masculino
Tal vez por ser extranjero se me escape un poco el significado, creo que en principio debe existir algún tipo de situación física (económica, industrial, social) que genera unos datos reales que son los que están graficados.
De esas variables dependen algunos fenómenos cuyas probabilidades no conoces y estás queriendo obtenerlas por simulación que se basa en la simulación de variables con la misma distribución de las que ya tienes.
Y para hacer la simulación estás intentando para cada variable una función de distribución que genere números con la misma distribución de los que tienes.
Es eso?

30 Agosto, 2011, 06:46 pm
Respuesta #5

Emilio Jose Chaves

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 35
  • Karma: +0/-0
  • Sexo: Masculino
"trato de simular unos conjuntos de datos que ya tengo"
"datos reales que son los que están graficados"

"¿Cómo podría averiguar las distribuciones univariantes más parecidas a cada uno de las variables?"

Hola,

La gráfica menciona valores de PDFs (que no son datos sino una interpretación de los datos previos) para algunas variables. ¿O es que son los datos reales originales?
Tienes alguna tabla de unas 50 líneas de datos multivariantes para las mismas condiciones del problema? Si la tienes envíala para 2 o 3 variables. He trabajado ese tema sin usar PDFs -es otro método, otro cuento-.

Cada línea debe incluir V1, V2, .. Vn y los datos deben ser valores recogidos en cada  medición.

Entiendo que se busca estudiar la distribución de cada variable. Imagino que más tarde buscarás encontrar correlaciones y graficarlas.

Suerte, emilio