I got that notebook to run work in pymc 4.4.0
I also managed to make it work in pymc 5 by removing the aesara imports and switching
a = aesara.shared(np.zeros(1,))
with pm.Model() as fit1:
temp_Intercept = pm.StudentT('intercept', mu=mu_t_i, sigma=sd_t, nu=df_t)
beta = pm.Normal('bmo', mu=0., sigma=100.)
simo_1 = pm.Dirichlet('simo_1', a=con_simo_1)
simo = at.concatenate([a, simo_1])
sigma = pm.HalfStudentT('sigma', sigma=sd_t, nu=df_t)
mu = temp_Intercept + beta * at.sum(simo[Xmo], axis=1)
obs = pm.Normal('Y', mu=mu, sigma=sigma, observed=dat['ls'].values)
trace1 = pm.sample(return_inferencedata=True)
to:
with pm.Model() as fit1:
a = pm.ConstantData('a', np.zeros(1,))
temp_Intercept = pm.StudentT('intercept', mu=mu_t_i, sigma=sd_t, nu=df_t)
beta = pm.Normal('bmo', mu=0., sigma=100.)
simo_1 = pm.Dirichlet('simo_1', a=con_simo_1)
simo = pm.math.concatenate([a, simo_1])
sigma = pm.HalfStudentT('sigma', sigma=sd_t, nu=df_t)
mu = temp_Intercept + beta * pm.math.sum(simo[Xmo], axis=1)
obs = pm.Normal('Y', mu=mu, sigma=sigma, observed=dat['ls'].values)
trace1 = pm.sample(return_inferencedata=True)