I am looking for a good tutorial on clustering data in R using hierarchical dirichlet process (HDP) (one of the recent and popular nonparametric Bayesian methods).

There is DPpackage (IMHO, the most comprehensive of all the available ones) in R for nonparametric Bayesian analysis. But I am unable to understand the examples provided in R News or in the package reference manual well enough to code HDP.

Any help or pointer is appreciated.

A C++ implementation of HDP for topic modeling is available here (please look at the bottom for C++ code)


Here are some online ressources I found interesting without going into detail (and I'm not a specialist of this topic):

The definitive reference seems to be

N. Hjort, C. Holmes, P. Müller, and S. Walker, editors. Bayesian Nonparametrics. Number 28 in Cambridge Series in Statistical and Probabilistic Mathematics. Cambridge University Press, 2010.

About R, there seems to be some other packages worth to explore if the DPpackage does not suit your needs, e.g. dpmixsim, BHC, or mbsc found on Rseek.org.

  • $\begingroup$ Thank you. Actually I just needed pointers for the R package. I appreciate your helpfulness! By the way, the book is awesome. $\endgroup$ – suncoolsu Dec 6 '10 at 1:09
  • $\begingroup$ However, I will wait for someone to point me to an R package or tutorial that shows how to do HDP based modeling in R. $\endgroup$ – suncoolsu Dec 6 '10 at 5:49
  • $\begingroup$ @suncoolsu I never tried those packages; so my contribution is just some googling (because I'm interested in using HDP in the future, but have no time for the moment -- this is the reason why I made my answer CW). I guess someone more used to those methods will provide insightful remarks. $\endgroup$ – chl Dec 6 '10 at 7:48

These two links provide some R (and C) code examples of implementing a DP normal mixture:

Found another reference. Chapter 15 has DP winbugs code:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.