2017-02-09 9 views
0

Gamma(alpha = scale = 29、beta = size = 3)をプロットしようとしていますが、TypeError:_parse_args ()にy1の予期しないキーワード引数 'size'があります。ガンマ分布についてはscipy documentationに従っていますが、ガンマ分布のサイズパラメータがあるので、なぜこのエラーが出るのかわかりません。TypeError:_parse_args()は、ガンマ分布のための予期しないキーワード引数 'size'を持っています

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() 

サイズのパラメータが存在しないgamma.pdf()のためのエラーメッセージドキュメントで enter image description here

+0

完全なスタックトレースを表示します。おそらくバージョンのものが – user2357112

+0

です。あなたがリンクしているページはver 0.14.0 の 'scipy .__ version__'を実行して実際にどのバージョンになっているのかを確認します。 – Nullman

+0

@ user2357112が更新されました。 – 14wml

答えて

2

:特に

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()メソッドには、前に示したように呼び出すことができるサイズパラメータがありません。

+0

' a'はガンマ分布のベータスケールですか? – 14wml

+0

それでは、 'y1 = gamma.pdf(x、scale = 29、size = 3)'をPythonのalpha = scale = 29とbeta = size = 3のパラメータを持つガンマ分布に変換するにはどうしたらいいですか? 'rvs'は確率変数ではなく、確率変数を返しませんか? – 14wml

+0

'a'はガンマ分布の「形状」パラメータです。 'scale'はスケールパラメーターです。 –

関連する問題