The dirichletprocess package provides tools for you to build custom Dirichlet process mixture models. You can use the pre-built Normal/Weibull/Beta distributions or create your own following the instructions in the vignette. In as little as four lines of code you can be modelling your data nonparametrically.
You can install the stable release of dirichletprocess from CRAN:
install.packages("dirichletprocess")
You can also install the development build of dirichletprocess from github with:
# install.packages("devtools")
devtools::install_github("dm13450/dirichletprocess")
For a full guide to the package and its capabilities please consult the vignette:
browseVignettes(package = "dirichletprocess")
Dirichlet processes can be used for nonparametric density estimation.
faithfulTransformed <- faithful$waiting - mean(faithful$waiting)
faithfulTransformed <- faithfulTransformed/sd(faithful$waiting)
dp <- DirichletProcessGaussian(faithfulTransformed)
dp <- Fit(dp, 100, progressBar = FALSE)
plot(dp)
Dirichlet processes can also be used to cluster data based on their common distribution parameters.
faithfulTrans <- scale(faithful)
dpCluster <- DirichletProcessMvnormal(faithfulTrans)
dpCluster <- Fit(dpCluster, 2000, progressBar = FALSE)
plot(dpCluster)
For more detailed explanations and examples see the vignette.
I’ve written a number of tutorials:
and some case studies:
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.