4

この例に従って始めたいと思いました: http://www.databozo.com/2014/01/17/Exploring_PyMC3.html

しかし、pymc 2.3 を使用して例を正確にたどると、終了し、API が UserWarning を変更したことが通知されました。MCMC() 構文は非推奨です。M = MCMC(input) を介してノードを明示的に渡してください。'MCMC() 構文は非推奨です。M = MCMC(input).') を介してノードを明示的に渡してください。ただし、モデル関数に正確に何を提供するために例を変更するか、および「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);
4

1 に答える 1