Sorry for a newbie question. I have a simple model like so:
model = pm.Model()
with model:
# Priors for unknown model parameters
a = pm.Normal('a', mu=0, sd=10, shape=(4, 1))
b = pm.Normal('b', mu=0, sd=10, shape=(1, 4))
c = pm.Normal('offset', mu=0, sd=10)
# Expected probabilities (4 x 4)
p = sigmoid(a + b + c)
# Likelihood (sampling distribution) of observations, data, N_data = (4 x 4)
pm.Binomial('L', n=N_data, p=p, observed=data_successes)
Now I want to obtain parameters a
, b
and c
via MCMC but I want to incorporate additional information like:
x0 = x1* f(a[0], b[1], c) + x2 * f(a[0], b[2], c) + x3 * f(a[0], b[3], c)
x4 = x5* f(a[1], b[0], c) + x6 * f(a[1], b[2], c) + x7 * f(a[1], b[3], c)
....
Where [x0, x1, …] are known (f
is just a sigmoid), a
, b
and c
are results of MCMC so they’re not “hard” constraints per se. Is this possible?