Thanks for your reply. Below is the model which I am trying to build
So U is some exogenous variable that is known and that does not change with time, and X is latent space that is unknown. Some values in A are known which will model level or seasonality for example. But some will be estimated by the modeling. We assume that we don’t know everything in A and we don’t know anything about B. So we want to estimate X, A, B and C.
So we are modeling some seasonal cycles as well as level trend and the affect of exogenous variables.
So I am not using 3d tensor as the observed data, the shape of observed data is (number of samples, number of time points), which is two-dimensional but I am still not sure why it does not work.
Also, can you please elaborate the below code
mod.register_rv(hidden_states_pt, name='hidden_states', initval=pt.zeros((T, 2)))
obs = pm.Poisson('obs', pt.exp(hidden_states[:, 0]), observed=data)
How does the Poisson model understand that it generates data from hidden_states_pt, because in the above code observed data is generated from (hidden_states[:, 0]) which is ground truth and I am not sure it should be part of the model.