2
with pm.Model() as model:
  w = pm.Uniform('w', 0, 1)
  c = pm.Uniform('c', 0, 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 这样的变量。

4

0 回答 0