I have a multiple regression model. y is dependent with shape of `(12000,)`

and x is independent with shape of `(12000, 23)`

.

my model is `pm.math.dot(x_shared,a)+c)`

where x_shared is `theano.shared(x)`

. After sampling (30000 samples), I want to obtain posterior predictive for x_new with shape of (400,23). I use x_shared.set_value(xx_new) and then use `posterior_pred = pm.sample_posterior_predictive(trace, model=model, samples=100)`

. At the end of the day I expect `posterior_pred['obs'].shape`

be `(100,400)`

, amazingly I get `(100,12000)`

! Noted 12000 is my input data size for 23 independent variables.

I really confused why I do not get the correct shape for my predictive values? The only difference I can see with solved examples, is my input is a matrix, not a vector, because it is a multiple regression not a one dimensional regression.

Any idea?

Thanks!