如何在Python scipy中获取伽马概率密度函数中特定x值的概率?

问题描述 投票:0回答:1

在python中,我可以通过以下方式获得伽马分布中x的概率。

import numpy as np 
from scipy.stats import gamma

# Gamma distribution
print(gamma.pdf(x=2, a=2, scale=1, loc=0)) # 0.27067

然而,这需要在每次我想在特定的x处得到可能的情况下创建一个新的伽马分布。

我喜欢创建一个指定的伽马分布 my_gamma_dist然后一次又一次地从中抽取一个特定的x值。

import numpy as np 
from scipy.stats import gamma

my_gamma_dist = gamma.pdf(x, a=2, scale=1, loc=0)

my_gamma_dist.x = 2 # AttributeError: 'numpy.ndarray' object has no attribute 'x'
print(my_gamma_dist(x=2)) # TypeError: 'numpy.ndarray' object is not callable

我查看了文档,但我还是不清楚。

python-3.x scipy probability-density gamma-distribution
1个回答
2
投票

你可以定义分布,然后调用 .pdf 方法上的数值,即。

from scipy.stats import gamma

g = gamma(a=2, scale=1, loc=0)

x=2
g.pdf(x)
0.2706705664732254

x=3
g.pdf(x)
0.14936120510359185

# Or pass a list of values to evaluate
g.pdf([2,3])
array([0.27067057, 0.14936121])
© www.soinside.com 2019 - 2024. All rights reserved.