描述
Prophet 是 Facebook 开发的一个强大的预测程序,支持 R 和 Python。它旨在快速提供完全自动化的预测,数据科学家和分析师可以进一步对其进行调整。Prophet 的核心功能在于其能够对具有多种季节性、不断变化的增长率以及可能影响预测的特殊日期或事件的时间序列数据进行建模。
Prophet 的输入始终是一个 Pandas DataFrame,包含两个必需的列:'ds' 用于日期戳,'y' 用于要预测的数值测量。'ds' 列应为 Pandas 可识别的格式,日期最好是 'YYYY-MM-DD',时间戳最好是 'YYYY-MM-DD HH:MM:SS'。'y' 列必须包含代表历史数据点的数值。
Prophet 遵循 scikit-learn 模型 API,对于熟悉该生态系统的用户来说非常直观。用户实例化一个 Prophet 对象,然后调用其 `fit` 和 `predict` 方法。拟合过程非常快速,通常只需 1-5 秒。通过提供一个未来的 DataFrame 来生成预测,该 DataFrame 可以方便地使用 `make_future_dataframe` 辅助方法创建。此方法将历史数据扩展到未来指定的周期数。
`predict` 方法输出一个预测 DataFrame,其中包含预测值 ('yhat'),以及不确定性区间 ('yhat_lower', 'yhat_upper') 和各种预测组件的列。使用 `plot` 方法可以轻松地可视化预测,而 `plot_components` 则可以揭示趋势、年度季节性和周度季节性。对于交互式可视化,Prophet 与 Plotly 集成,需要额外安装 Plotly 及相关包。
在 R 中,过程类似,使用 `prophet` 函数进行拟合,然后对生成的模型对象使用 `predict` 和 `plot` 函数。数据输入要求保持不变:一个包含 'ds' 和 'y' 列的 DataFrame。Prophet 的灵活性使其能够对复杂的时间序列模式进行建模,使其成为跨各种行业广泛预测任务的宝贵工具。
Prophet 预测模型亮点
时间序列预测
自动化预测生成
处理多重季节性
建模变化的增长率
能够对特殊日期/事件进行建模
提供不确定性区间
用 R 和 Python 实现
Scikit-learn 兼容 API (Python)
快速拟合时间 (1-5 秒)
与 Plotly 进行交互式绘图
组件可视化 (趋势、季节性)
Prophet 预测模型入门
访问模型:为 R 或 Python 安装 Prophet 库。
准备数据:创建一个包含 'ds' (日期戳) 和 'y' (数值测量) 列的 DataFrame。
拟合模型:实例化 Prophet 对象并使用历史数据调用 `fit` 方法。
生成未来日期:使用 `make_future_dataframe` 创建用于预测的日期。
预测:使用未来 DataFrame 调用 `predict` 方法获取预测。
可视化:使用 `plot` 和 `plot_components` 方法进行预测和组件可视化。
交互式可视化:利用 Plotly 集成进行动态绘图。
Prophet 预测模型的使用案例
- 销售预测
- 网站流量预测
- 需求规划
- 资源分配
- 经济趋势分析
- 能源消耗预测
- 事件影响分析






