Mixtures of multivariate Student's t distributions are widely used for clustering data that may contain outliers, but scipy and scikit-learn do not at present offer classes for fitting Student's t mixture models. This package provides classes for:
- Modeling / clustering a dataset using a finite mixture of multivariate Student's t distributions fit via the EM algorithm. This is analogous to scikit-learn's GaussianMixture.
- Modeling / clustering a dataset using a mixture of multivariate Student's t distributions fit via the variational mean-field approximation. This is analogous to scikit-learn's BayesianGaussianMixture.
Unittests for the package are in the tests folder.
pip install studenttmixture
Note that starting in version 0.0.2.3, this package contains C extensions and is therefore distributed as a source distribution which is automatically compiled on install.
It is unusual but problems with source distribution pip packages that contain C extensions are occasionally observed on Windows, e.g. an error similar to this:
error: Microsoft Visual C++ 14.0 is required.
in the unlikely event you encounter this, I recommend the solution described under this StackOverflow and links.