prophet 傅里叶级数

在时间序列分析中,季节性是一个常见的模式,即数据中存在按固定周期重复的波动。Prophet 模型通过傅里叶级数(Fourier Series)来处理和建模这种季节性。

### 傅里叶级数简介

傅里叶级数是一种将周期函数分解为一组正弦和余弦函数的数学方法。这些正弦和余弦函数的频率是周期函数的整数倍。通过这种方式,傅里叶级数能够近似任何周期性函数。它可以用以下公式表示:

\[ f(t) = a_0 + \sum_{n=1}^{N} \left( a_n \cos \left( \frac{2 \pi n t}{P} \right) + b_n \sin \left( \frac{2 \pi n t}{P} \right) \right) \]

其中:
- \( f(t) \) 是时间 \( t \) 上的值
- \( a_0 \) 是常数项
- \( a_n \) 和 \( b_n \) 是傅里叶系数
- \( N \) 是级数的项数(即傅里叶项的数量)
- \( P \) 是周期

### Prophet 中的傅里叶级数

Prophet 使用傅里叶级数来捕捉数据中的季节性成分。季节性成分是数据中按周期变化的部分,比如每年的季节性变化(如销售高峰和低谷),每周的变化(如周末的模式)等。

在 Prophet 中,可以通过以下参数来控制傅里叶级数的使用:

- `seasonality_mode`:可以设置为 `'additive'`(加法模型)或 `'multiplicative'`(乘法模型)。
- `seasonality_prior_scale`:控制季节性成分的强度。数值越大,季节性成分对模型的影响越大。
- `yearly_seasonality`、`weekly_seasonality`、`daily_seasonality`:控制年、周、日季节性的使用。可以是布尔值或整数。整数表示傅里叶项的数量。
- `fourier_order`:傅里叶级数的项数,越高表示可以捕捉更复杂的季节性模式。

### 使用示例

下面是一个简单的示例,展示如何在 Prophet 中使用傅里叶级数建模季节性:

```python
from fbprophet import Prophet
import pandas as pd

# 创建一个包含历史数据的示例数据框
data = {
    'ds': pd.date_range(start='2023-01-01', periods=365, freq='D'),
    'y': [i + 0.5*i**0.5 for i in range(365)]
}
df = pd.DataFrame(data)

# 初始化并配置Prophet模型
model = Prophet(
    yearly_seasonality=True,   # 启用年度季节性
    weekly_seasonality=True,   # 启用周季节性
    daily_seasonality=False,   # 禁用日季节性
    seasonality_mode='additive',  # 使用加法模式
    seasonality_prior_scale=10.0  # 设置季节性强度
)

# 拟合模型
model.fit(df)

# 创建一个包含未来30天的日期数据框
future = model.make_future_dataframe(periods=30)

# 使用模型进行预测
forecast = model.predict(future)

# 查看预测结果
print(forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail())
```

### 总结

通过傅里叶级数,Prophet 能够捕捉和建模时间序列数据中的复杂季节性模式。这使得 Prophet 成为一个强大且灵活的时间序列分析工具,适用于各种具有季节性特征的数据集。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ELK日志系统和Filebeat采集器的学习总结

ELK是ElasticSerach、Logstash、Kina Logstash负责采集数据,Logstash有三个插件,input、filter、output,filter插件作用是对采集的数据进行处理,过滤的,因此filter插件可以选,可以不用配置。 ElasticSear…

ASUS/华硕枪神5 G533Q G733Q系列 原厂win10系统 工厂文件 带F12 ASUS Recovery恢复

华硕工厂文件恢复系统 ,安装结束后带隐藏分区,一键恢复,以及机器所有驱动软件。 系统版本:Windows10 原厂系统下载网址:http://www.bioxt.cn 需准备一个20G以上u盘进行恢复 请注意:仅支持以上型号专用…

Facebook广告被拒:常见原因以及避免屏蔽的方法

大多数情况下,广告被屏蔽是因为违反了规则,这不仅仅是因为审核因素。有些规则并不明显,也没有在任何地方指定。例如,在广告中使用广告政策中未列出的停用词;审核算法确定照片描绘的模特过于暴露。下面小编将为你介绍Fa…

鸿蒙系统的开发与学习

1.开发工具的下载 DevEco Studio-HarmonyOS Next Beta版-华为开发者联盟 安装、环境配置时,建议 自定义目录 注意:路径中不要有 中文、特殊字符。 2.ArkTS基础总结 1)三种数据类型 ① string 字符串:描述信息 ② number 数…

【MySQL】mysql访问

mysql访问 1.引入MySQL 客户端库2.C/C 进行增删改3.查询的处理细节4.图形化界面访问数据库4.1下载MYSQL Workbench4.2MYSQL Workbench远程连接数据库 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励&a…

数据特征采样在 MySQL 同步一致性校验中的实践

