AutoEnsembleForecaster
AutoEnsembleForecaster
- class AutoEnsembleForecaster(forecasters, method='feature-importance', regressor=None, test_size=None, random_state=None, n_jobs=None)[source]
Automatically find best weights for the ensembled forecasters.
The AutoEnsembleForecaster finds optimal weights for the ensembled forecasters using given method or a meta-model (regressor) . The regressor has to be sklearn-like and needs to have either an attribute
feature_importances_orcoef_, as this is used as weights. Regressor can also be a sklearn.Pipeline.- Parameters:
- forecasterslist of (str, estimator) tuples
Estimators to apply to the input series.
- methodstr, optional, default=”feature-importance”
Strategy used to compute weights. Available choices:
- feature-importance:
use the
feature_importances_orcoef_from givenregressoras optimal weights.
- inverse-variance:
use the inverse variance of the forecasting error (based on the internal train-test-split) to compute optimal weights, a given
regressorwill be omitted.
- regressorsklearn-like regressor, optional, default=None.
Used to infer optimal weights from coefficients (linear models) or from feature importance scores (decision tree-based models). If None, then a GradientBoostingRegressor(max_depth=5) is used. The regressor can also be a sklearn.Pipeline().
- test_sizeint or float, optional, default=None
Used to do an internal temporal_train_test_split(). The test_size data will be the endog data of the regressor and it is the most recent data. The exog data of the regressor are the predictions from the temporarily trained ensemble models. If None, it will be set to 0.25.
- random_stateint, RandomState instance or None, default=None
Used to set random_state of the default regressor.
- n_jobsint or None, optional, default=None
The number of jobs to run in parallel for fit. None means 1 unless in a joblib.parallel_backend context. -1 means using all processors.
- Attributes:
- regressor_sklearn-like regressor
Fitted regressor.
- weights_np.array
The weights based on either
regressor.feature_importances_orregressor.coef_values.
See also
Examples
>>> from sktime.forecasting.compose import AutoEnsembleForecaster >>> from sktime.forecasting.naive import NaiveForecaster >>> from sktime.forecasting.trend import PolynomialTrendForecaster >>> from sktime.datasets import load_airline >>> y = load_airline() >>> forecasters = [ ... ("trend", PolynomialTrendForecaster()), ... ("naive", NaiveForecaster()), ... ] >>> forecaster = AutoEnsembleForecaster(forecasters=forecasters) >>> forecaster.fit(y=y, fh=[1,2,3]) AutoEnsembleForecaster(...) >>> y_pred = forecaster.predict()
Methods
check_is_fitted([method_name])Check if the estimator has been fitted.
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.
fit(y[, X, fh])Fit forecaster to training data.
fit_predict(y[, X, fh, X_pred])Fit and forecast time series at future horizon.
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_fitted_params([deep])Get fitted parameters.
get_param_defaults()Get object's parameter defaults.
get_param_names([sort])Get object's parameter names.
get_params([deep])Get parameters of estimator.
get_pretrained_params([deep])Get pretrained parameters of this estimator.
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 estimator.
is_composite()Check if the object is composite.
load_from_path(serial)Load object from file location.
load_from_serial(serial)Load object from serialized memory container.
predict([fh, X])Forecast time series at future horizon.
predict_interval([fh, X, coverage])Compute/return prediction interval forecasts.
predict_proba([fh, X, marginal])Compute/return fully probabilistic forecasts.
predict_quantiles([fh, X, alpha])Compute/return quantile forecasts.
predict_residuals([y, X])Return residuals of time series forecasts.
predict_var([fh, X, cov])Compute/return variance forecasts.
pretrain(y[, X, fh])Pre-train forecaster on panel (global) data.
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.
score(y[, X, fh])Scores forecast against ground truth, using MAPE (non-symmetric).
set_config(**config_dict)Set config flags to given values.
set_params(**kwargs)Set the parameters of estimator.
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.
update(y[, X, update_params])Update cutoff value and, optionally, fitted parameters.
update_predict(y[, cv, X, update_params, ...])Make predictions and update model iteratively over the test set.
update_predict_single([y, fh, X, update_params])Update model with new data and make forecasts.

