prophet_regressor#
Prophet 是一种基于加法模型的时序数据预测方法,该模型通过拟合年度、每周和每日季节性以及节假日效应来处理非线性趋势。它最适用于具有强季节性效应和多年历史数据的时序数据。Prophet 对缺失数据和趋势变化具有鲁棒性,并且通常能很好地处理异常值。
模块内容#
类摘要#
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
方法
构建用于拟合和预测的 Prophet 数据。
构造一个具有相同参数和随机状态的新组件。
返回此组件的默认参数。
描述组件及其参数。
返回长度为 1 的全零数组,因为 Prophet 回归器未定义 feature_importance。
将 Prophet 回归器组件拟合到数据。
获取 Prophet 回归器的参数。
使用拟合的 ProphetRegressor 查找预测区间。
从文件路径加载组件。
返回布尔值,确定组件在调用 predict、predict_proba、transform 或 feature_importances 之前是否需要拟合。
返回用于初始化组件的参数。
使用拟合的 Prophet 回归器进行预测。
对标签进行概率估计。
将组件保存到文件路径。
更新组件的参数字典。
- 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_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。