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
StatsForecastETSNixtla’s statsforecast
BATS and TBATSTBATS paper
Theta and FourThetaTheta & 4 Theta
Prophet (see install notes)Prophet repo
FFT (Fast Fourier Transform)
KalmanForecaster using the Kalman filter and N4SID for system identificationN4SID 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 versionDeepAR paper
BlockRNNModel (incl. LSTM and GRU)
NBEATSModelN-BEATS paper
NHiTSModelN-HiTS paper
TCNModelTCN paperDeepTCN paperblog post
TransformerModel
TFTModel (Temporal Fusion Transformer)TFT paperPyTorch Forecasting
DLinearModelDLinear paper
NLinearModelNLinear 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