Here is a simplification of the current model I am using:
with pm.Model() as mymodel:
precision = pm.Bound(pm.Gamma, lower=.609, upper=33.33)('precision',alpha=Cshape,beta=Crate,shape=nsubj)
mushift = pm.Bound(pm.Normal, lower=-0.2618, upper=0.2618)('mushift',mu=Cshift,sd=Ctau,shape=nsubj)
y = pm.VonMises('y', mu=mushift, kappa=precision, observed=x)
I have a vector, x, of length 14,000, and a vector, m, also of length 14,000. I want to use x as the “observed” input for “y”, and I want to add “m” to “mushift” for each observation of “x”. In other words, for observation x[0] I want mu=mushift+m[0], and for observation x[1] I want mu=mushift+m[1], and so on.
How could I accomplish such a thing without resorting to using a for loop? Thanks greatly for your time, I have been going in circles for a long time trying to find a solution.