Python PyMC3中的正弦回归
我正在通过一个回归示例探索PyMC3。我从一条直线开始,然后移动到一个二次曲线,这非常有效。当我尝试移动到一个包含随机变量的正弦函数时,尽管事情变得糟糕 这是我的PyMC3代码:Python PyMC3中的正弦回归,python,bayesian,pymc,Python,Bayesian,Pymc,我正在通过一个回归示例探索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=2
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
---------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
在()
9西格玛=pm.均匀('sigma',下限=0,上限=20)
10
--->11 y_est=α+β*numpy.sin(mewmew*x)
12
13可能性=pm.正常('y',μ=y_est,sd=西格玛,观察到的=y)
归因者错误:罪
提前谢谢 发现PyMC3中内置了一个正弦函数。它叫“pymc.sin”。我在这里写了关于整个过程的博客: