繁体   English   中英

开始使用PYMC进行线性回归

[英]Getting started with PYMC for linear regression

以为我开始关注这个例子: http//www.databozo.com/2014/01/17/Exploring_PyMC3.html

但是,当我按照pymc 2.3精确地使用示例时,我得到一个退出并告诉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);

软件包作者@fonnesbeck告诉我,我需要Github的开发版本3而不是pypi版本2.3。 通过github安装,我很高兴。 开源很棒!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM