varianza probabilidad normal funciones exponencial estandar estadistica distribucion desviacion cuadrado con chi python numpy scipy statistics mixture-model

probabilidad - poisson en python



Python-Distribución estadística (2)

Acerca de (2), una búsqueda web de "mezcla de Gaussians Python" debería aparecer un montón de visitas.

La mezcla de gaussianos es una idea bastante simple: en lugar de un único golpe gaussiano, la densidad contiene múltiples golpes. La densidad es una suma ponderada $ / sum_k / alpha_k g (x, / mu_k, / sigma_k ^ 2) $ donde los pesos $ / alpha_k $ son positivos y suman 1, y $ g (x, / mu, / sigma ^ 2) $ es un único bache Gaussiano.

Para determinar los parámetros $ / alpha_k $, $ / mu_k $ y $ / sigma_k ^ 2 $, típicamente uno usa el llamado algoritmo de expectativa-maximización (EM). De nuevo, una búsqueda web debería encontrar muchos resultados. El algoritmo EM para una mezcla gaussiana se implementa en algunas bibliotecas de Python. No es demasiado complicado escribirlo usted mismo, pero tal vez para comenzar puede usar una implementación existente.

Soy bastante nuevo en el mundo de pitón. Además, no soy un estadístico. Estoy en la necesidad de implementar modelos matemáticos desarrollados por matemáticos en un lenguaje de programación de ciencias de la computación. Elegí Python después de algunas investigaciones. Me siento cómodo con la programación como tal (PHP / HTML / javascript).

Tengo una columna de valores que extraje de una base de datos MySQL y que necesito calcular a continuación:

1) Normal distribution of it. (I don''t have the sigma & mu values. These need to be calculated too apparently). 2) Mixture of normal distribution 3) Estimate density of normal distribution 4) Calculate ''Z'' score

La matriz de valores es similar a la siguiente (He llenado datos de muestra) -

d1 = [3,3,3,3,3,3,3,9,12,6,3,3,3,3,9,21,3,12,3,6,3,30,12,6,3,3,24,30,3,3,3] mu1, std1 = norm.fit(d1)

La distribución normal, entiendo, se podría calcular de la siguiente manera:

import numpy as np from scipy.stats import norm mu, std = norm.fit(data)

¿Podría obtener algunos consejos sobre cómo comenzar con (2), (3) y (4) en esto, por favor? Continúo buscando en línea ya que espero con interés de los expertos.

Si la pregunta no tiene sentido, déjeme saber qué aspecto falta para que intente obtener información al respecto.

Apreciaría mucho cualquier ayuda aquí, por favor.


Algunas partes de su pregunta no están claras. Puede ser útil dar el contexto de lo que intenta lograr, en lugar de cuáles son los pasos específicos que está tomando.

1) + 3) En una distribución Normal - ajustando la distribución, y estimando la media y la desviación estándar - son básicamente la misma cosa. La media y la desviación estándar determinan completamente la distribución.

mu, std = norm.fit(data)

equivale a decir "encuentra la media y la desviación estándar que mejor se ajusta a la distribución".

4) Calculando el puntaje Z: tendrás que explicar lo que estás tratando de hacer. Esto generalmente significa cuánto por encima (o por debajo) de la media de un punto de datos, en unidades de desviación estándar. ¿Es esto lo que necesitas aquí? Si es así, entonces es simplemente

(np.array(data) - mu) / std

2) Mezcla de distribución normal: esto no está del todo claro. Por lo general, significa que la distribución en realidad está generada por más de una distribución normal única. ¿Qué quiere decir con esto?