Mixture of Multilayer Integrator Stochastic Block Model
Project description
🕸️ MimiSBM
mimisbm is a Python package implementing the Mixture of Multilayer Integrator Stochastic Block Model proposed by the original authors. It jointly groups nodes into clusters and layers into components, providing a unified framework for identifying shared connectivity patterns across multiple network layers.
✨ Features
- Multilayer Clustering: Jointly identifies node communities and layer components in a single probabilistic framework.
- Variational EM: Efficient inference using a Variational Expectation-Maximization (VEM) algorithm for large-scale networks.
- Bayesian Framework: Supports flexible Dirichlet and Beta priors, allowing for robust structure discovery under different sparsity regimes.
- Component-wise SBMs: Groups layers sharing similar block-model structures into distinct mixture components.
- scikit-learn API: Native
BaseEstimatorandClusterMixinintegration with a familiarfit/predictinterface.
🚀 Installation
pip install mimisbm
🔧 Usage
Example
import numpy as np
from mimisbm import MimiSBM
# Generate a synthetic multilayer adjacency tensor (20 nodes, 5 layers)
np.random.seed(42)
N, V = 20, 5
X = np.random.randint(0, 2, size=(N, N, V))
# Ensure the adjacency matrices are symmetric (undirected)
for v in range(V):
X[..., v] = np.tril(X[..., v], -1) + np.tril(X[..., v], -1).T
# Initialize the model with 3 node clusters and 2 layer components
model = MimiSBM(n_clusters=3, n_components=2, random_state=42)
# Fit the model to the multilayer network
model.fit(X)
# Predict node cluster and layer component assignments
node_labels, layer_labels = model.predict()
print(f"Node clusters: {node_labels}")
print(f"Layer components: {layer_labels}")
print(f"Final ELBO: {model.elbo_:.2f}")
📖 Learn More
For tutorials and detailed API reference, visit the official site:
👉 mimisbm's documentation
📚 Citation
If you use MimiSBM in your research, please cite the original authors' paper:
@article{de2024mixture,
title={Mixture of multilayer stochastic block models for multiview clustering},
author={De Santiago, Kylliann and Szafranski, Marie and Ambroise, Christophe},
journal={arXiv preprint arXiv:2401.04682},
year={2024}
}
For more details, see the corresponding Preprint: https://arxiv.org/abs/2401.04682
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 mimisbm-0.1.1.tar.gz.
File metadata
- Download URL: mimisbm-0.1.1.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6809fd6b425818da1f767b2209bdbd124894d76689b89110537f99176c14a09b
|
|
| MD5 |
e464cc5faac96b61ac1fa84d6477e12d
|
|
| BLAKE2b-256 |
8de4af6536d7c807b763e3be19ecae9e2fdc674839d9129cac11b93588e598fa
|
File details
Details for the file mimisbm-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mimisbm-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f750b17ecb710c0944e1c77bfa5eaa2a41c378659ecd8eb40028adc59065a46
|
|
| MD5 |
7c1f7b6c81044a562eedb5923dc8e58a
|
|
| BLAKE2b-256 |
d3d60b2007ad7f40ee6230a0555cda5b72f8509a64aabb43dd9ebc6364c3facd
|