描述
Prophet 是一个在 R 和 Python 中实现的预测程序,旨在处理具有强烈季节性效应和多个季节性的时间序列数据。它遵循 scikit-learn 模型 API,允许用户实例化一个 Prophet 对象,然后调用其 `fit` 和 `predict` 方法。Prophet 的输入数据必须是一个 pandas DataFrame,包含两列:`ds` 用于日期戳,`y` 用于要预测的数值测量。`ds` 列应为 pandas 可识别的格式,日期最好是 'YYYY-MM-DD',时间戳最好是 'YYYY-MM-DD HH:MM:SS'。
拟合过程速度很快,通常只需 1-5 秒。拟合后,将在包含未来日期的 DataFrame 上进行预测。Prophet 提供了一个辅助方法 `make_future_dataframe` 来生成此 DataFrame,该方法默认包含用于样本内拟合的历史日期。`predict` 方法输出一个预测 DataFrame,其中包含预测值(`yhat`)以及不确定性区间(`yhat_lower`、`yhat_upper`)和预测组件。
Prophet 通过其 `plot` 和 `plot_components` 方法提供可视化功能,可以显示整体预测及其组成部分,如趋势、年度季节性和周度季节性。对于交互式可视化,Prophet 与 Plotly 集成。该程序能够对多个季节性、变化的增长率和特殊日期进行建模,使其在各种预测挑战中都非常稳健。R API 镜像了 Python API,使用 `prophet` 函数进行拟合,并使用通用的 `predict` 和 `plot` 函数进行预测和可视化。
Prophet 特别适用于季节性是重要因素的业务预测,例如每日、每周或每年的模式。其自动化特性减少了大量手动调优的需求,同时其灵活性也允许专家进行调整。该工具非常适合需要快速高效地构建可靠预测的数据科学家、分析师和开发人员。
Prophet的核心功能
时间序列预测
处理季节性(每日、每周、每年)
对多个季节性进行建模
针对节假日和特殊事件进行调整
自动化预测,并提供手动调优选项
快速拟合过程(1-5 秒)
提供不确定性区间
可视化预测组件(趋势、季节性)
支持 R 和 Python
兼容 scikit-learn API(Python)
与 Plotly 集成进行交互式绘图
开源
Prophet入门
通过包管理器安装:Python 使用 `pip install prophet`,R 使用 `install.packages('prophet')`。
准备数据:创建包含 'ds'(日期戳)和 'y'(数值测量)列的 DataFrame。
实例化并拟合模型:创建 Prophet 对象,并使用历史数据调用 `fit` 方法。
生成未来日期:使用 `make_future_dataframe` 创建用于未来预测的 DataFrame。
进行预测:使用未来 DataFrame 调用 `predict` 方法获取预测结果。
可视化结果:使用 `plot` 和 `plot_components` 方法进行预测和组件可视化。
交互式可视化:利用 Plotly 集成进行交互式预测和组件绘图。
Prophet的使用案例
- 业务预测
- 网站流量预测
- 事件影响分析
- 资源规划
- 异常检测
- 营销活动分析







