Prophet学习(一) Python API实现

news2025/1/15 22:40:18

目录

 Python API

详细介绍

完整代码:


 Python API

详细介绍

Prophet遵循sklearn模型API。我们创建Prophet类的实例,然后调用它的fit和predict方法。

Prophet的输入总是一个有两列的数据帧:ds和y。ds(日期戳)列应该是Pandas期望的格式,理想情况下YYYY-MM-DD表示日期,YYYY-MM-DD HH:MM:SS表示时间戳。y列必须是数字,并表示我们希望预测的测量值。

举个例子,让我们看一下Peyton Manning的维基百科页面每日访问量的时间序列。我们抓取这些数据Prophet遵循sklearn模型API。我们创建Prophet类的实例,然后调用它的fit和predict方法。

Prophet的输入总是一个有两列的数据帧:ds和y。ds(日期戳)列应该是Pandas期望的格式,理想情况下YYYY-MM-DD表示日期,YYYY-MM-DD HH:MM:SS表示时间戳。y列必须是数字,并表示我们希望预测的测量值。

举个例子,让我们看一下Peyton Manning的维基百科页面每日访问量的时间序列。佩顿·曼宁(Peyton Manning)提供了一个很好的例子,因为它说明了Prophet的一些特征,比如多季节性、变化的生长速度,以及模拟特殊日子的能力(比如曼宁的季后赛和超级碗出场)。CSV可以在这里找到。

首先,我们将导入数据:使用r中的Wikipediatrend包,Peyton Manning提供了一个很好的例子,因为它说明了Prophet的一些特性,比如多季节性,变化的生长速率,以及模拟特殊日子的能力(比如Manning的季后赛和超级碗出场)。CSV可以在这里找到。

首先我们导入数据:

# Python
import pandas as pd
from prophet import Prophet
# Python
df = pd.read_csv('https://raw.githubusercontent.com/facebook/prophet/main/examples/example_wp_log_peyton_manning.csv')
df.head()

                                          

我们通过实例化一个新的Prophet对象来拟合模型。对预测过程的任何设置都传递给构造函数。然后调用它的fit方法并传入历史数据框架。安装需要1-5秒。

# Python
m = Prophet()
m.fit(df)

然后在数据帧上进行预测,其中ds列包含要进行预测的日期。您可以使用帮助方法Prophet.make_future_dataframe获得一个合适的数据帧,它将扩展到指定天数的未来。默认情况下,它还将包括历史记录中的日期,因此我们将看到模型也适合。

# Python
future = m.make_future_dataframe(periods=365)
future.tail()

                                            

predict方法将为未来的每一行分配一个预测值,并将其命名为yhat。如果传入历史日期,它将提供样本内拟合。这里的预测对象是一个新的数据框架,它包括一个包含预测的列,以及用于组件和不确定性区间的列。

# Python
forecast = m.predict(future)
forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()

           

你可以打电话给先知来预测天气。绘制方法和传入您的预测数据框架。

# Python
fig1 = m.plot(forecast)

如果您想查看预测组件,可以使用Prophet.plot_components方法。默认情况下,您将看到时间序列的趋势、年度季节性和每周季节性。如果算上假期,你也会在这里看到。

# Python
fig2 = m.plot_components(forecast)

   

一个交互式的预测图和组件可以创建与plot。您需要单独安装plotly 4.0或以上版本,因为默认情况下它不会与prophet一起安装。您还需要安装notebook和ipywidgets包

# Python
from prophet.plot import plot_plotly, plot_components_plotly

plot_plotly(m, forecast)
# Python
plot_components_plotly(m, forecast)

关于每个方法可用选项的更多详细信息可以在文档字符串中找到,例如通过help(Prophet)或help(Prophet.fit)。CRAN上的R参考手册提供了所有可用函数的简明列表,每个函数都有一个Python等效函数。

完整代码:

