
Framework Python de bout en bout pour l'intelligence des séries temporelles, offrant la détection d'anomalies, la prévision, la détection de points de changement, l'AutoML, les ensembles et des pipelines de benchmarking.
Merlion est une bibliothèque Python pour l'intelligence des séries temporelles. Elle fournit un cadre d'apprentissage automatique de bout en bout qui comprend le chargement et la transformation des données, la construction et l'entraînement de modèles, le post-traitement des sorties de modèles et l'évaluation des performances des modèles. Elle prend en charge diverses tâches d'apprentissage sur séries temporelles, notamment la prévision, la détection d'anomalies et la détection de points de changement, pour les séries temporelles univariées et multivariées. Cette bibliothèque vise à fournir aux ingénieurs et aux chercheurs une solution tout-en-un pour développer rapidement des modèles adaptés à leurs besoins spécifiques en matière de séries temporelles, et pour les évaluer sur plusieurs jeux de données de séries temporelles.
Les principales fonctionnalités de Merlion sont
DefaultDetector et DefaultForecaster qui sont efficaces, obtiennent de bonnes performances de manière robuste,
et constituent un point de départ pour les nouveaux utilisateurs.Le tableau ci-dessous donne un aperçu visuel de la façon dont les principales fonctionnalités de Merlion se comparent à d'autres bibliothèques de détection d'anomalies et/ou de prévision de séries temporelles.
| Merlion | Prophet | Alibi Detect | Kats | darts | statsmodels | nixtla | GluonTS | RRCF | STUMPY | Greykite | pmdarima | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Prévision univariée | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||
| Prévision multivariée | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||
| Détection d'anomalies univariée | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||
| Détection d'anomalies multivariée | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||
| Prétraitement | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||
| Post-traitement | ✅ | ✅ | ||||||||||
| AutoML | ✅ | ✅ | ✅ | |||||||||
| Ensembles | ✅ | ✅ | ✅ | ✅ | ||||||||
| Benchmarking | ✅ | ✅ | ✅ | ✅ | ✅ |
Les fonctionnalités suivantes sont nouvelles dans Merlion 2.0 :
| Merlion | Prophet | Alibi Detect | Kats | darts | statsmodels | nixtla | GluonTS | RRCF | STUMPY | Greykite | pmdarima | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Régresseurs exogènes | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||
| Détection de points de changement | ✅ | ✅ | ✅ | ✅ | ✅ | |||||||
| Interface visuelle cliquable | ✅ | |||||||||||
| Backend distribué | ✅ | ✅ |
Merlion se compose de deux sous-dépôts : merlion implémente les fonctionnalités principales d'intelligence des séries temporelles de la bibliothèque,
et ts_datasets fournit des chargeurs de données standardisés pour plusieurs jeux de données de séries temporelles. Ces chargeurs chargent
les séries temporelles sous forme de pandas.DataFrame avec leurs métadonnées.
Vous pouvez installer merlion depuis PyPI en exécutant pip install salesforce-merlion. Vous pouvez installer à partir des sources en
clonant ce dépôt et en exécutant pip install Merlion/, ou pip install -e Merlion/ pour une installation en mode éditable.
Vous pouvez installer des dépendances supplémentaires via pip install salesforce-merlion[all], ou en exécutant
pip install "Merlion/[all]" si vous installez à partir des sources.
Individuellement, les dépendances optionnelles incluent dashboard pour un tableau de bord graphique,
spark pour un backend de calcul distribué avec PySpark, et deep-learning pour tous les modèles d'apprentissage profond.
Pour installer le paquet de chargement de données ts_datasets, clonez ce dépôt et exécutez pip install -e Merlion/ts_datasets/.
Ce paquet doit être installé en mode éditable (c'est-à-dire avec l'option -e) si vous ne souhaitez pas spécifier manuellement le
répertoire racine de chaque jeu de données lors de l'initialisation de son chargeur de données.
Notez les dépendances externes suivantes :
conda, veuillez conda install -c conda-forge lightgbm
avant d'installer notre paquet. Cela garantira qu'OpenMP est configuré pour fonctionner avec le paquet lightgbm
(l'une de nos dépendances) dans votre environnement conda. Si vous utilisez un Mac, veuillez installer Homebrew
et exécuter brew install libomp afin que la bibliothèque OpenMP soit disponible pour le modèle.