prophet,一个无敌的Python库! 📅 发布时间:2026/8/28 19:15:51 👁 浏览次数: 什么是是被开发出来的一种时间序列预测库, 它的主旨在于让时间序列数据的建模以及预测变得简单些, 就算是对那些没有专业领域知识的用户来讲, 也能够凭借几行代码轻易地去进行时间序列的解析与预计。具有以下特点和功能1.灵活性, 能够应对各类时间序列数据, 涵盖带有季节性、趋势性, 以及节假日等多种模式的数据。2.自动季节性建模, 它能够自动去检测, 还能对时间序列数据里的季节性模式进行建模, 像每日的季节性变化, 每周的季节性变化, 每月的季节性变化, 或者每年的季节性变化。3.生成的模型呢, 有可解释性, 用户能够知晓趋势, 还能明白季节性, 以及其他诸如影响时间序列数据啊的那些因素。4.能够依据数据的特征, 自动挑选适宜的趋势模型, 这种趋势模型涵盖线性趋势、非线性趋势以及突变点, 它体现为灵活的趋势建模, 逗号。5.可以针对节假日对于时间序列数据所产生的影响加以考虑, 并且给出了能够以灵活方式去定义以及建模不同种类节假日的途径。6.该如何进行异常值处理呢, 对于异常值而言, 其具备一定的鲁棒性, 能够有效地去处理异常值, 并且可以有效地排除异常值给预测结果所带来的干扰。7.可视的直观化, 有着丰富的可视功能, 能助用户更优理解时间序列的模式趋向, 且能评估模型的质量。旨在让时间序列建模变得简便易操作, 最大程度降低用户的技术门槛, 它于诸多实际应用里收获成功, 涵盖销售预测、趋势分析、天气预报等范畴。安装要安装库您可以按照以下步骤进行操作1.要保证您所处的环境已然进行了安装, 而且相关配置是正确无误的, 您能够来自网站官方站点获取最新版本的。2.打开终端或命令提示符。3.使用pip命令来安装库及其依赖项。运行以下命令pip install fbprophet或者如果您使用的是 3.x版本则可以运行以下命令pip3 install fbprophet这会借助pip包管理器, 从IndexPyPI那里, 下载最新版本的库, 随后进行安装, 标点符号为句号。4.完成安装之后, 您能够于程序里导入库, 进而开始运用它。比如说, 能够采用以下这种方式来进行导入:from fbprophet import Prophet现在您可以使用库提供的函数和类来建模和预测时间序列数据。留意一下哦, 库存在着一些依赖项, 像某某和某某这样的, 这些依赖项一般情况下会自动进行安装, 然而在某些特定情形之下或许是需要手动去安装的。要是您遭遇了任何安装方面的问题, 可以去查看库的官方文档或者与相关社区去寻求帮助的。基本用法示例下面是使用库进行基本时间序列预测的示例import pandas as pd from fbprophet import Prophet # 创建一个时间序列数据框 data pd.read_csv(data.csv) df pd.DataFrame() df[ds] pd.to_datetime(data[date]) df[y] data[value] # 创建Prophet模型 model Prophet() # 训练模型 model.fit(df) # 构建未来日期的数据框 future_dates model.make_future_dataframe(periods365) # 预测未来365天的数据 # 进行预测 forecast model.predict(future_dates) # 打印预测结果 print(forecast[[ds, yhat, yhat_lower, yhat_upper]].tail())在这个示例里头, 假定我们存在一个名为data.csv的文件, 该文件之中涵盖了时间序列数据, 此数据里包含着日期date以及数值value这两列。首先, 我们把那些数据设法读入到一个里头, 接着紧接着把日期那一列转化成格式, 之后, 我们弄出来一个模型, 随后运用训练的数据针对它展开训练。然后呢, 我们借助e()函数去创建了一个数据框, 这个数据框里有着未来日期, 目的是用于在模型当中开展预测工作。在这一示例里面, 我们通过参数设定了要去预测的未来时间段是365天。最终, 我们运用训练完毕的模型针对未来日期的数据展开预测, 并且将预测结果打印出来。预测结果涵盖了预测值“yhat”、下限“”以及上限“”, 用以表明预测值的置信区间范围。要留意, 这单单是库的基本用法的示例。你能够依照实际的需求, 去进行调整以及扩展代码, 像是添加节假日的效应, 对模型参数予以调整等等。进阶用法示例以下是库的一些进阶用法示例1.所谓自定义节假日效应, 那就是, 您能够借助创建一个涵盖节假日日期以及名称的数据框这种方式, 然后把该数据框当作参数传送给模型, 由此来考量特定节假日对于预测所产生的影响。holidays pd.DataFrame({ holiday: my_holiday, ds: pd.to_datetime([2022-01-01, 2022-12-25]), lower_window: -1, upper_window: 1 }) model Prophet(holidaysholidays)2.可以提供内置可视化工具以助您更好理解预测结果的可视化结果, 您能够运用plot()方法来绘制模型拟合的时间序列以及预测结果。model.plot(forecast)3.衡量模型性能状态: 您能够采用交叉验证从而评判模型在过往数据之上的性能体现情形。借助设置加之参数情况, 可以明确规定每个子集的训练时期范围和预测时期的长短程度。应用括号所括起来的函数来开展交叉验证工作, 并且运用括号所括起来的函数去测算性能指标数值情况。from fbprophet.diagnostics import cross_validation, performance_metrics df_cv cross_validation(model, initial730 days, period180 days, horizon365 days) df_p performance_metrics(df_cv) print(df_p)4.就如同对模型参数给予调整, 其存在好些能够进行调节的参数情况, 像是季节性方面的灵活度状态, 还有趋势方面的灵活度ale这般的情形。您能够依照数据所拥有的特点予以调节, 进而获取更为优良的预测情况所带来的好效果。model Prophet(seasonality_modemultiplicative, changepoint_prior_scale0.5)一些库的进阶用法示例呈现于此, 还有其他功能以及扩展选项被提供, 像处理缺失值、添加额外回归变量、联合建模等情况, 您能够参考库的官方文档以及示例代码, 去了解更多关于这些进阶用法的详细信息以及实践示例。