• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

344
Vistas
Cómo trazar la distribución gamma con parámetros alfa y beta en python

Quiero trazar una distribución gamma con alfa = 29 (la escala) y beta = 3 (el tamaño). En otras palabras, quiero trazar el pdf para Gamma(29,3). ¿Cómo hago esto si, según la documentación , la función gamma de Python solo tiene parámetros a y x y el parámetro de tamaño no existe?

Pensé que loc era beta, pero creo que en realidad está compensado, por lo que el siguiente código es incorrecto...

 import numpy as np import scipy.stats as stats from matplotlib import pyplot as plt x = np.linspace (0, 100, 200) y1 = stats.gamma.pdf(x, a=29, loc=3) #a is alpha, loc is beta??? plt.plot(x, y1, "y-", label=(r'$\alpha=29, \beta=3$')) plt.ylim([0,0.08]) plt.xlim([0,150]) plt.show()
about 3 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

De acuerdo con la documentación, desea utilizar el parámetro de escala (theta), pero dado que está definiendo beta, que es el inverso de theta, entonces pasa la escala con el valor de 1/beta, que en su ejemplo sería 1/ 3 o 0,33333.

Por lo tanto, intente:

 y1 = stats.gamma.pdf(x, a=29, scale=0.33333)
about 3 years ago · Santiago Trujillo Denunciar

0

Como respondió @Hielke, según lo explicado en la documentación de scipy.stats 1.4.1, parece que el parámetro escalar es igual a beta. De hecho, la función desarrollada originalmente es:

 gamma.pdf(x, a) = x^(a-1) * exp(-x) / gamma(a)

Si uno reemplaza x por una combinación de los dos parámetros opcionales loc y escala como:

 x = (y - loc) / scale

Uno debe tener:

 gamma.pdf(x, a) = (y - loc)^(a-1) * exp( -(y - loc)/scale ) / (scale^(a-1) * gamma(a))

Si toma loc = 0 , entonces reconoció la expresión de la distribución Gamma tal como se define normalmente. Multiplica por el inverso de scale y puedes concluir que scale = beta en esta función y loc es un desplazamiento .

En realidad, he tratado de detallar la explicación de la documentación:

Específicamente, gamma.pdf(x, a, loc, scale) es idénticamente equivalente a gamma.pdf(y, a) / scale con y = (x - loc) / scale.

about 3 years ago · Santiago Trujillo Denunciar

0

Esta no es estrictamente una respuesta a la pregunta, pero surge cuando se busca el equivalente de R qgamma con parámetros alfa y beta en Python. Así que solo una nota:

 R: qgamma(0.025, 5, 41.3) Python: from scipy.stats import gamma gamma.ppf(0.025, 5, scale=1/41.3)
about 3 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda