如何获得 scipy (Python) 中伽马分布的概率分布函数和累积密度函数的方程

How to get the equations for Probability distribution function and Cumulative density function of a gamma distribution in scipy (Python)

正如我们可以写出服从正态分布的随机变量 X 的 CDF 和 PDF,其参数 - std 和 mean 使用 scipy以下方式:

from numpy import sqrt, pi, exp
mean, std = 295, 250

# defining Cumulative density function
def cdf(x):
    cdf_eqn = lambda t: (1 / (std * sqrt(2 * pi))) * exp(-(((t - mean) ** 2) / (2 * std ** 2)))
    cdf = quad(cdf_eqn, -np.inf, x)[0]
    return cdf

# defining Probability distribution function
def pdf(x):
    return (1 / (std * sqrt(2 * pi))) * exp(-(((x - mean) ** 2) / (2 * std ** 2)))

如何用上面相同的方式定义 伽马分布 的 CDF 和 PDF?

您可以根据伽马分布的定义对PDF和CDF进行编码:

来源:https://en.wikipedia.org/wiki/Gamma_distribution

您可以选择 alpha 和 beta 参数。 或者,您可以使用 scipy.stats.gamma 包。

了解如何操作:

from scipy.stats import gamma

mean = 259
std = 250

x = 100

alpha = ( mean / std)**2
beta = std**2 / mean


def pdf(x,aplha,beta):
  return gamma.pdf(x, a = alpha, scale = beta)

def cdf(x,alpha,beta):
  return gamma.cdf(x, a = alpha, scale = beta)