【发布时间】:2014-04-09 22:52:05
【问题描述】:
假设我尝试使用以下数据估计一个简单的y= m * x 问题的斜率:
x_data = np.array([0,1,2,3])
y_data = np.array([0,1,2,3])
显然斜率为 1。但是,当我在 PyMC 中运行它时,我得到 10
slope = pm.Uniform('slope', lower=0, upper=20)
@pm.deterministic
def y_gen(value=y_data, x=x_data, slope=slope, observed=True):
return slope * x
model = pm.Model([slope])
mcmc = pm.MCMC(model)
mcmc.sample(100000, 5000)
# This returns 10
final_guess = mcmc.trace('slope')[:].mean()
但应该是1!
注意:以上是 PyMC2 的。
【问题讨论】:
-
我不得不记录一下,您使用的是哪个版本的 Pymc?
-
@dartdog - 我刚刚更新了帖子。
标签: python statistics statsmodels pymc