fusionlab.datasets.make_multivariate_target_data

fusionlab.datasets.make_multivariate_target_data(n_series=2, n_timesteps=100, n_targets=2, freq='D', trend_factor=0.1, seasonality_period=7, seasonality_amplitude=5, noise_level=0.5, cross_target_lag=1, cross_target_factor=0.3, as_frame=False, seed=None)[source]

Generate multi-series data with multiple related target variables.

Creates a dataset suitable for demonstrating multivariate forecasting. It simulates data for multiple independent series (e.g., items) where each series has several features (static, dynamic, future) and multiple target variables.

The target variables are generated with some interdependence (e.g., target 2 depends on the lagged value of target 1).

Parameters:
  • n_series (int, default 2) – Number of independent time series (e.g., items).

  • n_timesteps (int, default 100) – Number of time steps (rows) per series.

  • n_targets (int, default 2) – Number of related target variables to generate (e.g., ‘target_1’, ‘target_2’, …).

  • freq (str, default 'D') – Pandas frequency string for the datetime index.

  • trend_factor (float, default 0.1) – Slope factor for the linear trend component in targets.

  • seasonality_period (float, default 7) – Periodicity for the main seasonal component in targets.

  • seasonality_amplitude (float, default 5) – Amplitude of the main seasonal component in targets.

  • noise_level (float, default 0.5) – Standard deviation of Gaussian noise added to each target.

  • cross_target_lag (int, default 1) – Lag used for the dependency between targets (target N depends on target N-1 lagged by this amount).

  • cross_target_factor (float, default 0.3) – Coefficient determining the strength of dependence between lagged targets.

  • as_frame (bool, default False) – Return type: False for Bunch, True for DataFrame.

  • seed (int, optional) – Seed for NumPy’s random number generator.

Returns:

data – If as_frame=False (default): A Bunch object including frame (DataFrame), lists of static_features, dynamic_features, future_features, target_names (list of target columns), target (NumPy array of shape (N_rows, n_targets)), and DESCR. If as_frame=True: The generated data solely as a pandas DataFrame.

Return type:

Bunch or pandas.DataFrame

Examples

>>> from fusionlab.datasets import make_multivariate_target_data
>>> # Generate data with 3 targets for 4 series
>>> data_bunch = make_multivariate_target_data(n_series=4, n_targets=3, seed=1)
>>> print(data_bunch.frame.head())
>>> print("Target names:", data_bunch.target_names)
>>> print("Target array shape:", data_bunch.target.shape)