In case you want to speed up you inference a bit, you can use a Dirichlet Multinomial, where the intermediate probabilities (in your case theta) are marginalized out. I got my implementation running a few days ago. You can find it here: Gist
3 Likes