
Una librería de Python fácil de usar para la previsión y detección de anomalías en series temporales.
Darts es una biblioteca de Python para la previsión y detección de anomalías
en series temporales, fácil de usar. Contiene una variedad de modelos, desde clásicos como ARIMA
hasta redes neuronales profundas. Todos los modelos de previsión se pueden usar de la misma manera,
utilizando las funciones fit() y predict(), similares a scikit-learn.
La biblioteca también facilita el backtesting de modelos,
la combinación de predicciones de varios modelos y la consideración de datos externos.
Darts admite series temporales y modelos tanto univariantes como multivariantes.
Los modelos basados en ML se pueden entrenar con conjuntos de datos potencialmente grandes que contienen múltiples series
temporales, y algunos de los modelos ofrecen un amplio soporte para la previsión probabilística.
Darts también ofrece amplias capacidades de detección de anomalías. Por ejemplo, es trivial aplicar modelos PyOD a series temporales para obtener puntuaciones de anomalías, o envolver cualquiera de los modelos de previsión o filtrado de Darts para obtener modelos de detección de anomalías completamente desarrollados.
Recomendamos configurar primero un entorno Python limpio para tu proyecto con Python 3.10+ usando tu herramienta favorita (conda, venv, virtualenv con o sin virtualenvwrapper).
Una vez que tu entorno esté configurado, puedes instalar darts usando pip:
pip install darts
Para más detalles, puedes consultar nuestras instrucciones de instalación.
Crea un objeto TimeSeries a partir de un DataFrame de Pandas y divídelo en series de entrenamiento/validación:```python
import pandas as pd
from darts import TimeSeries
df = pd.read_csv("AirPassengers.csv", delimiter=",")
series = TimeSeries.from_dataframe(df, "Month", "#Passengers")
train, val = series[:-36], series[-36:]
Ajusta un modelo de suavizado exponencial y realiza una predicción (probabilística) sobre la duración de la serie de validación:```python
from darts.models import ExponentialSmoothing
model = ExponentialSmoothing()
model.fit(train)
prediction = model.predict(len(val), num_samples=1000)
Trazar la mediana, los percentiles 5 y 95:```python import matplotlib.pyplot as plt
series.plot() prediction.plot(label="forecast", low_quantile=0.05, high_quantile=0.95) plt.legend()
<div style="text-align:center;">
<img src="https://raw.githubusercontent.com/unit8co/darts/master/static/images/example.png" alt="darts forecast example" />
</div>
### Detección de anomalías
Cargue una serie multivariante, recórtela, conserve 2 componentes y divida los conjuntos de entrenamiento y validación:```python
from darts.datasets import ETTh2Dataset
series = ETTh2Dataset().load()[:10000][["MUFL", "LULL"]]
train, val = series.split_before(0.6)
Construye un scorer de anomalías k-means, entrénalo en el conjunto de entrenamiento y úsalo en el conjunto de validación para obtener puntuaciones de anomalía:```python from darts.ad import KMeansScorer
scorer = KMeansScorer(k=2, window=5) scorer.fit(train) anom_score = scorer.score(val)
Construye un detector de anomalías binario y entrénalo sobre las puntuaciones de entrenamiento,
luego úsalo sobre las puntuaciones de validación para obtener la clasificación binaria de anomalías:```python
from darts.ad import QuantileDetector
detector = QuantileDetector(high_quantile=0.99)
detector.fit(scorer.score(train))
binary_anom = detector.detect(anom_score)
Plot (desplazando y escalando algunas de las series para que todo aparezca en la misma figura):```python import matplotlib.pyplot as plt
series.plot() (anom_score / 2. - 100).plot(label="computed anomaly score", c="orangered", lw=3) (binary_anom * 45 - 150).plot(label="detected binary anomaly", lw=4)
<div style="text-align:center;">
<img src="https://raw.githubusercontent.com/unit8co/darts/master/static/images/example_ad.png" alt="darts anomaly detection example" />
</div>
## Características
* **Modelos de Pronóstico:** Una amplia colección de modelos de pronóstico para tareas de regresión y clasificación; desde modelos estadísticos (como
ARIMA) hasta modelos de aprendizaje profundo (como N-BEATS). Consulta los [modelos de pronóstico](#forecasting-models) a continuación.
* **Detección de Anomalías:** El módulo `darts.ad` contiene una colección de puntuadores de anomalías,
detectores y agregadores, que pueden combinarse para detectar anomalías en series temporales.
Es fácil envolver cualquiera de los modelos de pronóstico o filtrado de Darts para construir
un modelo de detección de anomalías completo que compare predicciones con valores reales.
El `PyODScorer` hace que sea trivial usar detectores PyOD en series temporales.
* **Soporte Multivariante:** `TimeSeries` puede ser multivariante, es decir, contener múltiples dimensiones/columnas
que varían en el tiempo en lugar de un único valor escalar. Muchos modelos pueden consumir y producir series multivariantes.
* **Entrenamiento con Múltiples Series (Modelos Globales):** Todos los modelos basados en aprendizaje automático (incluidas todas las redes neuronales)
admiten entrenarse con múltiples series (potencialmente multivariantes). Esto también puede escalar a conjuntos de datos grandes.
* **Soporte Probabilístico:** Los objetos `TimeSeries` pueden (opcionalmente) representar series temporales
estocásticas; esto puede usarse, por ejemplo, para obtener intervalos de confianza, y muchos modelos admiten diferentes
variantes de pronóstico probabilístico (como estimar distribuciones paramétricas o cuantiles).
Algunos puntuadores de detección de anomalías también pueden aprovechar estas distribuciones predictivas.
* **Soporte de Predicción Conformal:** Nuestros modelos de predicción conformal permiten generar pronósticos probabilísticos con
intervalos de cuantiles calibrados para cualquier modelo de pronóstico global preentrenado.
* **Soporte de Covariables Pasadas y Futuras:** Muchos modelos en Darts admiten series temporales de covariables
observadas en el pasado y/o conocidas en el futuro (datos externos) como entradas para producir pronósticos.
* **Soporte de Covariables Estáticas:** Además de los datos dependientes del tiempo, `TimeSeries` también puede contener
datos estáticos para cada dimensión, que algunos modelos pueden aprovechar.
* **Reconciliación Jerárquica:** Darts ofrece transformadores para realizar reconciliación.
Estos pueden hacer que los pronósticos sumen de una manera que respete la jerarquía subyacente.
* **Modelos de Regresión:** Es posible conectar cualquier modelo compatible con scikit-learn
para obtener pronósticos como funciones de valores rezagados de la serie objetivo y covariables.
* **Entrenamiento con Pesos de Muestra:** Todos los modelos globales admiten entrenarse con pesos de muestra. Pueden
aplicarse a cada observación, paso de tiempo pronosticado y columna objetivo.
* **Desplazamiento del Inicio del Pronóstico:** Todos los modelos globales admiten entrenamiento y predicción en una ventana de salida desplazada.
Esto es útil, por ejemplo, para pronósticos del mercado intradiario (Day-Ahead Market), o cuando las covariables (o la serie objetivo) se reportan
con un retraso.
* **Explicabilidad:** Darts tiene la capacidad de *explicar* algunos modelos de pronóstico usando valores SHAP.
* **Procesamiento de Datos:** Herramientas para aplicar (y revertir) fácilmente transformaciones comunes en
datos de series temporales (escalado, relleno de valores faltantes, diferenciación, boxcox, ...)
* **Métricas:** Una variedad de métricas para evaluar la bondad de ajuste de las series temporales;
desde puntuaciones R2 hasta el Error Absoluto Medio Escalado.
* **Backtesting:** Utilidades para simular pronósticos históricos, usando ventanas de tiempo móviles.
* **Soporte de PyTorch Lightning:** Todos los modelos de aprendizaje profundo se implementan usando PyTorch Lightning,
lo que admite, entre otras cosas, callbacks personalizados, entrenamiento con GPUs/TPUs y entrenadores personalizados.
* **Integración con MLflow:** Integración con MLflow para el seguimiento, comparación y persistencia automatizados
de experimentos con modelos de pronóstico de Darts. Consulta el [cuaderno de inicio rápido de MLflow](https://unit8co.github.io/darts/examples/29-MLflow-examples.html) para ver ejemplos.
* **Modelos de Filtrado:** Darts ofrece tres modelos de filtrado: `KalmanFilter`, `GaussianProcessFilter`,
y `MovingAverageFilter`, que permiten filtrar series temporales y, en algunos casos, obtener inferencias
probabilísticas de los estados/valores subyacentes.
* **Conjuntos de Datos:** El submódulo `darts.datasets` contiene algunos conjuntos de datos populares de series temporales para una experimentación
rápida y reproducible.
* **Compatibilidad con Múltiples Backends:** Los objetos `TimeSeries` pueden crearse desde y exportarse a varios backends como pandas, polars, numpy, pyarrow, xarray y más, facilitando una integración fluida con diferentes bibliotecas de procesamiento de datos.
## Modelos de Pronóstico
Aquí tienes un desglose de los modelos de pronóstico actualmente implementados en Darts. Nuestro conjunto incluye tanto modelos de regresión como de clasificación, cada uno adaptado para tareas específicas de pronóstico. Estamos comprometidos a ampliar nuestra oferta con nuevos modelos y características para mejorar tus capacidades de pronóstico.
**Modelos de Regresión:** Nuestros modelos de regresión están diseñados para predecir valores numéricos continuos, lo que los hace ideales para pronosticar tendencias y patrones futuros en datos de series temporales. Utiliza estos modelos para obtener información sobre posibles resultados futuros basados en datos históricos.| Model | Fuentes | Soporte de Series Objetivo:<br/><br/>Univariadas/<br/>Multivariadas | Soporte de Covariables:<br/><br/>Observadas en el pasado/<br/>Conocidas en el futuro/<br/>Estáticas | Pronóstico Probabilístico:<br/><br/>Muestreado/<br/>Parámetros de Distribución | Entrenamiento y Pronóstico en Múltiples Series |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|--------------------------------------------------------------------------|--------------------------------------------------------------------------|-------------------------------------------|
| **Modelos de Referencia (Baseline)**<br/>([LocalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#local-forecasting-models-lfms)) | | | | | |
| [NaiveMean](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.baselines.html#darts.models.forecasting.baselines.NaiveMean) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| [NaiveSeasonal](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.baselines.html#darts.models.forecasting.baselines.NaiveSeasonal) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| [NaiveDrift](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.baselines.html#darts.models.forecasting.baselines.NaiveDrift) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| [NaiveMovingAverage](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.baselines.html#darts.models.forecasting.baselines.NaiveMovingAverage) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| **Modelos Estadísticos / Clásicos**<br/>([LocalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#local-forecasting-models-lfms)) | | | | | |
| [ARIMA](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.arima.html#darts.models.forecasting.arima.ARIMA) | | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ 🔴 | 🔴 |
| [VARIMA](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.varima.html#darts.models.forecasting.varima.VARIMA) | | 🔴 ✅ | 🔴 ✅ 🔴 | ✅ 🔴 | 🔴 |
| [ExponentialSmoothing](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.exponential_smoothing.html#darts.models.forecasting.exponential_smoothing.ExponentialSmoothing) | | ✅ 🔴 | 🔴 🔴 🔴 | ✅ 🔴 | 🔴 |
| [Theta](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.theta.html#darts.models.forecasting.theta.Theta) y [FourTheta](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.theta.html#darts.models.forecasting.theta.FourTheta) | [Artículo sobre Theta](https://robjhyndman.com/papers/Theta.pdf) y [código fuente de 4 Theta](https://github.com/Mcompetitions/M4-methods/blob/master/4Theta%20method.R) | ✅ 🔴 | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| [Prophet](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.prophet_model.html#darts.models.forecasting.prophet_model.Prophet) | [Repositorio de Prophet](https://github.com/facebook/prophet) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ 🔴 | 🔴 |
| [FFT](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.fft.html#darts.models.forecasting.fft.FFT) (Transformada Rápida de Fourier) | | ✅ 🔴 | 🔴 🔴 🔴 | 🔴 🔴 | 🔴 |
| [KalmanForecaster](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.kalman_forecaster.html#darts.models.forecasting.kalman_forecaster.KalmanForecaster) usando el filtro de Kalman y N4SID para la identificación de sistemas | [Artículo sobre N4SID](https://people.duke.edu/~hpgavin/SystemID/References/VanOverschee-Automatica-1994.pdf) | ✅ ✅ | 🔴 ✅ 🔴 | ✅ 🔴 | 🔴 |
| [TBATS](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_tbats.html#darts.models.forecasting.sf_tbats.TBATS) | [Artículo sobre TBATS](https://robjhyndman.com/papers/ComplexSeasonality.pdf) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| Método [Croston](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_croston.html#darts.models.forecasting.sf_croston.Croston) | | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| Envoltorio [StatsForecastModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_model.html#darts.models.forecasting.sf_model.StatsForecastModel) alrededor de cualquier modelo [StatsForecast](https://nixtlaverse.nixtla.io/statsforecast/index.html#models) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [AutoARIMA](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_auto_arima.html#darts.models.forecasting.sf_auto_arima.AutoARIMA) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [AutoETS](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_auto_ets.html#darts.models.forecasting.sf_auto_ets.AutoETS) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [AutoCES](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_auto_ces.html#darts.models.forecasting.sf_auto_ces.AutoCES) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [AutoMFLES](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_auto_mfles.html#darts.models.forecasting.sf_auto_mfles.AutoMFLES) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [AutoTBATS](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_auto_tbats.html#darts.models.forecasting.sf_auto_tbats.AutoTBATS) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [AutoTheta](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sf_auto_theta.html#darts.models.forecasting.sf_auto_theta.AutoTheta) | [statsforecast de Nixtla](https://github.com/Nixtla/statsforecast) | ✅ 🔴 | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| [MultivariateModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.multivariate_model.html#darts.models.forecasting.multivariate_model.MultivariateModel) | | ✅ ✅ | 🔴 ✅ 🔴 | ✅ ✅ | 🔴 |
| **Modelos de Referencia Globales**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)) | | | | | |
| [GlobalNaiveAggregate](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.global_baseline_models.html#darts.models.forecasting.global_baseline_models.GlobalNaiveAggregate) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | ✅ |
| [GlobalNaiveDrift](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.global_baseline_models.html#darts.models.forecasting.global_baseline_models.GlobalNaiveDrift) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | ✅ |
| [GlobalNaiveSeasonal](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.global_baseline_models.html#darts.models.forecasting.global_baseline_models.GlobalNaiveSeasonal) | | ✅ ✅ | 🔴 🔴 🔴 | 🔴 🔴 | ✅ |
| **Modelos de Regresión**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)) | | | | | |
| [SKLearnModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sklearn_model.html#darts.models.forecasting.sklearn_model.SKLearnModel): envoltorio alrededor de cualquier modelo de regresión similar a scikit-learn | | ✅ ✅ | ✅ ✅ ✅ | 🔴 🔴 | ✅ |
| [LinearRegressionModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.linear_regression_model.html#darts.models.forecasting.linear_regression_model.LinearRegressionModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [RandomForestModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.random_forest.html#darts.models.forecasting.random_forest.RandomForestModel) | | ✅ ✅ | ✅ ✅ ✅ | 🔴 🔴 | ✅ |
| [CatBoostModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.catboost_model.html#darts.models.forecasting.catboost_model.CatBoostModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [LightGBMModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.lgbm.html#darts.models.forecasting.lgbm.LightGBMModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [XGBModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.xgboost.html#darts.models.forecasting.xgboost.XGBModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| **Modelos basados en PyTorch (Lightning)**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)) | | | | | |
| [RNNModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.rnn_model.html#darts.models.forecasting.rnn_model.RNNModel) (incl. LSTM y GRU); equivalente a DeepAR en su versión probabilística | [Artículo sobre DeepAR](https://arxiv.org/abs/1704.04110) | ✅ ✅ | 🔴 ✅ 🔴 | ✅ ✅ | ✅ |
| [BlockRNNModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.block_rnn_model.html#darts.models.forecasting.block_rnn_model.BlockRNNModel) (incl. LSTM y GRU) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [NBEATSModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.nbeats.html#darts.models.forecasting.nbeats.NBEATSModel) | [Artículo sobre N-BEATS](https://arxiv.org/abs/1905.10437) | ✅ ✅ | ✅ 🔴 🔴 | ✅ ✅ | ✅ |
| [NHiTSModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.nhits.html#darts.models.forecasting.nhits.NHiTSModel) | [Artículo sobre N-HiTS](https://arxiv.org/abs/2201.12886) | ✅ ✅ | ✅ 🔴 🔴 | ✅ ✅ | ✅ |
| [TCNModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.tcn_model.html#darts.models.forecasting.tcn_model.TCNModel) | [Artículo sobre TCN](https://arxiv.org/abs/1803.01271), [Artículo sobre DeepTCN](https://arxiv.org/abs/1906.04397), [publicación de blog](https://medium.com/unit8-machine-learning-publication/temporal-convolutional-networks-and-forecasting-5ce1b6e97ce4) | ✅ ✅ | ✅ 🔴 🔴 | ✅ ✅ | ✅ |
| [TransformerModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.transformer_model.html#darts.models.forecasting.transformer_model.TransformerModel) | | ✅ ✅ | ✅ 🔴 🔴 | ✅ ✅ | ✅ |
| [TFTModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.tft_model.html#darts.models.forecasting.tft_model.TFTModel) (Transformador de Fusión Temporal) | [Artículo sobre TFT](https://arxiv.org/pdf/1912.09363.pdf), [PyTorch Forecasting](https://pytorch-forecasting.readthedocs.io/en/latest/models.html) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [DLinearModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.dlinear.html#darts.models.forecasting.dlinear.DLinearModel) | [Artículo sobre DLinear](https://arxiv.org/pdf/2205.13504.pdf) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [NLinearModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.nlinear.html#darts.models.forecasting.nlinear.NLinearModel) | [Artículo sobre NLinear](https://arxiv.org/pdf/2205.13504.pdf) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [TiDEModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.tide_model.html#darts.models.forecasting.tide_model.TiDEModel) | [Artículo sobre TiDE](https://arxiv.org/pdf/2304.08424.pdf) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [TSMixerModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.tsmixer_model.html#darts.models.forecasting.tsmixer_model.TSMixerModel) | [Artículo sobre TSMixer](https://arxiv.org/pdf/2303.06053.pdf), [Implementación en PyTorch](https://github.com/ditschuk/pytorch-tsmixer) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [NeuralForecastModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.nf_model.html#darts.models.forecasting.nf_model.NeuralForecastModel): envoltorio alrededor de cualquier modelo base [NeuralForecast](https://nixtlaverse.nixtla.io/neuralforecast/docs/capabilities/overview.html) | [Documentación de NeuralForecast](https://nixtlaverse.nixtla.io/neuralforecast/docs/) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| **Modelos Fundacionales**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)): No se requiere entrenamiento | | | | | |
| [Chronos2Model](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.chronos2_model.html#darts.models.forecasting.chronos2_model.Chronos2Model) | [Informe de Chronos-2](https://arxiv.org/abs/2510.15821), [Publicación de blog de Amazon](https://www.amazon.science/blog/introducing-chronos-2-from-univariate-to-universal-forecasting) | ✅ ✅ | ✅ ✅ 🔴 | ✅ ✅ | ✅ |
| [TimesFM2p5Model](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.timesfm2p5_model.html#darts.models.forecasting.timesfm2p5_model.TimesFM2p5Model) | [Artículo sobre TimesFM 1.0](https://arxiv.org/abs/2310.10688), [Publicación de blog de Google](https://research.google/blog/a-decoder-only-foundation-model-for-time-series-forecasting) | ✅ ✅ | 🔴 🔴 🔴 | ✅ ✅ | ✅ |
| [TiRexModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.tirex_model.html#darts.models.forecasting.tirex_model.TiRexModel) | [Artículo sobre TiRex](https://arxiv.org/abs/2505.23719), [TiRex GitHub](https://github.com/NX-AI/tirex) | ✅ ✅ | 🔴 🔴 🔴 | ✅ ✅ | ✅ |
| [PatchTSTFMModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.patchtst_fm_model.html#darts.models.forecasting.patchtst_fm_model.PatchTSTFMModel) | [Artículo sobre PatchTST-FM](https://arxiv.org/abs/2602.06909), [PatchTST-FM GitHub](https://github.com/ibm-granite/granite-tsfm) | ✅ ✅ | 🔴 🔴 🔴 | ✅ ✅ | ✅ |
| **Modelos de Ensemble**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)): El soporte del modelo depende de los modelos de pronóstico ensamblados y del propio modelo de ensemble | | | | | |
| [NaiveEnsembleModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.naive_ensemble_model.html#darts.models.forecasting.naive_ensemble_model.NaiveEnsembleModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [RegressionEnsembleModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.regression_ensemble_model.html#darts.models.forecasting.regression_ensemble_model.RegressionEnsembleModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| **Modelos Conformes**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)): El soporte del modelo depende del modelo de pronóstico utilizado | | | | | |
| [ConformalNaiveModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.conformal_models.html#darts.models.forecasting.conformal_models.ConformalNaiveModel) | [Predicción Conformalizada](https://arxiv.org/pdf/1905.03222) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [ConformalQRModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.conformal_models.html#darts.models.forecasting.conformal_models.ConformalQRModel) | [Regresión Cuantílica Conformalizada](https://arxiv.org/pdf/1905.03222) | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |**Modelos de clasificación:** Los modelos de clasificación en Darts están diseñados para predecir etiquetas de clases categóricas, lo que permite un etiquetado eficaz de series temporales y la predicción de clases futuras. Estos modelos son perfectos para escenarios donde identificar categorías o estados distintos a lo largo del tiempo es crucial.
| Model | Fuentes | Soporte de series objetivo:<br/><br/>Univariada/<br/>Multivariada | Soporte de covariables:<br/><br/>Observadas en el pasado/<br/>Conocidas en el futuro/<br/>Estáticas | Pronóstico probabilístico:<br/><br/>Muestreado/<br/>Parámetros de distribución | Entrenamiento y pronóstico en múltiples series |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|--------------------------------------------------------------|--------------------------------------------------------------------------|--------------------------------------------------------------------------|-------------------------------------------|
| **Modelos de regresión**<br/>([GlobalForecastingModel](https://unit8co.github.io/darts/userguide/covariates.html#global-forecasting-models-gfms)) | | | | | |
| [SKLearnClassifierModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.sklearn_model.html#darts.models.forecasting.sklearn_model.SKLearnClassifierModel): envoltorio alrededor de cualquier modelo de clasificación similar a scikit-learn | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [CatBoostClassifierModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.catboost_model.html#darts.models.forecasting.catboost_model.CatBoostClassifierModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [LightGBMClassifierModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.lgbm.html#darts.models.forecasting.lgbm.LightGBMClassifierModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
| [XGBClassifierModel](https://unit8co.github.io/darts/generated_api/darts.models.forecasting.xgboost.html#darts.models.forecasting.xgboost.XGBClassifierModel) | | ✅ ✅ | ✅ ✅ ✅ | ✅ ✅ | ✅ |
## Comunidad y contacto
Todo el mundo es bienvenido a unirse a nuestra [sala de Gitter](https://gitter.im/u8darts/darts) para hacer preguntas, hacer propuestas,
discutir casos de uso y más. Si detectas un error o tienes sugerencias, los issues de GitHub también son bienvenidos.
Si lo que quieres contarnos no es adecuado para Gitter o GitHub,
no dudes en enviarnos un correo electrónico a <a href="mailto:[email protected]">[email protected]</a> para
asuntos relacionados con darts o a <a href="mailto:[email protected]">[email protected]</a> para cualquier otra
consulta.
## Contribuir
El desarrollo está en curso, y damos la bienvenida a sugerencias, pull requests e issues en GitHub.
Todos los contribuyentes serán reconocidos en la
[página del registro de cambios](https://github.com/unit8co/darts/blob/master/CHANGELOG.md).
Antes de trabajar en una contribución (una nueva función o una corrección),
[consulta nuestras pautas de contribución](https://github.com/unit8co/darts/blob/master/CONTRIBUTING.md).
## Cita
Si estás usando Darts en tu trabajo científico, agradeceríamos citas al siguiente artículo de JMLR.
[Darts: User-Friendly Modern Machine Learning for Time Series](https://www.jmlr.org/papers/v23/21-1177.html)
Entrada de Bibtex (o copia directamente a través de la cita del repositorio de GitHub):```
@article{Herzen_Darts_User-Friendly_Modern_2022,
author = {Herzen, Julien and Lässig, Francesco and Piazzetta, Samuele Giuliano and Neuer, Thomas and Tafti, Léo and Raille, Guillaume and Van Pottelbergh, Tomas and Pasieka, Marek and Skrodzki, Andrzej and Huguenin, Nicolas and Dumonal, Maxime and Kościsz, Jan and Bader, Dennis and Gusset, Frédérick and Benheddi, Mounir and Williamson, Camila and Kosinski, Michal and Petrik, Matej and Grosch, Gaël},
journal = {Journal of Machine Learning Research},
number = {124},
pages = {1--6},
title = {{Darts: User-Friendly Modern Machine Learning for Time Series}},
url = {https://jmlr.org/papers/v23/21-1177.html},
volume = {23},
year = {2022}
}