
Framework Python end-to-end per l'intelligence delle serie temporali, che offre rilevamento di anomalie, previsione, rilevamento di punti di cambiamento, AutoML, ensemble e pipeline di benchmarking.
Merlion è una libreria Python per l'intelligenza delle serie temporali. Fornisce un framework di machine learning end-to-end che include caricamento e trasformazione dei dati, costruzione e addestramento dei modelli, post-elaborazione degli output dei modelli e valutazione delle prestazioni dei modelli. Supporta vari compiti di apprendimento su serie temporali, tra cui previsione, rilevamento delle anomalie, e rilevamento dei punti di cambiamento per serie temporali sia univariate che multivariate. Questa libreria mira a fornire a ingegneri e ricercatori una soluzione completa per sviluppare rapidamente modelli per le loro specifiche esigenze sulle serie temporali, e valutarli su più dataset di serie temporali.
Le caratteristiche principali di Merlion sono
DefaultDetector e DefaultForecaster efficienti, che ottengono buone prestazioni in modo robusto,
e forniscono un punto di partenza per i nuovi utenti.La tabella seguente fornisce una panoramica visiva di come le caratteristiche principali di Merlion si confrontano con altre librerie per il rilevamento delle anomalie e/o la previsione di serie temporali.
| Merlion | Prophet | Alibi Detect | Kats | darts | statsmodels | nixtla | GluonTS | RRCF | STUMPY | Greykite | pmdarima | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Previsione univariata | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||
| Previsione multivariata | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||
| Rilevamento anomalie univariato | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||
| Rilevamento anomalie multivariato | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||
| Pre-elaborazione | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||
| Post-elaborazione | ✅ | ✅ | ||||||||||
| AutoML | ✅ | ✅ | ✅ | |||||||||
| Ensemble | ✅ | ✅ | ✅ | ✅ | ||||||||
| Benchmark | ✅ | ✅ | ✅ | ✅ | ✅ | |||||||
| Visualizzazione | ✅ | ✅ | ✅ | ✅ | ✅ |
Le seguenti funzionalità sono nuove in Merlion 2.0:
| Merlion | Prophet | Alibi Detect | Kats | darts | statsmodels | nixtla | GluonTS | RRCF | STUMPY | Greykite | pmdarima | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Regressori esogeni | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||
| Rilevamento dei punti di cambiamento | ✅ | ✅ | ✅ | ✅ | ✅ | |||||||
| Interfaccia visiva cliccabile | ✅ | |||||||||||
| Backend distribuito | ✅ | ✅ |
Merlion è composto da due sotto-repository: merlion implementa le funzionalità principali di intelligenza per serie temporali della libreria,
e ts_datasets fornisce loader di dati standardizzati per diversi dataset di serie temporali. Questi loader caricano le serie
temporali come pandas.DataFrame con i relativi metadati.
Puoi installare merlion da PyPI eseguendo pip install salesforce-merlion. Puoi installare dal sorgente clonando questo repository
ed eseguendo pip install Merlion/, oppure pip install -e Merlion/ per installare in modalità modificabile (editable).
Puoi installare dipendenze aggiuntive tramite pip install salesforce-merlion[all], oppure eseguendo
pip install "Merlion/[all]" se installi dal sorgente.
Singolarmente, le dipendenze opzionali includono dashboard per una dashboard GUI,
spark per un backend di calcolo distribuito con PySpark e deep-learning per tutti i modelli di deep learning.
Per installare il pacchetto di caricamento dati ts_datasets, clona questo repository ed esegui pip install -e Merlion/ts_datasets/.
Questo pacchetto deve essere installato in modalità modificabile (cioè con il flag -e) se non vuoi specificare manualmente la
directory principale di ogni dataset durante l'inizializzazione del suo data loader.
Nota le seguenti dipendenze esterne:
conda, esegui conda install -c conda-forge lightgbm
prima di installare il nostro pacchetto. Questo garantirà che OpenMP sia configurato per funzionare con il pacchetto lightgbm
(una delle nostre dipendenze) nel tuo ambiente conda. Se usi Mac, installa Homebrew
ed esegui brew install libomp in modo che la libreria OpenMP sia disponibile per il modello.