NeuralProphet简介
NeuralProphet是一个简单易用的时间序列预测框架,基于PyTorch构建,结合了神经网络和传统时间序列算法。它的设计灵感来自Facebook Prophet和AR-Net,旨在提供可解释的预测结果。
NeuralProphet的主要特点包括:
- 简单易学:只需几行代码即可定义、定制和评估预测模型
- 可解释性:支持可视化预测组件、模型系数等
- 人机协作:支持迭代式的人机交互建模过程
- 适用于高频长期时间序列数据
安装方法
可以直接使用pip安装NeuralProphet:
pip install neuralprophet
如果想在Jupyter notebook中使用,建议安装"live"版本:
pip install neuralprophet[live]
使用示例
以下是一个最小化示例:
from neuralprophet import NeuralProphet
# 创建模型
m = NeuralProphet()
# 拟合模型
metrics = m.fit(df)
# 预测
forecast = m.predict(df)
# 可视化结果
fig_forecast = m.plot(forecast)
fig_components = m.plot_components(forecast)
fig_model = m.plot_parameters()
预测未来数据:
m = NeuralProphet().fit(df, freq="D")
df_future = m.make_future_dataframe(df, periods=30)
forecast = m.predict(df_future)
fig_forecast = m.plot(forecast)
主要功能
NeuralProphet支持以下主要功能:
- 自回归:线性或神经网络自相关建模
- 趋势:分段线性趋势,支持自动变点检测
- 季节性:不同周期(年、日、周、时)的傅里叶项
- 滞后回归器:线性或神经网络
- 未来回归器:线性或神经网络
- 事件:国家假日和自定义重复事件
- 全局建模:支持局部、全局或"glocal"(全局+正则化局部)组件
此外还支持多时间序列建模、不确定性估计、正则化、交叉验证等功能。
NeuralProphet是一个强大而灵活的时间序列预测工具,欢迎尝试使用并参与到开源社区中来!如果您在使用过程中遇到任何问题,可以在GitHub上提issue或加入Slack社区寻求帮助.