usar probabilidad pmf normal funciones funcion exponencial estadistica distribuciĆ³n distribucion como python statistics poisson

python - pmf - Calcular el porcentaje de probabilidad de poisson



probabilidad en python (3)

Es fácil hacerlo a mano, pero puede desbordarse haciéndolo de esa manera. Puede hacer el exponente y factorial en un bucle para evitar el desbordamiento:

def poisson_probability(actual, mean): # naive: math.exp(-mean) * mean**actual / factorial(actual) # iterative, to keep the components from getting too large or small: p = math.exp(-mean) for i in xrange(actual): p *= mean p /= i+1 return p

Cuando utiliza la función POISSON en Excel (o en OpenOffice Calc), toma dos argumentos:

  • un entero
  • un número ''promedio''

y devuelve un flotador.

En Python (probé RandomArray y NumPy) devuelve una matriz de números aleatorios de Poisson. Lo que realmente quiero es el porcentaje en que ocurrirá este evento (es un número constante y la matriz tiene cada vez números diferentes, ¿es un promedio?).

por ejemplo:

print poisson(2.6,6)

devuelve [1 3 3 0 1 3] (y cada vez que lo ejecuto, es diferente).

El número que obtengo de calc / excel es 3.19 ( POISSON(6,2.16,0)*100 ).

¿Estoy usando mal el poisson de la pitón (sin juego de palabras) o me estoy perdiendo algo?


Esta página explica por qué obtienes una matriz y el significado de los números en ella, al menos.


scipy tiene lo que quieres

>>> scipy.stats.distributions <module ''scipy.stats.distributions'' from ''/home/coventry/lib/python2.5/site-packages/scipy/stats/distributions.pyc''> >>> scipy.stats.distributions.poisson.pmf(6, 2.6) array(0.031867055625524499)

Vale la pena señalar que es bastante fácil de calcular a mano, también .