微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 pm.Deterministic() 中插入 for 循环以在 pymc3 模型中创建数组?

如何解决如何在 pm.Deterministic() 中插入 for 循环以在 pymc3 模型中创建数组?

with pm.Model() as model:
  w = pm.Uniform('w',1)
  c = pm.Uniform('c',5)
  b = 0.5
  s = pm.Deterministic('s',pm.math.exp(-c * (w * d1 + (1-w) * d2)))
  s_A = np.zeros((8)) 
  s_A = pm.Deterministic('s_A',for i in range(8) : s_A[i] = pm.math.sum(s[i][j] for j in (0,1,2,4)))
  s_B = np.zeros((8)) 
  s_B = pm.Deterministic('s_B',for i in range(8) : s_B[i] = pm.math.sum(s[i][j] for j in (3,5,6,7)))
  r = pm.Deterministic('r',b*s_A/(b*s_A + (1-b)*s_B))
  y = pm.Binomial('y',n= 320,p = r,observed = y_observed )
  trace = pm.sample(5000)


az.plot_posterior(trace,hdi_prob = 0.95)

我想用上面的参数创建一个pymc3模型。 d1 和 d2 都是 8*8 矩阵。当我尝试为 s_A 和 s_B 数组赋值时,上面的代码显示了语法错误。谁能告诉我如何在 pymc3 模型中创建 s_A 和 s_B 等变量。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。