varmax_regressor ============================================================================ .. py:module:: evalml.pipelines.components.estimators.regressors.varmax_regressor .. autoapi-nested-parse:: Vector Autoregressive Moving Average with eXogenous regressors model. The two parameters (p, q) are the AR order and the MA order. More information here: https://www.statsmodels.org/stable/generated/statsmodels.tsa.statespace.varmax.VARMAX.html. Module Contents --------------- Classes Summary ~~~~~~~~~~~~~~~ .. autoapisummary:: evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor Contents ~~~~~~~~~~~~~~~~~~~ .. py:class:: VARMAXRegressor(time_index: Optional[Hashable] = None, p: int = 1, q: int = 0, trend: Optional[str] = 'c', random_seed: Union[int, float] = 0, maxiter: int = 10, use_covariates: bool = False, **kwargs) Vector Autoregressive Moving Average with eXogenous regressors model. The two parameters (p, q) are the AR order and the MA order. More information here: https://www.statsmodels.org/stable/generated/statsmodels.tsa.statespace.varmax.VARMAX.html. Currently VARMAXRegressor isn't supported via conda install. It's recommended that it be installed via PyPI. :param time_index: Specifies the name of the column in X that provides the datetime objects. Defaults to None. :type time_index: str :param p: Maximum Autoregressive order. Defaults to 1. :type p: int :param q: Maximum Moving Average order. Defaults to 0. :type q: int :param trend: Controls the deterministic trend. Options are ['n', 'c', 't', 'ct'] where 'c' is a constant term, 't' indicates a linear trend, and 'ct' is both. Can also be an iterable when defining a polynomial, such as [1, 1, 0, 1]. :type trend: str :param random_seed: Seed for the random number generator. Defaults to 0. :type random_seed: int :param max_iter: Maximum number of iterations for solver. Defaults to 10. :type max_iter: int :param use_covariates: If True, will pass exogenous variables in fit/predict methods. If False, forecasts will solely be based off of the datetimes and target values. Defaults to True. :type use_covariates: bool **Attributes** .. list-table:: :widths: 15 85 :header-rows: 0 * - **hyperparameter_ranges** - { "p": Integer(1, 10), "q": Integer(1, 10), "trend": Categorical(['n', 'c', 't', 'ct']),} * - **model_family** - ModelFamily.VARMAX * - **modifies_features** - True * - **modifies_target** - False * - **name** - VARMAX Regressor * - **supported_problem_types** - [ProblemTypes.MULTISERIES_TIME_SERIES_REGRESSION] * - **training_only** - False **Methods** .. autoapisummary:: :nosignatures: evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor.clone evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor.default_parameters evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor.describe evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor.feature_importance evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor.fit evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor.get_prediction_intervals evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor.load evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor.needs_fitting evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor.parameters evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor.predict evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor.predict_proba evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor.save evalml.pipelines.components.estimators.regressors.varmax_regressor.VARMAXRegressor.update_parameters .. py:method:: clone(self) Constructs a new component with the same parameters and random state. :returns: A new instance of this component with identical parameters and random state. .. py:method:: default_parameters(cls) Returns the default parameters for this component. Our convention is that Component.default_parameters == Component().parameters. :returns: Default parameters for this component. :rtype: dict .. py:method:: describe(self, print_name=False, return_dict=False) Describe a component and its parameters. :param print_name: whether to print name of component :type print_name: bool, optional :param return_dict: whether to return description as dictionary in the format {"name": name, "parameters": parameters} :type return_dict: bool, optional :returns: Returns dictionary if return_dict is True, else None. :rtype: None or dict .. py:method:: feature_importance(self) -> numpy.ndarray :property: Returns array of 0's with a length of 1 as feature_importance is not defined for VARMAX regressor. .. py:method:: fit(self, X: pandas.DataFrame, y: Optional[pandas.DataFrame] = None) Fits VARMAX regressor to data. :param X: The input training data of shape [n_samples, n_features]. :type X: pd.DataFrame :param y: The target training data of shape [n_samples, n_series_id_values]. :type y: pd.DataFrane :returns: self :raises ValueError: If y was not passed in. .. py:method:: get_prediction_intervals(self, X: pandas.DataFrame, y: pandas.DataFrame = None, coverage: List[float] = None, predictions: pandas.Series = None) -> Dict[str, pandas.Series] Find the prediction intervals using the fitted VARMAXRegressor. :param X: Data of shape [n_samples, n_features]. :type X: pd.DataFrame :param y: Target data of shape [n_samples, n_series_id_values]. Optional. :type y: pd.DataFrame :param coverage: A list of floats between the values 0 and 1 that the upper and lower bounds of the prediction interval should be calculated for. :type coverage: list[float] :param predictions: Not used for VARMAX regressor. :type predictions: pd.Series :returns: A dict of prediction intervals, where the dict is in the format {series_id: {coverage}_lower or {coverage}_upper}. :rtype: dict[dict] .. py:method:: load(file_path) :staticmethod: Loads component at file path. :param file_path: Location to load file. :type file_path: str :returns: ComponentBase object .. py:method:: needs_fitting(self) Returns boolean determining if component needs fitting before calling predict, predict_proba, transform, or feature_importances. This can be overridden to False for components that do not need to be fit or whose fit methods do nothing. :returns: True. .. py:method:: parameters(self) :property: Returns the parameters which were used to initialize the component. .. py:method:: predict(self, X: pandas.DataFrame, y: Optional[pandas.DataFrame] = None) -> pandas.Series Make predictions using fitted VARMAX regressor. :param X: Data of shape [n_samples, n_features]. :type X: pd.DataFrame :param y: Target data of shape [n_samples, n_series_id_values]. :type y: pd.DataFrame :returns: Predicted values. :rtype: pd.Series :raises ValueError: If X was passed to `fit` but not passed in `predict`. .. py:method:: predict_proba(self, X: pandas.DataFrame) -> pandas.Series Make probability estimates for labels. :param X: Features. :type X: pd.DataFrame :returns: Probability estimates. :rtype: pd.Series :raises MethodPropertyNotFoundError: If estimator does not have a predict_proba method or a component_obj that implements predict_proba. .. py:method:: save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL) Saves component at file path. :param file_path: Location to save file. :type file_path: str :param pickle_protocol: The pickle data stream format. :type pickle_protocol: int .. py:method:: update_parameters(self, update_dict, reset_fit=True) Updates the parameter dictionary of the component. :param update_dict: A dict of parameters to update. :type update_dict: dict :param reset_fit: If True, will set `_is_fitted` to False. :type reset_fit: bool, optional