Flexible Multivariate Mixture Model
Project description
FMVMM: Flexible Multivariate Mixture Model
FMVMM is a Python package providing a comprehensive collection of finite mixture models for various multivariate distributions. It is designed to offer flexibility in modeling both identical and non-identical mixture distributions, allowing users to apply advanced clustering techniques efficiently.
Features
- Implements finite mixtures of various multivariate distributions.
- Supports clustering using Dirichlet Mixture Models and mixtures of other non-identical distributions.
- Provides multiple model selection criteria such as AIC, BIC, and ICL.
- Includes efficient parameter estimation and standard error calculations.
- Example Jupyter notebooks available in the
examples/folder.
Mixture Models Included
- Dirichlet Mixture Model (
DMM_Soft,DMM_Hard) - Mixtures of Multivariate Generalized Hyperbolic Distributions (
MixMGH) - Mixtures of Skew Normal Distributions (
SkewNormalMix) - Mixtures of Skew T Distributions (
SkewTMix) - Mixtures of T Distributions (
TMix) - Mixtures of Skew Normal Contaminated Distributions (
SkewContMix) - Mixtures of Skew Slash Distributions (
SkewSlashMix) - Mixtures of Slash Distributions (
SlashMix) - Flexible Multivariate Mixture Model (
FMVMM)- This model allows fitting all possible combinations of mixtures of different identical and non-identical distributions.
Distributions Included
- Multivariate Skew Normal
- Multivariate Normal
- Multivariate T
- Multivariate Generalized Skew T
- Multivariate Skew T
- Multivariate Hyperbolic
- Multivariate Normal Inverse Gaussian
- Multivariate Variance Gamma
- Multivariate Skew Slash
- Multivariate Slash
- Multivariate Skew Normal Contaminated
- Multivariate Skew Laplace
Installation
You can install FMVMM using:
pip install fmvmm
Usage
Each Python class in FMVMM provides the following methods:
from fmvmm.mixtures.DMM_Soft import DMM_Soft
model = DMM_Soft(n_clusters=3)
model.fit(data) # Fit a mixture model
clusters = model.predict() # Get cluster assignments
bic_value = model.bic() # Compute Bayesian Information Criterion
aic_value = model.aic() # Compute Akaike Information Criterion
icl_value = model.icl() # Compute Integrated Complete Likelihood Criterion
pi, alpha = model.get_params() # Get MLE of parameters
info_matrix, se = model.get_info_mat() # Get information matrix and standard errors
For more detailed examples, see the Jupyter notebooks in the examples/ folder.
Citation
If you use FMVMM in your research, please cite the relevant papers:
- Pal, Samyajoy, and Christian Heumann. "Clustering compositional data using Dirichlet mixture model." PLoS ONE 17, no. 5 (2022): e0268438. https://doi.org/10.1371/journal.pone.0268438.
- Pal, Samyajoy, and Christian Heumann. "Gene coexpression analysis with Dirichlet mixture model: accelerating model evaluation through closed-form KL divergence approximation using variational techniques." International Workshop on Statistical Modelling (2024). https://doi.org/10.1007/978-3-031-65723-8_21.
- Pal, Samyajoy, and Christian Heumann. "Revisiting Dirichlet Mixture Model: Unraveling Deeper Insights and Practical Applications." Statistical Papers 66, no. 1 (2025): 1-38. https://doi.org/10.1007/s00362-024-01627-0.
- Pal, Samyajoy, and Christian Heumann. "Flexible Multivariate Mixture Models: A Comprehensive Approach for Modeling Mixtures of Non-Identical Distributions." International Statistical Review (2024). https://doi.org/10.1111/insr.12593.
License
FMVMM is open-source and distributed under the MIT License.
Contact
For any questions or contributions, feel free to reach out or open an issue on GitHub.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fmvmm-2.0.5.tar.gz.
File metadata
- Download URL: fmvmm-2.0.5.tar.gz
- Upload date:
- Size: 105.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aef7487d524ffbfac95ed67413c1d46c035362a37886741eb42de8fad3a0ed22
|
|
| MD5 |
efa41379b9ca0874944f200d2548a835
|
|
| BLAKE2b-256 |
80800266bb72d87bbde9fbdc2809de3491419c7b75df00f3c4a6baffa0c90a85
|
File details
Details for the file fmvmm-2.0.5-py3-none-any.whl.
File metadata
- Download URL: fmvmm-2.0.5-py3-none-any.whl
- Upload date:
- Size: 139.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9cf0f57d6b69e0318cced44d3fa912c088efb95704262e7d80efe5773e2b1fb
|
|
| MD5 |
cbe60a179c46012b27e099a0fd455bab
|
|
| BLAKE2b-256 |
0b75cdf68334057435572b1587a2e4b5f393eae7490f6dc8aa20d2661a75b17f
|