如何解决每个数据点的均值变化
我有以下模型。
with basic_model:
lambda1 = pm.Gamma("lambda1",alpha=0.001,beta=0.001)
p = pm.Beta('p',1,)
z = [0.0] * len(x['Length'].values)
Y_obs = [0.0] * len(x['Length'].values)
for i in range(len(x['Length'].values)):
z[i] = pm.Bernoulli('z[i]',p)
Y_obs[i] = pm.Poisson("Y_obs[i]",mu=lambda1*z[i]*x['Length'].values+0.001,observed=x['Count'].values[i])
trace = pm.sample(7000,tune=2000,cores=1,return_inferencedata=True)
它对名称 Y_obs[i]
和 z[i]
产生错误。我知道我不能更改变量使用相同的名称,但我无法弄清楚如何在每次迭代时更改 Y_obs[i]
的速率。在稍后的阶段,我也将使用 if-else 条件更改费率。如何为每个数据点定义不同的平均值?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。