ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

prophet,一个无敌的Python库!

prophet,一个无敌的Python库! 什么是是被开发出来的一种时间序列预测库, 它的主旨在于让时间序列数据的建模以及预测变得简单些, 就算是对那些没有专业领域知识的用户来讲, 也能够凭借几行代码轻易地去进行时间序列的解析与预计。具有以下特点和功能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)一些库的进阶用法示例呈现于此, 还有其他功能以及扩展选项被提供, 像处理缺失值、添加额外回归变量、联合建模等情况, 您能够参考库的官方文档以及示例代码, 去了解更多关于这些进阶用法的详细信息以及实践示例。
返回列表