2014-02-12 2 views
4

думал, что я начать следуя этому примеру: http://www.databozo.com/2014/01/17/Exploring_PyMC3.htmlНачало работы с PYMC для линейной регрессии

Но когда я последовать примеру именно с помощью pymc 2.3 я получаю выход и сказал, что API изменился UserWarning: Синтаксис MCMC() устарел. Пройдите в узлах явно через M = MCMC (ввод). 'Синтаксис MCMC() устарел. Пройдите в узлах явно через M = MCMC (input). '), Но у меня нет хорошей идеи, как изменить пример, чтобы точно указать, что для функции модели и как сделать с предложением «с»?

Код в вопросе:

%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); 

ответ

1
автор

пакет @fonnesbeck сообщил мне, что я нуждался в разрабатываемой версии 3 от Github, а не версия PyPI 2,3. Установлено, что через github и я готов идти. Открытый исходный код замечательный!

Смежные вопросы