
Framework de Python de extremo a extremo para inteligencia de series temporales, que ofrece detección de anomalías, pronóstico, detección de puntos de cambio, AutoML, ensembles y pipelines de benchmarking.
Merlion es una librería de Python para inteligencia de series temporales. Proporciona un framework de aprendizaje automático de extremo a extremo que incluye carga y transformación de datos, construcción y entrenamiento de modelos, post-procesamiento de salidas de modelos y evaluación del rendimiento de los modelos. Admite diversas tareas de aprendizaje sobre series temporales, incluyendo pronóstico, detección de anomalías y detección de puntos de cambio, tanto para series temporales univariantes como multivariantes. Esta librería pretende ofrecer a ingenieros e investigadores una solución integral para desarrollar rápidamente modelos adaptados a sus necesidades específicas de series temporales, y evaluarlos en múltiples conjuntos de datos de series temporales.
Las características clave de Merlion son:
DefaultDetector y DefaultForecaster que son eficientes, logran robustamente un buen rendimiento
y proporcionan un punto de partida para nuevos usuarios.La tabla siguiente ofrece una visión general de cómo las características clave de Merlion se comparan con otras librerías de detección de anomalías y/o pronóstico de series temporales.
| Merlion | Prophet | Alibi Detect | Kats | darts | statsmodels | nixtla | GluonTS | RRCF | STUMPY | Greykite | pmdarima | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Pronóstico univariante | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||
| Pronóstico multivariante | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||
| Detección de anomalías univariante | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |||
| Detección de anomalías multivariante | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||
| Preprocesamiento | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||
| Post-procesamiento | ✅ | ✅ | ||||||||||
| AutoML | ✅ | ✅ | ✅ | |||||||||
| Ensembles | ✅ | ✅ | ✅ | ✅ | ||||||||
| Benchmarking | ✅ | ✅ | ✅ | ✅ | ✅ | |||||||
| Visualización | ✅ | ✅ | ✅ | ✅ | ✅ |
Las siguientes características son nuevas en Merlion 2.0:
| Merlion | Prophet | Alibi Detect | Kats | darts | statsmodels | nixtla | GluonTS | RRCF | STUMPY | Greykite | pmdarima | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Regresores exógenos | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||||
| Detección de puntos de cambio | ✅ | ✅ | ✅ | ✅ | ✅ | |||||||
| Interfaz visual clicable | ✅ | |||||||||||
| Backend distribuido | ✅ | ✅ |
Merlion consta de dos sub-repositorios: merlion implementa las características principales de inteligencia de series temporales de la librería,
y ts_datasets proporciona cargadores de datos estandarizados para múltiples conjuntos de datos de series temporales. Estos cargadores cargan
series temporales como pandas.DataFrame con metadatos adjuntos.
Puede instalar merlion desde PyPI ejecutando pip install salesforce-merlion. También puede instalar desde el código fuente clonando
este repositorio y ejecutando pip install Merlion/, o pip install -e Merlion/ para instalarlo en modo editable.
Puede instalar dependencias adicionales mediante pip install salesforce-merlion[all], o ejecutando
pip install "Merlion/[all]" si instala desde el código fuente.
Individualmente, las dependencias opcionales incluyen dashboard para un panel de control GUI,
spark para un backend de cómputo distribuido con PySpark, y deep-learning para todos los modelos de aprendizaje profundo.
Para instalar el paquete de carga de datos ts_datasets, clone este repositorio y ejecute pip install -e Merlion/ts_datasets/.
Este paquete debe instalarse en modo editable (es decir, con la bandera -e) si no desea especificar manualmente el
directorio raíz de cada conjunto de datos al inicializar su cargador de datos.
Tenga en cuenta las siguientes dependencias externas:
conda, ejecute conda install -c conda-forge lightgbm
antes de instalar nuestro paquete. Esto asegurará que OpenMP esté configurado para funcionar con el paquete lightgbm
(una de nuestras dependencias) en su entorno conda. Si usa Mac, instale Homebrew
y ejecute brew install libomp para que la librería OpenMP esté disponible para el modelo.