Time Series Made Easy in Python: DARTS

Darts is a Python library for user-friendly forecasting and anomaly detection on time series. It contains a variety of models, from classics such as ARIMA to deep neural networks.

Some of the key features of Darts include:

  • A simple and intuitive interface for defining and fitting models
  • Support for different types of time series data, including univariate, multivariate, and panel data
  • A wide range of built-in models, including ARIMA, Exponential Smoothing, Prophet, LSTM, and TCN
  • Tools for hyperparameter tuning and model selection, such as cross-validation and grid search
  • Visualization tools for exploring and analyzing time series data and model outputs

Library

ModelUnivariateMultivariateProbabilisticMultiple series (global)Past-observed covariatesFuture-known covariatesStatic covariatesReference
ARIMA✅✅✅
VARIMA✅✅✅
AutoARIMA✅✅
StatsForecastAutoARIMA (faster AutoARIMA)✅✅✅Nixtla’s statsforecast
ExponentialSmoothing✅✅
StatsForecastETS✅✅Nixtla’s statsforecast
BATS and TBATS✅✅TBATS paper
Theta and FourTheta✅Theta & 4 Theta
Prophet (see install notes)✅✅✅Prophet repo
FFT (Fast Fourier Transform)✅
KalmanForecaster using the Kalman filter and N4SID for system identification✅✅✅✅N4SID paper
Croston method✅
RegressionModel; generic wrapper around any sklearn regression model✅✅✅✅✅✅
RandomForest✅✅✅✅✅✅
LinearRegressionModel✅✅✅✅✅✅✅
LightGBMModel✅✅✅✅✅✅✅
CatBoostModel✅✅✅✅✅✅✅
XGBModel✅✅✅✅✅✅✅
RNNModel (incl. LSTM and GRU); equivalent to DeepAR in its probabilistic version✅✅✅✅✅DeepAR paper
BlockRNNModel (incl. LSTM and GRU)✅✅✅✅✅
NBEATSModel✅✅✅✅✅N-BEATS paper
NHiTSModel✅✅✅✅✅N-HiTS paper
TCNModel✅✅✅✅✅TCN paper, DeepTCN paper, blog post
TransformerModel✅✅✅✅✅
TFTModel (Temporal Fusion Transformer)✅✅✅✅✅✅✅TFT paper, PyTorch Forecasting
DLinearModel✅✅✅✅✅✅✅DLinear paper
NLinearModel✅✅✅✅✅✅✅NLinear paper
Naive Baselines✅✅

Category Encoders

A set of scikit-learn-style transformers for encoding categorical variables into numeric with different techniques.

Category Encoders is a Python library for encoding categorical variables for machine learning tasks. It is available on contrib.scikit-learn.org and extends the capabilities of scikit-learn’s preprocessing module.

The library provides several powerful encoding techniques for dealing with categorical data, including:

  • Ordinal encoding: maps categorical variables to integer values based on their order of appearance
  • One-hot encoding: creates a binary feature for each category in a variable
  • Binary encoding: maps each category to a binary code
  • Target encoding: encodes each category with the mean target value for that category
  • Hashing encoding: maps each category to a random index in a hash table

Category Encoders also supports a range of advanced features, such as handling missing values, combining multiple encoders, and applying encoders to specific subsets of features.

Overall, Category Encoders is a useful tool for preprocessing categorical data and improving the accuracy and performance of machine learning models.

Yellowbrick: Machine Learning Visualization

https://www.scikit-yb.org/en/latest/

Feature Visualization

Classification Visualization

Regression Visualization

Clustering Visualization

Model Selection Visualization

Target Visualization

  • Balanced Binning Reference: generate a histogram with vertical lines showing the recommended value point to bin the data into evenly distributed bins
  • Class Balance: see how the distribution of classes affects the model
  • Feature Correlation: display the correlation between features and dependent variables

Text Visualization