TimeSeriesHandler provides a configurable preprocessing pipeline for multivariate time series, including optional auto-configuration (self_tune=True).
Related docs:
from foreblocks import TimeSeriesHandlerimport numpy as np
import pandas as pd
from foreblocks import TimeSeriesHandler
data = np.random.randn(1200, 4) # [T, F]
timestamps = pd.date_range("2025-01-01", periods=len(data), freq="h")
pre = TimeSeriesHandler(
self_tune=True,
window_size=96,
horizon=24,
generate_time_features=True,
)
X, y, processed, time_feats = pre.fit_transform(data, time_stamps=timestamps)Return values from fit_transform(...):
X: input windowsy: forecast targetsprocessed: transformed full seriestime_feats: optional time features (orNone)
window_size(default24)horizon(default10)
normalize(True)differencing(False)detrend(False)log_transform(False)apply_filter(False)apply_ewt(False)
remove_outliers(False)outlier_method(default"iqr")outlier_threshold(default0.05)apply_imputation(False)impute_method(default"auto")
self_tune(False)generate_time_features(False)plot(False)verbose(False)
# Fit on train data only
X_train, y_train, train_processed, tf_train = pre.fit_transform(train_data, time_stamps=train_ts)
# Transform validation/test using fitted state
X_val = pre.transform(val_data, time_stamps=val_ts)
X_test = pre.transform(test_data, time_stamps=test_ts)
# Invert model outputs back to data scale
pred_real = pre.inverse_transform(pred_scaled)pre = TimeSeriesHandler(
normalize=True,
scaling_method="robust", # when heavy tails are expected
remove_outliers=True,
outlier_method="ecod",
apply_imputation=True,
impute_method="knn",
apply_filter=True,
filter_method="savgol",
detrend=True,
generate_time_features=True,
)- Input must be 2D:
[T, F]. - Call
fit_transformbeforetransform; otherwisetransformraises. transformreturns windowsX(not(X, y, processed)).inverse_transformaccepts shape[N, D]or[N, H, D].- Auto-configuration prints detected settings when enabled.
- Use
self_tune=Truefor heterogeneous datasets or quick baselines. - Use manual configuration for controlled ablations/reproducibility studies.