2017-02-09 2 views
0

감마 (alpha = scale = 29, beta = size = 3)를 음모하려하지만 TypeError : _parse_args 오류가 발생합니다.()에 y1에 대한 예상치 못한 키워드 인수 '크기'가 있습니다. 감마 분포에 대해 scipy documentation을 따르고 있으며 감마 분포에 대한 크기 매개 변수가 있으므로이 오류가 왜 발생하는지 이해할 수 없습니다.TypeError : _parse_args()에서 감마 분포 '예기치 않은 키워드 인수가 있습니다.

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

아마도 버전 일입니다. 당신이 링크 한 페이지는 버전 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) 
은 그래서 당신은 loc, scale하지만 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'은 스케일 매개 변수입니다. –

관련 문제