6 votos

¿Cómo se puede resolver normal mixta distribuciones en sus componentes de conjuntos de datos?

Yo soy un pájaro timbre con 5000 elementos de datos de la grabación del ala longitud de los Sauces Canarios atrapado en primavera en un observatorio de aves en el reino unido. Los datos es bimodal y consta de 2 normalmente los componentes distribuidos. Uno de los componentes es el de un varón de aves el otro es el caso de las hembras. No hay ningún otro dato que pueda identificar al género de aves individuales. Me gustaría saber la media y la desviación estándar de cada conjunto de datos y el número de miembros en cada uno. Hay un equipo enfoque impulsado por la que va a proporcionar este análisis que pueden acceder y utilizar?

4voto

AdamSane Puntos 1825

Un enfoque podría ser un ajuste de dos componentes Gaussianas modelo de mezcla. Este modelos de la distribución observada como una mezcla de $w_1 f(\mu_1,\sigma_1)+(1-w_1)f(\mu_2,\sigma_2)$ donde $f$ es la densidad normal.

Hay una serie de enfoques para hacerlo; la E-M algoritmo (mediante la introducción de variables latentes - en su caso, indicando el peso relativo de ser de uno de los dos sexos) es un enfoque común. Esto debería converger a la estimación de máxima verosimilitud de los 5 parámetros desconocidos anteriormente.

El libro Elementos de Aprendizaje Estadístico, 2do.Ed por Hastie, Tibshirani y Friedman da una explícita algoritmo (Algoritmo de 8.2 en el 10 de impresión, p277). Este libro es comúnmente disponibles en las bibliotecas de la universidad y también se puede descargar desde la página web del libro (en formato pdf) aquí en uno de los autores académico de páginas web.

Un número de preguntas en nuestro sitio discutir este método.

Hay un conjunto de diapositivas por algunos de los mismos autores aquí que también discutir este enfoque. Un adecuado término de búsqueda en nuestro sitio que se convierte en algunos de los posts anteriores sobre este tema es el de gauss mezcla de EM.

Es un buen método estándar y un montón de software está disponible para adaptarse a ella.

Por ejemplo, si utiliza R, la función normalmixEM2comp en el paquete mixtools es específicamente para 2-componente Gaussiana mezclas; esto automatiza el proceso de ajuste de la mezcla.

He creado algunos datos y provisto de una mezcla de usarlo (yo nunca había usado este paquete antes, pero es muy simple y funciona igual que muchos otros programas):

Los datos simulados conjunto de ala longitudes (justo debajo de 5000 valores) está en la variable "wing". He aquí un histograma de los datos:

enter image description here

Después de cargar el paquete, he aquí cómo he instalado la mezcla (el valor de 0,5 es el valor inicial en la proporción en el primer componente, el 64,71 son conjeturas iniciales al ala de la longitud de los dos componentes, y el 1.2,1.2 son conjeturas iniciales en la desviación estándar para los dos componentes):

 mixres = normalmixEM2comp(wing, 0.5, c(64,71), c(1.2,1.2))
number of iterations= 38 

Así que veamos los resultados:

 summary(mixres)
summary of normalmixEM object:
          comp 1    comp 2
lambda  0.554041  0.445959
mu     64.477140 70.460471
sigma   1.301563  1.841486
loglik at estimate:  -12251.45 

Bastante bueno en realidad, ya que los que están muy cerca de los valores que se utiliza para generar los datos, para empezar.

Resumiendo que la información de nuevo en el histograma:

enter image description here

En este caso se obtiene la estimación de la forma de contar las hembras tomando la proporción de los componentes 1 veces el recuento general. Esta mal contadas las hembras por 14, que está dentro de la incertidumbre involucrada. Por otro lado, la salida de la función anterior también da un estimado de (posterior) de la probabilidad de estar en cada uno de los componentes (el cual fue devuelto en mixres$probability). Si me asignar cada una de las aves individuales a un sexo basada en el cual se tiene la mayor probabilidad relativa de que winglength, se estima que el recuento es de 2800 femenino (una sobre cuenta de 17 ... de nuevo, dentro de la incertidumbre que uno podría esperar de la cuenta con este modelo ajustado).

enter image description here

[Sin embargo, este enfoque tiende a conducir a una sobre cuenta de la más frecuente el grupo, como lo hizo aquí.]

Usted debe ser capaz de hacer cosas similares con otros software para el ajuste de tales mezclas.

0voto

Creosote Puntos 1393

Usted necesita encontrar a $\theta^\ast = (\mu_1,\sigma_1,\mu_2,\sigma_2,n_1)$ a la medida de sus datos, por lo que podría intentar adivinar varios $\theta$ y, a continuación, escoger el puntaje más alto. Para marcar un determinado $\theta$, usted podría tratar de una prueba de Kolmogorov-Smirnov.

No sé cómo es exacto que necesita, pero con un histograma como este ... bimodal

... mi prototipo de código encuentra lo que piensa es el óptimo $\theta$ cómodamente dentro del 5% de todos los componentes de la verdadera $\theta^\ast$. El más limpio y más obviamente bimodal su histograma, los mejores serán los resultados obtenidos.

Sería R código de ser útil? Son sus observaciones en algún formato conveniente como un archivo CSV? ¿Estaría usted dispuesto a cargar los datos?

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