prophet_regressor#

Prophet 是一种基于加法模型的时序数据预测方法,该模型通过拟合年度、每周和每日季节性以及节假日效应来处理非线性趋势。它最适用于具有强季节性效应和多年历史数据的时序数据。Prophet 对缺失数据和趋势变化具有鲁棒性,并且通常能很好地处理异常值。

模块内容#

类摘要#

ProphetRegressor

Prophet 是一种基于加法模型的时序数据预测方法,该模型通过拟合年度、每周和每日季节性以及节假日效应来处理非线性趋势。它最适用于具有强季节性效应和多年历史数据的时序数据。Prophet 对缺失数据和趋势变化具有鲁棒性,并且通常能很好地处理异常值。

目录#

class evalml.pipelines.components.estimators.regressors.prophet_regressor.ProphetRegressor(time_index: Optional[Hashable] = None, changepoint_prior_scale: float = 0.05, seasonality_prior_scale: int =10, holidays_prior_scale: int =10, seasonality_mode: str ='additive', stan_backend: str ='CMDSTANPY', interval_width: float =0.95, random_seed: Union[int, float] =0, **kwargs)[source]#

Prophet 是一种基于加法模型的时序数据预测方法,该模型通过拟合年度、每周和每日季节性以及节假日效应来处理非线性趋势。它最适用于具有强季节性效应和多年历史数据的时序数据。Prophet 对缺失数据和趋势变化具有鲁棒性,并且通常能很好地处理异常值。

更多信息请访问:https://fbdocs.cn/prophet/

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

  • **changepoint_prior_scale** (`*float*`) – 确定用于拟合变化点强度的稀疏先验的强度。增加此值会增加趋势的灵活性。默认为 0.05。

  • **seasonality_prior_scale** (`*int*`) – 类似于 changepoint_prior_scale。调整季节性模型对数据的拟合程度。默认为 10。

  • **holidays_prior_scale** (`*int*`) – 类似于 changepoint_prior_scale。调整节假日对数据的拟合程度。默认为 10。

  • **seasonality_mode** (`*str*`) – 确定此组件如何拟合季节性。选项包括“additive”(加法)和“multiplicative”(乘法)。默认为“additive”。

  • **stan_backend** (`*str*`) – 确定用于运行 Prophet 的后端。选项包括“CMDSTANPY”和“PYSTAN”。默认为“CMDSTANPY”。

  • **interval_width** (`*float*`) – 调用 get_prediction_intervals 时确定预测区间范围的置信度。接受范围 (0,1) 内的值。默认为 0.95。

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

属性

hyperparameter_ranges

{ “changepoint_prior_scale”: Real(0.001, 0.5), “seasonality_prior_scale”: Real(0.01, 10), “holidays_prior_scale”: Real(0.01, 10), “seasonality_mode”: [“additive”, “multiplicative”],}

model_family

ModelFamily.PROPHET

修改特征

True

修改目标

False

名称

Prophet 回归器

支持的问题类型

[ProblemTypes.TIME_SERIES_REGRESSION]

仅训练

False

方法

build_prophet_df

构建用于拟合和预测的 Prophet 数据。

clone

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

default_parameters

返回此组件的默认参数。

describe

描述组件及其参数。

feature_importance

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

fit

将 Prophet 回归器组件拟合到数据。

get_params

获取 Prophet 回归器的参数。

get_prediction_intervals

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

load

从文件路径加载组件。

needs_fitting

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

parameters

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

predict

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

predict_proba

对标签进行概率估计。

save

将组件保存到文件路径。

update_parameters

更新组件的参数字典。

static build_prophet_df(X: pandas.DataFrame, y: Optional[pandas.Series] = None, time_index: str = 'ds') pandas.DataFrame[source]#

构建用于拟合和预测的 Prophet 数据。

clone(self)#

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

返回

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

default_parameters(cls) dict#

返回此组件的默认参数。

返回

此组件的默认参数。

返回类型

dict

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

描述组件及其参数。

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

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

返回

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

返回类型

None 或 dict

property feature_importance(self) numpy.ndarray#

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

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

将 Prophet 回归器组件拟合到数据。

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

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

返回

self

get_params(self) dict[source]#

获取 Prophet 回归器的参数。

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

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

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

  • **y** (`*pd.Series*`) – 目标数据。忽略。

  • **coverage** (`*List*`[`*float*`]`) – 值为 0 到 1 之间的浮点数列表,用于计算预测区间的上限和下限。

  • **predictions** (`*pd.Series*`) – 不用于 Prophet 估计器。

返回

预测区间,键的格式为 {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]#

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

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

  • **y** (`*pd.Series*`) – 目标数据。忽略。

返回

预测值。

返回类型

pd.Series

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。