【机器学习 | 数据挖掘】时间序列算法
时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序列的方法构成数据分析的一个重要领域,即时间序列分析。以下是对时间序列算法的详细介绍:
一、时间序列的分类
时间序列根据所研究的依据不同,可有不同的分类:
- 按研究对象数量分:有一元时间序列和多元时间序列。
- 按时间连续性分:可分为离散时间序列和连续时间序列两种。
- 按统计特性分:有平稳时间序列和非平稳时间序列。其中,严格的平稳时间序列是指其概率分布与时间t无关的时间序列;而宽平稳时间序列(也叫广义平稳时间序列)是指序列的一、二阶矩存在,而且对任意时刻t满足均值为常数、协方差为时间间隔τ的函数的序列。通常所研究的时间序列主要是宽平稳时间序列。
- 按分布规律分:有高斯型时间序列和非高斯型时间序列。
二、时间序列的变化形式
一个时间序列往往是以下几类变化形式的叠加或耦合:
- 长期趋势变动:指时间序列朝着一定的方向持续上升或下降,或停留在某一水平上的倾向,它反映了客观事物的主要变化趋势。
- 季节变动。
- 循环变动:通常是指周期为一年以上,由非季节因素引起的涨落起伏波形相似的波动。
- 不规则变动:通常分为突然变动和随机变动。
三、常见的时间序列算法
-
移动平均法
- 定义:移动平均法是根据时间序列资料逐渐推移,依次计算包含一定项数的时序平均数,以反映长期趋势的方法。
- 适用场景:当时间序列的数值由于受周期变动和不规则变动的影响,起伏较大,不易显示出发展趋势时,可用移动平均法消除这些因素的影响,分析、预测序列的长期趋势。
- 分类:包括简单移动平均法、加权移动平均法、趋势移动平均法等。
- 简单移动平均法:在求平均时,每期数据的作用是等同的。但这种方法只适合做近期预测,且预测目标的发展趋势变化不大的情况。
- 加权移动平均法:考虑到每期数据所包含的信息量不一样,近期数据包含着更多关于未来情况的信心,因此该方法对近期数据给予较大的权重。
- 趋势移动平均法:当时间序列出现直线增加或减少的变动趋势时,用简单移动平均法和加权移动平均法来预测会出现滞后偏差,因此需要进行修正。修正的方法是作二次移动平均,利用移动平均滞后偏差的规律来建立直线趋势的预测模型。
-
ARIMA算法
- 定义:ARIMA(Autoregressive Integrated Moving Average)即差分自回归移动平均模型,是一种常用的时间序列分析算法,它结合了自回归(AR)、差分(I)和移动平均(MA)三种方法,以模拟和预测时间序列数据。
- 操作步骤:
- 检测平稳性:使用差分和自相关函数等方法,检测原始时间序列数据是否具有平稳性。
- 选择差分阶数:根据平稳性检测结果,选择合适的差分阶数,使得差分序列具有平稳性。
- 选择自回归阶数和移动平均阶数:根据差分序列的自相关函数和偏差平方和等指标,选择合适的自回归阶数和移动平均阶数。
- 建立ARIMA模型:根据选定的差分阶数、自回归阶数和移动平均阶数,建立ARIMA模型。
- 估计模型参数:使用最小二乘法等方法,估计ARIMA模型的参数。
- 验证模型:使用残差检验等方法,验证ARIMA模型的合理性。
- 预测:根据估计的ARIMA模型参数,对未来的数据值进行预测。
- 数学模型公式:ARIMA模型的数学模型公式为“φ(B)(1-B)dΔyt=θ(B)εt”,其中φ(B)是自回归项,θ(B)是移动平均项,B是回归项,d是差分阶数,yt是时间序列数据,εt是白噪声。
-
SARIMA算法
- 定义:SARIMA(Seasonal Autoregressive Integrated Moving Average)即季节性差分自回归移动平均模型,是ARIMA的扩展版本,它在ARIMA的基础上,加入了季节性项,以更好地模拟和预测季节性时间序列数据。
- 操作步骤:与ARIMA算法类似,但增加季节差分处理和季节性阶数的选择。
- 数学模型公式:SARIMA模型的数学模型公式为“φ(B)(1-B)dΔΔsyt=θ(B)εt”,其中Δs是季节差分项。
-
指数平滑法
- 定义:指数平滑法是一种简单的时间序列分析算法,它通过对时间序列数据进行指数平滑,以模拟和预测时间序列数据。指数平滑是指将当前数据值与之前数据值进行加权平均,以得到更准确的预测值。
- 操作步骤:
- 选择平滑因子:根据时间序列数据的平稳性和季节性,选择合适的平滑因子。
- 建立模型:根据选定的平滑因子,建立指数平滑模型。
- 估计模型参数:使用指数平滑公式,估计指数平滑模型的参数。
- 验证模型:使用残差检验等方法,验证指数平滑模型的合理性。
- 预测:根据估计的指数平滑模型参数,对未来的数据值进行预测。
- 数学模型公式:指数平滑模型的数学模型公式为“yt=αyt-1+(1-α)εt-1”,其中yt是时间序列数据,α是平滑因子,yt-1是之前数据值,εt-1是残差。
综上所述,时间序列算法在数据挖掘和机器学习领域具有广泛的应用价值。通过选择合适的算法和参数,可以准确地模拟和预测时间序列数据的变化趋势,为决策提供支持。
相关文章:
【机器学习 | 数据挖掘】时间序列算法
时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序列的方法构成数据分析的一个重要领域,即时间序列分析。以下是对时间序列算法的详细介绍: 一、时间序列的分类 时间序列根据所研究的依据不同,可有不同的分类&#…...
uniapp H5 对接 声网,截图
文章目录 安装依赖创建容器容器样式 javascript代码ImageDataToBlob 方法 控制控制台LOG输出 安装依赖 版本"agora-rtc-sdk-ng": "^4.22.0", 创建容器 <template><view class"videoValue " id"videoValue"><u-toast…...
家谱管理系统|Java|SSM|VUE| 前后端分离
【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库…...
【LeetCode】200、岛屿数量
【LeetCode】200、岛屿数量 文章目录 一、并查集1.1 并查集1.2 多语言解法 二、洪水填充 DFS2.1 洪水填充 DFS 一、并查集 1.1 并查集 // go var sets int var father [90000]intfunc numIslands(grid [][]byte) int {n, m : len(grid), len(grid[0])build(grid, n, m)for i …...
idea报错:There is not enough memory to perform the requested operation.
文章目录 一、问题描述二、先解决三、后原因(了解) 一、问题描述 就是在使用 IDEA 写代码时,IDEA 可能会弹一个窗,大概提示你目前使用的 IDEA 内存不足,其实就是提醒你 JVM 的内存不够了,需要重新分配。弹…...
python ai ReAct 代理(ReAct Agent)
ReAct 代理(ReAct Agent)是一种结合了推理(Reasoning)和行动(Action)的智能代理框架,旨在通过交互式的方式解决复杂任务。ReAct 的核心思想是让代理在完成任务时,能够动态地推理下一…...
HTML入门教程|| HTML 基本标签(2)
HTML 列表 HTML列表 HTML 无序列表 ul 元素表示无序列表。 ul 元素中的项目使用 li 元素表示。 元素没有在HTML5中定义任何属性,并且您使用CSS控制列表的显示。 HTML5中的 type 和 compact 属性已过时。 您可以在以下代码中查看正在使用的 ul 元素。 <!D…...
MySQL root用户密码忘记怎么办(Reset root account password)
在使用MySQL数据库的的过程中,不可避免的会出现忘记密码的现象。普通用户的密码如果忘记,可以用更高权限的用户(例如root)进行重置。但是如果root用户的密码忘记了,由于root用户本身就是最高权限,那这个方法…...
groovy:多线程 简单示例
在Groovy中,多线程编程与Java非常相似,因为Groovy运行在Java虚拟机(JVM)上,并且可以利用Java的所有并发工具。以下是一些在Groovy中实现多线程编程的方法: class MyThread extends Thread {Overridevoid…...
SOME/IP 协议详解——序列化
文章目录 0. 概述1.基本数据序列化2.字符串序列化2.1 字符串通用规则2.2 固定长度字符串规则2.3 动态长度字符串规则 3.结构体序列化4. 带有标识符和可选成员的结构化数据类型5. 数组5.1 固定长度数组5.2 动态长度数组5.3 Enumeration(枚举)5.4 Bitfield…...
三、GIT与Github推送(上传)和克隆(下载)
GIT与Github推送(上传)和克隆(下载) 一、配置好SSH二、在Github创建仓库三、git克隆(下载)文件四、git推送(上传)文件到远程仓库 一、配置好SSH Git与Github上传和下载时需要使用到…...
18.2、网络安全评测技术与攻击
目录 网络安全测评技术与工具网络安全测评质量管理和标准 网络安全测评技术与工具 漏洞扫描技术可以用于测评,测评你安不安全,也可以用来风险评估安不安全,风险大不大 漏洞扫描包含网络安全漏洞扫描、主机安全漏洞扫描,还有数据…...
在 ArcGIS Pro/GeoScene Pro 中设计专题地图的符号系统
原始 按颜色对面进行符号化 打开符号系统 选择主符号系统 选择字段及其计算方式 更改临界值</...
CSS2笔记
一、CSS基础 1.CSS简介 2.CSS的编写位置 2.1 行内样式 2.2 内部样式 2.3 外部样式 3.样式表的优先级 4.CSS语法规范 5.CSS代码风格 二、CSS选择器 1.CSS基本选择器 通配选择器元素选择器类选择器id选择器 1.1 通配选择器 1.2 元素选择器 1.3 类选择器 1.4 ID选择器 1.5 基…...
移动端如何实现上拉加载
一、理解上拉加载的原理 上拉加载是一种在移动端很常见的交互方式,其原理是当用户在页面上向上滑动(即滚动条接近底部)时,触发一个加载更多数据的操作。这通常涉及到对滚动事件的监听以及判断滚动位置是否达到了触发加载的阈值。…...
【mysql】linux安装mysql客户端
参考文章: MySQL系列之如何在Linux只安装客户端 linux下安装mysql客户端client MySQL Community Downloads 查看linux版本方法: lsb_release -a cat /proc/version下载文件: rpm -ivh mysql-community-*可以删除错误的包: RP…...
YOLOv5部署到web端(flask+js简单易懂)
文章目录 前言最终实现效果图后端实现 主界面检测函数检测结果显示 前端实现 主界面(index.html)显示图片界面 总结 前言 最近,老板让写一个程序把yolov5检测模型部署到web端,在网页直接进行目标检测。经过1个星期的努力,终于实…...
【机器学习】深度学习(DNN)
文章目录 1. 神经网络结构2. 训练步骤3. 反向传播4. 为什么深,而不是宽(模块化)5. 初始化参数能否全为0? 1. 神经网络结构 输入层隐藏层:用于特征转换输出层:用于分类技巧:将网络中的参数写成矩…...
12.30-1-5学习周报
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 文章链接摘要Abstract一、方法介绍1.HAT-CIR2.Horde3.DWGRNet 二、实验总结 文章链接 https://arxiv.org/pdf/2405.04101 摘要 本博客介绍了论文《Continual lea…...
【MySQL】数据操作
数据操作 一、INSERT1、介绍2、语法3、语法介绍4、注意事项5、示例 二、插入否则更新1、介绍2、语法3、语法介绍4、示例 三、ROW_COUNT1、介绍2、示例 四、REPLACE1、介绍2、语法3、示例 五、UPDATE1、介绍2、语法3、示例 六、DELETE1、介绍2、语法3、语法介绍 七、TRUNCATE1、…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
