Time Series Imputation Methods

This page provides an overview of the data imputation methods available in the AI-DAPT Data Cleaning Engine for time series data.

Each method fills missing (NaN) values in time series data and returns a DataFrame of the same shape. All methods operate on numerical time series data.

backward_forward_fill

Performs backward fill followed by forward fill imputation.

Parameters

  • df (pd.DataFrame) Input DataFrame containing numerical values.

mean_fill

Imputes missing values using column means.

Parameters

  • df (pd.DataFrame) Input DataFrame containing numerical values.

median_fill

Imputes missing values using column medians.

Parameters

  • df (pd.DataFrame) Input DataFrame containing numerical values.

mode_fill

Imputes missing values using column modes (most frequent values).

Parameters

  • df (pd.DataFrame) Input DataFrame containing numerical values.

linear_interp_fill

Performs linear interpolation to fill missing values.

Parameters

  • df (pd.DataFrame) Input DataFrame containing numerical values.

polynomial_interp_fill

Performs polynomial interpolation to fill missing values.

Parameters

  • df (pd.DataFrame) Input DataFrame containing numerical values.

spline_interp_fill

Performs spline interpolation to fill missing values.

Parameters

  • df (pd.DataFrame) Input DataFrame containing numerical values.

time_fill

Performs time-based interpolation for datetime-indexed data.

Parameters

  • df (pd.DataFrame) Input DataFrame containing numerical values.

nearest_fill

Fills missing values using nearest-neighbor interpolation.

Parameters

  • df (pd.DataFrame) Input DataFrame containing numerical values.

pad_fill

Fills missing values using forward filling (padding).

Parameters

  • df (pd.DataFrame) Input DataFrame containing numerical values.

saits

Uses the SAITS model for time series imputation based on self-attention mechanisms.

Parameters

  • df (pd.DataFrame) Input DataFrame containing numerical values.

  • num_timestamps (int) Number of time steps in sequences.

  • num_features (int) Number of features or variables.

  • num_workers (int, optional) Default: 1

  • patience (int, optional) Default: 10

  • lr (float, optional) Default: 0.001

  • device (str or torch.device, optional) Default: None

  • random_seed (int, optional) Fixed at 2025

  • epochs (int, optional) Default: 100

  • batch_size (int, optional) Default: 32

  • n_layers (int, optional) Default: 4

  • d_model (int, optional) Default: 64

  • d_ffn (int, optional) Default: 64

  • n_heads (int, optional) Default: 4

  • d_k (int, optional) Default: 32

  • d_v (int, optional) Default: 32

  • dropout (float, optional) Default: 0.1

  • ORT_weight (float, optional) Default: 1

  • MIT_weight (float, optional) Default: 1

  • attn_dropout (float, optional) Default: 0

  • diagonal_attention_mask (bool, optional) Default: true

brits

Uses the BRITS model for bidirectional recurrent imputation.

Parameters

  • df (pd.DataFrame)

  • num_timestamps (int)

  • num_features (int)

  • epochs (int, optional) Default: 100

  • batch_size (int, optional) Default: 32

  • rnn_hidden_size (int, optional) Default: 64

usgan

Uses the USGAN model for unsupervised generative imputation.

Parameters

  • df (pd.DataFrame)

  • num_timestamps (int)

  • num_features (int)

  • epochs (int, optional) Default: 100

  • batch_size (int, optional) Default: 32

  • rnn_hidden_size (int, optional) Default: 64

  • lambda_mse (float, optional) Default: 1

  • hint_rate (float, optional) Default: 0.7

  • dropout_rate (float, optional) Default: 0.1

mrnn

Uses the MRNN model for multivariate recurrent imputation.

Parameters

  • df (pd.DataFrame)

  • num_timestamps (int)

  • num_features (int)

  • epochs (int, optional) Default: 100

  • batch_size (int, optional) Default: 32

  • rnn_hidden_size (int, optional) Default: 64

gpvae

Uses the GP-VAE model for probabilistic time series imputation.

Parameters

  • df (pd.DataFrame)

  • num_timestamps (int)

  • num_features (int)

  • latent_size (int, optional) Default: 64

  • kernel (str, optional) Default: cauchy

  • beta (float, optional) Default: 0.2

timesnet

Uses the TimesNet model for multi-scale time series imputation.

Parameters

  • df (pd.DataFrame)

  • num_timestamps (int)

  • num_features (int)

  • epochs (int, optional) Default: 100

  • batch_size (int, optional) Default: 32

  • n_layers (int, optional) Default: 2

  • d_model (int, optional) Default: 32

nonstationary_transformer

Uses a transformer model designed for non-stationary time series.

Parameters

  • df (pd.DataFrame)

  • num_timestamps (int)

  • num_features (int)

  • epochs (int, optional) Default: 100

  • batch_size (int, optional) Default: 32

autoformer

Uses the Autoformer model for long-term time series imputation.

Parameters

  • df (pd.DataFrame)

  • num_timestamps (int)

  • num_features (int)

  • epochs (int, optional) Default: 100

  • batch_size (int, optional) Default: 32

units

Uses the UniTS model for time series imputation.

Parameters

  • df (pd.DataFrame)

  • epochs (int, optional) Default: 300

  • lr (float, optional) Default: 1e-3

moment

Uses a pre-trained MOMENT model for time series imputation.

Parameters

  • df (pd.DataFrame)

e2e_ppg

Performs time series imputation using a GAN-based approach from the E2E-PPG repository.

Parameters

  • df (pd.DataFrame)

  • signal_column (str) Name of the column containing the PPG signal.

  • sampling_rate (int, optional) Default: 20

  • filter_signal (bool, optional) Default: true