# Python
import pandas as pd
from prophet import Prophet
import matplotlib.pyplot as plt
# Python
df = pd.read_csv('example_wp_log_peyton_manning.csv')
df.head()
print(df.head())
# Python
m = Prophet()
m.fit(df)
# print(m.fit(df))
# Python
future = m.make_future_dataframe(periods=365)
future.tail()
# print(future.tail())

# Python
forecast = m.predict(future)
T = forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()
# print(T)
# Python
fig1 = m.plot(forecast)

# print(fig1)


# Python
fig2 = m.plot_components(forecast)

# print(fig2)
# Python
from prophet.plot import plot_plotly, plot_components_plotly

plot_plotly(m, forecast)
plt.show()
# print(S)

# Python
plot_components_plotly(m, forecast)

plt.show()


参考: 

【1】prophet官网Quick Start | Prophet (facebook.github.io)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/415791.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

APIs --- DOM事件进阶

1. 事件流 事件流指的是事件完整执行过程中的流动路径 任意事件被触发时总会经历两个阶段:【捕获阶段】和【冒泡阶段】 事件捕获 概念:从DOM的根元素开始去执行对应的事件(从外到里) 捕获阶段是【从父到子】的传导过程 代码&…

基于SSM框架开发的小区物业管理系统JavaWeb项目源码

随着信息化时代的到来,小区的管理也日趋完善,开始逐步采用信息化系统对小区业主进行管理,对一些业务进行线上处理。小区物业管理系统正是为了满足这种需求而诞生的,也有不少同学会选择该课题作为毕业设计项目选题,下面…

【Unity入门】9.帧更新

【Unity入门】帧更新 大家好,我是Lampard~~ 欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一)获取挂载对象的属性信息 (1)获取名字信息 首先在C#代码中,this代表着脚本本身&#…

MySQL 事务和视图

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

Machine Learning-Ex3(吴恩达课后习题)Multi-class Classification and Neural Networks

