0

回帰の例を通して PyMC3 を調査しています。私は線から始めて、二次に移行しましたが、うまくいきました。ランダム変数を含む正弦関数に移動しようとすると、事態は悪化しました。

ここに私のPyMC3コードがあります:

import pymc as pm
import numpy as np

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

    y_est = alpha + beta * numpy.sin(mewmew * 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);

次のエラーが表示されます。

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-139-60a584151c07> in <module>()
      9     sigma = pm.Uniform('sigma', lower=0, upper=20)
     10 
---> 11     y_est = alpha + beta * numpy.sin(mewmew * x)
     12 
     13     likelihood = pm.Normal('y', mu=y_est, sd=sigma, observed=y)

AttributeError: sin

前もって感謝します!

4

1 に答える 1

2

PyMC3 にはサイン関数が組み込まれていることがわかりました。それは「pymc.sin」と呼ばれます。このプロセス全体については、 http ://www.databozo.com/2014/01/17/Exploring_PyMC3.html でブログを書いています。

于 2014-01-20T03:47:30.823 に答える