我试图绘制Gamma(alpha = scale = 29,beta = size = 3),但我收到错误TypeError:_parse_args()得到了一个意外的关键字参数' size& #39;为y1
。我跟踪了scipy documentation 的伽玛分布,并且有一个用于伽玛分布的大小参数,所以我不明白为什么我会收到此错误。
import numpy as np
from scipy.stats import gamma
from matplotlib import pyplot as plt
x = np.linspace (0, 100, 200) #start, stop, num of samples
y1 = gamma.pdf(x, scale = 29, size = 3) #PRODUCES ERROR HERE
plt.plot(x, y1, "-", label=(r'$\alpha=1, \beta=1$'))
plt.xlabel(r'$x$')
plt.ylabel(r'$y$')
plt.title('Gamma Distributions (' + r'$y=Gamma(\alpha + k, \beta + 1)$' +')')
plt.legend(loc='best')
plt.show()
答案 0 :(得分:2)
在gamma.pdf()
的文档中,size参数不存在:
gamma.pdf(x, a) = lambda**a * x**(a-1) * exp(-lambda*x) / gamma(a)
特别是,查看文档中的方法:
gamma.pdf(x, a, loc=0, scale=1)
因此您可以使用loc
,scale
而不是size
相反,您可以在
gamma.rvs(a, size=100)
举个例子 简而言之,你不应该有
y1 = gamma.pdf(x, scale = 29, size = 3)
正如您在文档中看到的那样。
查看scipy.stats.gamma中列出的方法,您会看到gamma.pdf()
方法没有大小参数,您可以像我之前显示的那样调用它。