ForecastingHorizonSplitter
ForecastingHorizonSplitter
- class ForecastingHorizonSplitter(fh)[source]
Splitter that creates a single train/test split based on a forecasting horizon.
Handles both relative and absolute forecasting horizons.
For a single series and a forecasting horizon correponsing to absolute time points \((h_1, h_2, \ldots, h_H)\), splits into training and test set as follows:
training set: all time points strictly before \(h_1\)
test set: all time points \((h_1, h_2, \ldots, h_H)\)
For relative forecasting horizons, the last time point in the training set is assumed to be identical with \(h_H\), i.e., the last time point in the series to split.
More precisely, if \(t_1, t_2, \ldots, t_N\) are the time points in the series, and \(h_1, h_2, \ldots, h_H\) are the relative forecasting horizons, i.e., time offsets, then training and test sets are defined as follows:
training set: all time points \(t_i\) such that \(t_i \lneq t_N - h_H\)
test set: if \(t_j\) is the last time point in the training set, then the test set consists of the time points \((t_j + h_1, t_j + h_2, \ldots, t_j + h_H)\).
Users should note that, for non-contiguous forecasting horizons, the union of training and test sets will not cover the entire time series.
For zero or negative relative forecasting horizons, the training set will contain time points that are later than some time points in the test set, leading to leakage - users should ensure this is intentional when requested.
- Parameters:
- fhForecastingHorizon or compatible input
Forecasting horizon that defines the test set. Must be all out-of-sample if relative.
Methods
clone()Obtain a clone of the object with same hyper-parameters and config.
clone_tags(estimator[, tag_names])Clone tags from another object as dynamic override.
create_test_instance([parameter_set])Construct an instance of the class, using first test parameter set.
create_test_instances_and_names([parameter_set])Create list of all test instances and a list of names for them.
get_class_tag(tag_name[, tag_value_default])Get class tag value from class, with tag level inheritance from parents.
get_class_tags()Get class tags from class, with tag level inheritance from parent classes.
get_config()Get config flags for self.
get_cutoffs([y])Return the cutoff points in .iloc[] context.
get_fh()Return the forecasting horizon.
get_n_splits([y])Return number of splits (always 1).
get_param_defaults()Get object's parameter defaults.
get_param_names([sort])Get object's parameter names.
get_params([deep])Get a dict of parameters values for this object.
get_tag(tag_name[, tag_value_default, ...])Get tag value from instance, with tag level inheritance and overrides.
get_tags()Get tags from instance, with tag level inheritance and overrides.
get_test_params([parameter_set])Return testing parameter settings for the splitter.
is_composite()Check if the object is composed of other BaseObjects.
load_from_path(serial)Load object from file location.
load_from_serial(serial)Load object from serialized memory container.
reset()Reset the object to a clean post-init state.
save([path, serialization_format])Save serialized self to bytes-like object or to (.zip) file.
set_config(**config_dict)Set config flags to given values.
set_params(**params)Set the parameters of this object.
set_random_state([random_state, deep, ...])Set random_state pseudo-random seed parameters for self.
set_tags(**tag_dict)Set instance level tag overrides to given values.
split(y)Get iloc references to train/test splits of y.
split_loc(y)Get loc references to train/test splits of y.
split_series(y)Split y into training and test windows.

