Hi,
I have 6 batches of data, each batch contains concentrations of 6 species at 11 time points. My model currently is based on the assumption that the likelihood for each species is normally distributed around the predicted value (the ODE solution) with a different sigma for each species but the same across all time points per species.
sigmas = pm.HalfNormal("sigmas", sigma=0.1, shape=(6,1))
...
#likelihood
pm.Normal("C_obs", mu=ode_solution, sigma=sigmas, observed=observed_exp)
where my ode_solution and observed_exp are both [6,66] arrays. batch 1 is [6,0:11], batch 2 is the [6, 12:22]… and so on. sigmas has the shape=(6,1).
The code above works. Now, I want to create a model with a different likelihood. I want to set the sigma to be different for each species and also different across different time points so I should have 66 sigmas. How do I do this? Is it as simple as setting the sigmas shape to (6,11)? Does it involve separating the likelihood for each batch? If so, how do I do it?
Any help is greatly appreciated. Thanks