TypeError:_parse_args()得到了一个意外的关键字参数' size'用于伽玛分布

时间:2017-02-09 22:50:46

标签: python scipy gamma-distribution

我试图绘制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()

错误消息 enter image description here

1 个答案:

答案 0 :(得分:2)

gamma.pdf()的文档中,size参数不存在:

scipy.stats.gamma

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

特别是,查看文档中的方法:

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

因此您可以使用locscale而不是size 相反,您可以在

中使用该参数
gamma.rvs(a, size=100)  

举个例子 简而言之,你不应该有

y1 = gamma.pdf(x, scale = 29, size = 3)  

正如您在文档中看到的那样。

查看scipy.stats.gamma中列出的方法,您会看到gamma.pdf()方法没有大小参数,您可以像我之前显示的那样调用它。