作者:vivo 互联网存储研发团队 - Shang Yongxing 本文介绍了当前DTS应用中,MySQL数据同步使用到的数据一致性校验工具,并对它的实现思路进行分享。 一、背景 在 MySQL 的使用过程中,经常会因为如集群拆分、数据传输、数据聚合等…

C++ 仿QT信号槽二

// 实现原理 // 每个signal映射到bitset位,全集 // 每个slot做为signal的bitset子集 // signal全集触发,标志位有效 // flip将触发事件队列前置 // slot检测智能指针全集触发的标志位,主动运行子集绑定的函数 // 下一帧对bitset全集进行触发清…

CUDA编程基础

文章目录 1、GPU介绍2、CUDA程序进行编译3、CUDA线程模型3.1、一维网格一维线程块3.2、二维网格二维线程块3.3、三维网格三维线程块3.3、不同组合形式 4、nvcc编译流程5、CUDA程序基本架构6、错误检测函数6.1、运行时API错误代码6.2、检查核函数 7、CUDA记时7.1、记时代码7.2、…

基于Python爬虫的城市二手房数据分析可视化

基于Python爬虫的城市二手房数据分析可视化 一、前言二、数据采集(爬虫,附完整代码)三、数据可视化(附完整代码)3.1 房源面积-总价散点图3.2 各行政区均价3.3 均价最高的10个小区3.4 均价最高的10个地段3.5 户型分布3.6 词云图四、如何更换城市一、前言 二手房具有价格普…

博途通讯笔记1:1200与1200之间S7通讯

目录 一、添加子网连接二、创建PUT GET三、各个参数的意义 一、添加子网连接 二、创建PUT GET 三、各个参数的意义

换根dp,CF 633F - The Chocolate Spree

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 633F - The Chocolate Spree 二、解题报告 1、思路分析 2600的题,但是不算很困难。 先考虑暴力做法,如何得到两条不相交的路径? 枚举删除的边,得到两棵子树…

鼠标自动点击器怎么用?鼠标连点器入门教程!

鼠标自动点击器是适用于Windows电脑的自动执行鼠标点击操作的工具,主要用于模拟鼠标点击操作,实现鼠标高速点击的操作。通过模拟鼠标点击,可以在用户设定的位置、频率和次数下自动执行点击动作。 鼠标自动点击器主要的应用场景: …

数据操作10-15题(30 天 Pandas 挑战)

数据操作 1. 相关知识点1.12 分组与连表1.13 排名 2. 题目2.10 第N高的薪水2.11 第二高的薪水2.12 部门工资最高的员工2.13 分数排名2.14 删除重复的电子邮箱2.15 每个产品在不同商店的价格 1. 相关知识点 1.12 分组与连表 分组max_salaryemployee.groupby(departmentId)[sal…

超简易SpringBoot工程构建与部署 ( 图解 - 零基础专属 )

目录 简单了解MVC架构 模型(Model) 视图(View) 控制器(Controller) 基本环境准备 MYSQL建库建表 创库创表 智能生成数据 创建SpringBoot项目 配置pox.xml 代码提供 补充(IDEA的Maven要配置正确…

用kimi和claude自动生成时间轴图表

做时间轴图表并不难,但是很麻烦,先要大量收集相关事件,然后在一些图表软件中反复调整操作。现在借助AI工具,可以自动生成了。 首先,在kimi中输入提示词来获取某个企业的大事记: 联网检索,元语…

前后端数据交互流程

一、前言 用户在浏览器访问一个网站时,会有前后端数据交互的过程,前后端数据交互也有几种的情况,一下就简单的来说明一下 二、原理 介绍前后端交互前先来了解一下浏览器的功能,浏览器通过渲染引擎和 JavaScript 引擎协同工作&am…

uboot ethernet初始化

在Board_r.c 使用initr_net,先初始化phy,然后初始化gmac,driver/net/gmacv300/gmac.c实现管脚复用和gmac设备注册 Board_r.c #ifdef CONFIG_CMD_NETstatic int initr_net(void){puts("Net: ");eth_initialize();#if defined(CONFIG_RESET_PHY_R)debug("Reset…

计算机视觉 图像融合技术概览

在许多计算机视觉应用中(例如机器人运动和医学成像),需要将来自多幅图像的相关信息集成到一幅图像中。这种图像融合将提供更高的可靠性、准确性和数据质量。 多视图融合可以提高图像的分辨率,同时恢复场景的 3D 表示。多模态融合结合了来自不同传感器的图像,称为多传感器融…

短视频文案提取神器怎么提取抖音视频文案!

很多编导以及视频内容创作者为了提高自己的工作效率还会使用视频转文字提取神器,我们都清楚短视频领域每个平台人群熟悉都有所不同,在分发内容的时候也会调整内容已符合平台属性。 短视频文案提取神器怎么提取抖音视频文案 短视频常见的平台有抖音、西瓜…