在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
我查看了文档,但我还是不清楚。
你可以定义分布,然后调用 .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])