目录 1. Multi-class Classification 1.1 Dataset 1.2 Visualizing the data 1.3 Vectorizing Logistic Regression 1.3.1 Vectorizing the cost function(no regularization) 1.3.2 Vectorizing the gradient(no regularization&#…

【ESP-IDF】如何安装ESP-IDF?

【ESP-IDF】如何安装ESP-IDF?Windows命令行安装ESP-IDFVs Code 图形IDE首先参考这篇视频:https://www.bilibili.com/blackboard/webplayer/embed-whitelist-other.html?aid520120377&bvidBV1hM411k7zz&cid888070526&page1本篇教程以Windows…

vue2路由守卫

全局前置_路由守卫 以前古代有一个职称叫御前侍卫:保护君王的安全,而路由守卫就是保护路由的安全(权限) 就是在Home组件中,我们需要先校验内容中的school是否满足要求,才能展示组件,否则不展示…

SpringBoot项目中遇到的订单支付超时未支付关闭订单的解决方案

1、扫表轮循 定时任务 > 获取数据 > 数据层 > 筛选出过期的数据 > 批量关闭超时订单 优点:实现简单、适用于小项目、数据量比较少 缺点:订单量过大的时候查询和修改数据库压力大、服务器内存消耗大、IO瓶颈 2、Redis懒删除 用户获取订单信…

java SSM选房管理系统idea开发mysql数据库java编程计算机网页源码maven项目

一、源码特点 SSM选房管理系统是一套完善的完整医院类型系统,结合SSM(SpringSpringMVCMyBatis)框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系…

Twitter的推荐系统开源了,Twitter的推荐系统是什么样的呢?Twitter推荐系统的架构说明

Twitter的推荐系统开源了,Twitter的推荐系统是什么样的呢?Twitter推荐系统的架构说明01. Twitter的推荐系统是什么样的?02. Candidate Sources2.1 In-Network Source2.2 Out-of-Network Sources03. Ranking04. Heuristics, Filters, and Prod…

VR虚拟核电设备拆除模拟培训降低风险

核电站设备拆除是一项高危、复杂的任务,因此进行安全、有效的培训至关重要。为此,将VR虚拟现实技术应用于核电厂中,通过100%模拟还原真实的拆除操作场景,广泛应用到核电厂展示、巡检和拆除等环节中,极大提高了生产效率…

单片机学习之中断与定时/计数器

记录学习中断的使用。 1. 使用工具 使用开发板: 普中科技开发板 编译软件: keil 2. 复习中断及相关概念 CPU在处理 事件A 时,中断源 发出中断请求,请求cpu处理事件B ,cpu 中断 当前工作,转去处理事件B&a…

HTML5 视频 Video

文章目录HTML5 视频 VideoWeb站点上的视频浏览器支持HTML5 (视频)- 如何工作视频格式与浏览器的支持视频格式HTML5 \<video> - 使用 DOM 进行控制HTML5 Video 标签HTML5 视频 Video 很多站点都会使用到视频. HTML5 提供了展示视频的标准。 Web站点上的视频 直到现在&am…

详解数据恢复多少一个g以及如何恢复

整理电脑硬盘数据的时候不小心删除了重要的文件该如何么恢复呢?硬盘修复数据恢复价格都爱的贵不贵?今天小编就来给大家重点当前市场上硬盘数据恢复的价格相关内容&#xff0c;那么数据恢复多少钱一个g呢?下面就来给大家揭晓一下数据恢复多少钱一个g以及如何恢复。 工具/原料…

全国青少年电子信息智能创新大赛(决赛)python·模拟三卷,含答案解析

全国青少年电子信息智能创新大赛(决赛) python 模拟三卷 一、程序题 第一题:描述 现有 n 个人依次围成一圈玩游戏,从第 1 个人开始报数,数到第 m 个人出局,然 后从出局的下一个人开始报数,数到第 m 个人又出局,...,如此反复到只剩下 最后一个是胜利者。设 n 个人的编号…

常用 Composition API--工程文件及setup

官方文档: https://v3.cn.vuejs.org/guide/composition-api-introduction.html 分析工程结构 vue3新添加的东西或修改的内容 首先import { createApp } from vue引入的不再是Vue的构造函数了&#xff0c;而是一个createAPP的工厂函数&#xff0c;什么是工厂函数&#xff1f; …

【TimeSerias】Transformer

Sequence 1. rnn 和 cnn RNN 很难并行化CNN很难捕捉较远的信息 2. Self-attention 拿每个query q去对每个 key k做attention 计算输出 Self-attition 矩阵计算 qiWqaikiWkqiviWvaiQWqAKWkAVWvA(1.1)\begin{align*} q^i & W^q a^i \\ k^i & W^k q^i \\ v^i & W…

WordPress图片水印插件 Easy Watermark

1、概述 WordPress图片水印插件Easy Watermark 是一款实现上传图片自动添加水印LOGO功能的高效插件。当我们在WordPress网站后台上传图片文件到媒体库时&#xff0c;或者在发布文章上传图片时&#xff0c;Easy Watermark 都能为图片自动添加水印&#xff0c;同时&#xff0c;还…

《计算机网络-自顶向下》06. 链路层和局域网

文章目录链路层概述链路层提供的服务链路层在何处实现差错检测和纠正技术奇偶校验循环冗余检测多路访问协议信道划分协议随机接入协议时隙 ALOHAALOHA载波侦听多路访问 —— CSMA具有碰撞检测的载波侦听多路访问 —— CSMA/CDCSMA/CD 效率轮流协议DOCSIS&#xff1a;用于电缆因…

c++11 标准模板(STL)(std::stack)(五)

定义于头文件 <stack> template< class T, class Container std::deque<T> > class stack; std::stack 类是容器适配器&#xff0c;它给予程序员栈的功能——特别是 FILO &#xff08;先进后出&#xff09;数据结构。 该类模板表现为底层容器的包…