2014-02-12 4 views
4

생각에 대한 PYMC 시작하기 나는이 다음 예제 시작할 것 : http://www.databozo.com/2014/01/17/Exploring_PyMC3.html는 선형 회귀

하지만 정확하게 2.3 pymc 사용의 예를 따를 때 나는 출구를 얻고 API가 UserWarning를 변경했다고 말했다 : MCMC() 구문은 더 이상 사용되지 않습니다. M = MCMC (입력)를 통해 명시 적으로 노드를 전달하십시오. 'MCMC() 구문은 더 이상 사용되지 않습니다. M = MCMC (입력)을 통해 명시 적으로 노드를 전달하십시오. ')하지만 모델 함수에 정확히 무엇을 제공하고'with '절을 사용하여 예제를 변경하는 좋은 아이디어가 없습니다.

문제의 코드는 다음과 같습니다 샘플 데이터 생성기 위

%pylab inline 
import scipy 
import numpy as np 
x = np.array(range(0,50)) 
y = np.random.uniform(low=0.0, high=40.0, size=200) 
y = map((lambda a: a[0] + a[1]), zip(x,y)) 

import matplotlib.pyplot as plt 
plt.scatter(x,y) 

작동 잘

import pymc as pm 
import numpy as np 

trace = None 
with pm.Model() as model:   <<<<<<indicated as the error line 
    alpha = pm.Normal('alpha', mu=0, sd=20) 
    beta = pm.Normal('beta', mu=0, sd=20) 
    sigma = pm.Uniform('sigma', lower=0, upper=20) 

    y_est = alpha + beta * x 

    likelihood = pm.Normal('y', mu=y_est, sd=sigma, observed=y) 

    start = pm.find_MAP() 
    step = pm.NUTS(state=start) 
    trace = pm.sample(2000, step, start=start, progressbar=False) 

    pm.traceplot(trace); 
내가 Github에서에서 개발 버전 3이 필요하다고 저를 알렸다 아닌 pypi 버전 @fonnesbeck

답변

1

패키지 저자 2.3. github를 통해 설치 했으니 까. 오픈 소스는 대단합니다!