https://9dok.net/document/z3d43j1m-dirichlet-process-hidden-markov-multiple-change-point-model.html