varmax_regressor#

具有外生回归变量的向量自回归滑动平均模型。两个参数 (p, q) 分别是 AR 阶数和 MA 阶数。更多信息请见: https://statsmodels.cn/stable/generated/statsmodels.tsa.statespace.varmax.VARMAX.html

模块内容#

类摘要#

VARMAXRegressor

具有外生回归变量的向量自回归滑动平均模型。两个参数 (p, q) 分别是 AR 阶数和 MA 阶数。更多信息请见: https://statsmodels.cn/stable/generated/statsmodels.tsa.statespace.varmax.VARMAX.html

内容#

class evalml.pipelines.components.estimators.regressors.varmax_regressor.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)[source]#

具有外生回归变量的向量自回归滑动平均模型。两个参数 (p, q) 分别是 AR 阶数和 MA 阶数。更多信息请见: https://statsmodels.cn/stable/generated/statsmodels.tsa.statespace.varmax.VARMAX.html

目前 VARMAXRegressor 不支持通过 conda 安装。建议通过 PyPI 安装。

参数
  • time_index (str) – 指定 X 中提供 datetime 对象的列名。默认为 None。

  • p (int) – 最大自回归阶数。默认为 1。

  • q (int) – 最大滑动平均阶数。默认为 0。

  • trend (str) – 控制确定性趋势。可选参数为 ['n', 'c', 't', 'ct'],其中 'c' 表示常数项,'t' 表示线性趋势,'ct' 表示两者都有。定义多项式时也可以是可迭代对象,例如 [1, 1, 0, 1]。

  • random_seed (int) – 随机数生成器的种子。默认为 0。

  • max_iter (int) – 求解器的最大迭代次数。默认为 10。

  • use_covariates (bool) – 如果为 True,则将在 fit/predict 方法中传递外生变量。如果为 False,预测将仅基于日期时间和目标值。默认为 True。

属性

超参数范围

{ "p": Integer(1, 10), "q": Integer(1, 10), "trend": Categorical(['n', 'c', 't', 'ct']),}

模型家族

ModelFamily.VARMAX

修改特征

True

修改目标

False

名称

VARMAX Regressor

支持的问题类型

[ProblemTypes.MULTISERIES_TIME_SERIES_REGRESSION]

仅训练

False

方法

克隆

构造一个具有相同参数和随机状态的新组件。

默认参数

返回此组件的默认参数。

描述

描述组件及其参数。

特征重要性

返回长度为 1 的全 0 数组,因为 VARMAX 回归器未定义 feature_importance。

拟合

将 VARMAX 回归器拟合到数据。

获取预测区间

使用拟合的 VARMAXRegressor 查找预测区间。

加载

加载文件路径处的组件。

需要拟合

返回布尔值,确定组件在调用 predict, predict_proba, transform 或 feature_importances 之前是否需要拟合。

参数

返回用于初始化组件的参数。

预测

使用拟合的 VARMAX 回归器进行预测。

预测概率

对标签进行概率估计。

保存

将组件保存到文件路径。

更新参数

更新组件的参数字典。

clone(self)#

构造一个具有相同参数和随机状态的新组件。

返回

此组件的一个新实例,具有相同的参数和随机状态。

default_parameters(cls)#

返回此组件的默认参数。

我们的约定是 Component.default_parameters == Component().parameters。

返回

此组件的默认参数。

返回类型

dict

describe(self, print_name=False, return_dict=False)#

描述组件及其参数。

参数
  • print_name (bool, optional) – 是否打印组件名称

  • return_dict (bool, optional) – 是否将描述作为字典返回,格式为 {"name": name, "parameters": parameters}

返回

如果 return_dict 为 True,则返回字典,否则返回 None。

返回类型

None 或 dict

property feature_importance(self) numpy.ndarray#

返回长度为 1 的全 0 数组,因为 VARMAX 回归器未定义 feature_importance。

fit(self, X: pandas.DataFrame, y: Optional[pandas.DataFrame] = None)[source]#

将 VARMAX 回归器拟合到数据。

参数
  • X (pd.DataFrame) – 输入训练数据,形状为 [n_samples, n_features]。

  • y (pd.DataFrane) – 目标训练数据,形状为 [n_samples, n_series_id_values]。

返回

self

引发

ValueError – 如果未传入 y。

get_prediction_intervals(self, X: pandas.DataFrame, y: pandas.DataFrame = None, coverage: List[float] = None, predictions: pandas.Series = None) Dict[str, pandas.Series][source]#

使用拟合的 VARMAXRegressor 查找预测区间。

参数
  • X (pd.DataFrame) – 数据,形状为 [n_samples, n_features]。

  • y (pd.DataFrame) – 目标数据,形状为 [n_samples, n_series_id_values]。可选。

  • coverage (list[float]) – 一个介于 0 和 1 之间的浮点数列表,将为其计算预测区间的上限和下限。

  • predictions (pd.Series) – 未用于 VARMAX 回归器。

返回

预测区间的字典,字典格式为 {series_id: {coverage}_lower 或 {coverage}_upper}。

返回类型

dict[dict]

static load(file_path)#

加载文件路径处的组件。

参数

file_path (str) – 加载文件的位置。

返回

ComponentBase 对象

needs_fitting(self)#

返回布尔值,确定组件在调用 predict, predict_proba, transform 或 feature_importances 之前是否需要拟合。

对于不需要拟合或其 fit 方法不执行任何操作的组件,可以将其重写为 False。

返回

True。

property parameters(self)#

返回用于初始化组件的参数。

predict(self, X: pandas.DataFrame, y: Optional[pandas.DataFrame] = None) pandas.Series[source]#

使用拟合的 VARMAX 回归器进行预测。

参数
  • X (pd.DataFrame) – 数据,形状为 [n_samples, n_features]。

  • y (pd.DataFrame) – 目标数据,形状为 [n_samples, n_series_id_values]。

返回

预测值。

返回类型

pd.Series

引发

ValueError – 如果 fit 中传入了 X,但在 predict 中未传入。

predict_proba(self, X: pandas.DataFrame) pandas.Series#

对标签进行概率估计。

参数

X (pd.DataFrame) – 特征。

返回

概率估计值。

返回类型

pd.Series

引发

MethodPropertyNotFoundError – 如果估算器没有 predict_proba 方法或未实现 predict_proba 的 component_obj。

save(self, file_path, pickle_protocol=cloudpickle.DEFAULT_PROTOCOL)#

将组件保存到文件路径。

参数
  • file_path (str) – 保存文件的位置。

  • pickle_protocol (int) – pickle 数据流格式。

update_parameters(self, update_dict, reset_fit=True)#

更新组件的参数字典。

参数
  • update_dict (dict) – 要更新的参数字典。

  • reset_fit (bool, optional) – 如果为 True,则将 _is_fitted 设置为 False。