states = [pm.Normal('s0', mu=true_positions[0], tau=some_tau)]
for i in range(1, len(true_positions)):
    states.append(pm.Normal(name='s' + str(i), mu=states[-1] + vel, tau=
        some_tau))
obs = pm.Normal('obs', mu=states, tau=some_tau, value=true_positions,
    observed=True)
Hidden Markov in PyMC3