arima_regressor#

自回归差分移动平均模型(ARIMA)。三个参数 (p, d, q) 分别代表 AR 阶数、差分阶数和 MA 阶数。更多信息请见此处:https://statsmodels.cn/devel/generated/statsmodels.tsa.arima.model.ARIMA.html

模块内容#

类总结#

ARIMARegressor

自回归差分移动平均模型(ARIMA)。三个参数 (p, d, q) 分别代表 AR 阶数、差分阶数和 MA 阶数。更多信息请见此处:https://statsmodels.cn/devel/generated/statsmodels.tsa.arima.model.ARIMA.html

目录#

class evalml.pipelines.components.estimators.regressors.arima_regressor.ARIMARegressor(time_index: Optional[Hashable] = None, trend: Optional[str] = None, start_p: int = 2, d: int = 0, start_q: int = 2, max_p: int = 5, max_d: int = 2, max_q: int = 5, seasonal: bool = True, sp: int = 1, n_jobs: int = -1, random_seed: Union[int, float] = 0, maxiter: int = 10, use_covariates: bool = True, **kwargs)[source]#

自回归差分移动平均模型(ARIMA)。三个参数 (p, d, q) 分别代表 AR 阶数、差分阶数和 MA 阶数。更多信息请见此处:https://statsmodels.cn/devel/generated/statsmodels.tsa.arima.model.ARIMA.html

当前,ARIMARegressor 不支持通过 conda 安装。建议通过 PyPI 进行安装。

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

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

  • start_p (int) – 最小自回归阶数。默认为 2。

  • d (int) – 最小差分阶数。默认为 0。

  • start_q (int) – 最小移动平均阶数。默认为 2。

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

  • max_d (int) – 最大差分阶数。默认为 2。

  • max_q (int) – 最大移动平均阶数。默认为 5。

  • seasonal (boolean) – 是否对 ARIMA 模型拟合季节性。默认为 True。

  • sp (int or str) – 季节性差分的周期,特指每个季节的周期数。如果设置为“detect”,模型将自动检测此参数(假定时间序列是标准频率),如果无法检测到则回退到 1(无季节性)。默认为 1。

  • n_jobs (int or None) – 描述流水线所用并行级别的非负整数。默认为 -1。

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

属性

hyperparameter_ranges

{ “start_p”: Integer(1, 3), “d”: Integer(0, 2), “start_q”: Integer(1, 3), “max_p”: Integer(3, 10), “max_d”: Integer(2, 5), “max_q”: Integer(3, 10), “seasonal”: [True, False],}

max_cols

7

max_rows

1000

model_family

ModelFamily.ARIMA

modifies_features

True

modifies_target

False

name

ARIMA 回归器

supported_problem_types

[ProblemTypes.TIME_SERIES_REGRESSION]

training_only

False

方法

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

feature_importance

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

fit

将 ARIMA 回归器拟合到数据。

get_prediction_intervals

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

load

从文件路径加载组件。

needs_fitting

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

parameters

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

predict

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

predict_proba

生成标签的概率估计。

save

将组件保存到文件路径。

update_parameters

更新组件的参数字典。

clone(self)#

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

返回

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

default_parameters(cls)#

返回此组件的默认参数。

我们的惯例是 Component.default_parameters == Component().parameters。

返回

此组件的默认参数。

返回类型

dict

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

描述组件及其参数。

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

  • return_dict (bool, 可选) – 是否以字典格式 {“name”: name, “parameters”: parameters} 返回描述

返回

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

返回类型

None or dict

property feature_importance(self) numpy.ndarray#

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

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

将 ARIMA 回归器拟合到数据。

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

  • y (pd.Series) – 目标训练数据,长度为 [n_samples]。

返回

self

抛出

ValueError – 如果未传入 y。

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

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

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

  • y (pd.Series) – 目标数据。可选。

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

  • predictions (pd.Series) – 不用于 ARIMA 回归器。

返回

预测区间,键的格式为 {coverage}_lower 或 {coverage}_upper。

返回类型

dict

static load(file_path)#

从文件路径加载组件。

参数

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

返回

ComponentBase 对象

needs_fitting(self)#

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

对于不需要拟合或其拟合方法不起作用的组件,此属性可以被覆盖为 False。

返回

True。

property parameters(self)#

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

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

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

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

  • y (pd.Series) – 目标数据。

返回

预测值。

返回类型

pd.Series

抛出

ValueError – 如果 X 传入了 fit 但未传入 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, 可选) – 如果为 True,将设置 _is_fitted 为 False。