I’m trying to estimate a model that is a pm.Mixture of a normal distribution and an AR process. How would I do that in PyMC3? My current attempt is:

```
with pm.Model() as self.model:
W = np.array([1., 1.])
w = pm.Dirichlet('w', W)
intercept = pm.Normal('intercept', mu=-5, sd=5., testval=-5.)
rhos = pm.Uniform('rhos', lower=-1., upper=1., shape=self.num_lags)
comp1 = pm.AR.dist(rho=rhos, sd=pm.math.exp(intercept))
comp2 = pm.Normal.dist(mu=0., sd=0.01)
pm.Mixture('obs', w=w, comp_dists=[comp1, comp2], observed=data)
```

But I run into the following error:

File “…”, line 111, in fit_model

pm.Mixture(‘obs’, w=w, comp_dists=[comp1, comp2], observed=data)

File “/usr/local/lib/python2.7/dist-packages/pymc3/distributions/distribution.py”, line 42, in **new**

return model.Var(name, dist, data, total_size)

File “/usr/local/lib/python2.7/dist-packages/pymc3/model.py”, line 838, in Var

total_size=total_size, model=self)

File “/usr/local/lib/python2.7/dist-packages/pymc3/model.py”, line 1319, in **init**

self.logp_elemwiset = distribution.logp(data)

File “/usr/local/lib/python2.7/dist-packages/pymc3/distributions/mixture.py”, line 145, in logp

return bound(logsumexp(tt.log(w) + self._comp_logp(value), axis=-1),

File “/usr/local/lib/python2.7/dist-packages/pymc3/distributions/mixture.py”, line 115, in _comp_logp

axis=1))

File “/usr/local/lib/python2.7/dist-packages/theano/tensor/basic.py”, line 4709, in stack

return join(axis, *[shape_padaxis(t, axis) for t in tensors])

File “/usr/local/lib/python2.7/dist-packages/theano/tensor/basic.py”, line 4601, in shape_padaxis

raise IndexError(msg)

IndexError: axis 1 is out of bounds [-1, 1)