工业大数据分析算法实战-day12

news2024/12/23 11:43:58

文章目录

  • day12
    • 时序分解
      • STL(季节性趋势分解法)
      • 奇异谱分析(SSA)
      • 经验模态分解(EMD)
    • 时序分割
      • Changpoint
      • TreeSplit
      • Autoplait
      • 有价值的辅助
    • 时序再表征

day12

今天是第12天,昨天主要是针对信号处理算法,可以提取出设备时序数据的时频特征为主,今日主要针对之前提到的8种算法中的时序分解、时序分割、时序再表征进行阐述

时序分解

工业上大多数设备通常都是呈现多尺度的效应,不同时间颗粒度上的规律和驱动因素各不相同,有些变化只在部分尺度上有所体现,比如常见的电力负荷预测,多半会将其分解为:趋势项(宏观经济和市场相关)、周期项(日历周期相关)、残余项(可以用天气、自回归项去拟合)。常见的时序分解的算法又:STL、奇异谱分析(SSA)、经验模态分解(EMD)、小波分析分解、SuperSmooth、传统的线性滤波等

STL(季节性趋势分解法)

核心功能:STL方法通过分解时间序列为 趋势(Trend)季节性(Seasonal)残差(Remainder),帮助我们理解数据的长期变化趋势、周期性波动以及随机噪声部分。这个方法特别适合季节性变化明显的时间序列。

算法流程

  1. 平滑趋势成分:使用局部加权回归(Loess)方法平滑时间序列,得到数据的 长期趋势
  2. 提取季节性:将趋势成分从原始数据中去除,然后通过计算季节性成分的平均值来提取 周期性的季节性波动
  3. 计算残差:将趋势和季节性成分从原始数据中减去,剩下的部分是 残差,通常是一些随机噪声或其他未捕捉到的模式。

举例:假设你在分析一年中每日的温度数据。STL可以帮助你分解出:

  • 一年内温度的 长期上升或下降趋势(如全球变暖趋势),
  • 每年季节性波动的 周期性波动(例如,夏季高温、冬季低温),
  • 余下的 异常波动和噪声(如某些天气突变)。

奇异谱分析(SSA)

核心功能:奇异谱分析(SSA)通过将时间序列转换为矩阵,利用矩阵的 奇异值分解(SVD) 技术,提取出时间序列中的趋势和周期成分。SSA适合从复杂的信号中提取出周期性成分,广泛应用于信号处理、降噪等领域。

算法流程

  1. 构造轨迹矩阵:将时间序列切分为多个重叠的小窗口,每个窗口包含一段时间的数据。将这些窗口按列组成一个矩阵。
    • 比如,你有一个长度为10的时间序列,你选择一个长度为5的窗口,构造一个包含5列的矩阵。
  2. 奇异值分解(SVD):对矩阵进行奇异值分解(SVD),得到奇异值和奇异向量。
    • 奇异值代表了不同时间成分的重要性,奇异向量代表了这些成分的模式。
  3. 重构信号:选择主要的奇异值和对应的奇异向量,重构出信号的 趋势 和 周期性成分
    • 例如,提取出信号的 低频成分(长期趋势)和 高频成分(周期波动)。
  4. 选择有用成分:根据需要,选择最能反映数据特征的成分,去除无关噪声。

举例:假设你在分析股票价格的波动。SSA可以帮助你从复杂的股市波动中提取出:

  • 长期趋势(例如股市上涨或下跌的趋势),
  • 周期性波动(例如股市在某个周期内的涨跌波动),
  • 以及 随机噪声(例如股市的突发性变化)。

经验模态分解(EMD)

核心功能:EMD是一种 自适应 的时序分解方法,通过不断提取时间序列中的 本征模态函数(IMF)趋势项,分解出多尺度的信号成分。EMD特别适用于非线性和非平稳的数据,能够动态适应数据的频率变化。

算法流程

  1. 局部极值提取:首先从时间序列中提取局部的极大值和极小值,然后通过这两个极值拟合出上下包络线。
  2. 计算局部均值:上下包络线的平均值即为当前信号的局部均值。
  3. 去除均值:将当前信号减去局部均值,得到 本征模态函数(IMF),这部分信号是频率较高的成分。
  4. 迭代过程:从原始数据中去除该IMF后,剩下的部分继续进行同样的过程,直到剩余部分为一个趋势项,即频率较低的成分。
  5. 分解完成:最终会得到若干个本征模态函数(IMF)和一个趋势项。

举例:假设你正在分析海洋波浪的数据。EMD能够帮助你将波浪信号分解成多个 频率不同的成分,其中:

  • 高频部分可能代表了快速波动(例如海面的小波动),
  • 低频部分代表了较大的趋势变化(如潮汐的变化)。
方法核心功能适用场景优点缺点
STL基于Loess回归分解为趋势、季节性、残差。季节性明显的时间序列(如气温、销售数据)。对非线性趋势和季节性变化自适应,灵活。对噪声敏感,可能导致过拟合。
SSA通过奇异值分解提取周期性和趋势成分。存在周期性波动的时间序列。对周期性信号提取强大,有较好去噪效果。对窗口选择敏感,计算复杂度高。
EMD自适应分解为多个本征模态函数(IMF)和趋势项。非线性、非平稳信号(如复杂的自然现象)。可以处理复杂的非线性信号,灵活。计算复杂,可能存在伪模态和端点效应。

时序分割

一般就常识而言,每个设备都有好几种运行的工况,在不同工况下,其数据特点可能是明显不同的,有的时候是存在明确的划分规则的,但是有的却没有细分或者就是自然运行产生的,为此希望通过数据中找到一定的规律,自动挖掘其阶段变化的分割点,这里会阐述3种经典的分割方式:Changpoint、TreeSplit、Autoplait

Changpoint

核心功能:Changpoint 方法主要用于时间序列数据的变化点检测。它的目标是找出时间序列中存在的结构变化点(例如数据分布、趋势或周期的变化),这些变化点通常表示系统运行状态的改变。在许多工程和物理系统中,不同的运行工况可能导致数据的统计特性发生变化,Changpoint 就是帮助识别这些变化点。

实现流程

  • 数据预处理:首先对原始时间序列进行预处理,包括去噪、平滑等操作。
  • 变化点检测:通过统计方法检测序列中潜在的变化点。常见的方法包括:
    • AMOC (Adaptive Monitoring of Change): AMOC 基于滑动窗口和统计检验来检测数据中的突变点,适用于实时监控。
    • SegNeigh:基于邻域分割的策略,通过对时间序列数据进行分段,找出变化点的位置。
  • 优化与验证:通常通过最小化误差或通过交叉验证来优化模型,确保所找到的变化点能够有效分割不同工况阶段。

举例:假设有一个生产设备的振动数据,随着工况的变化,振动频率会发生明显的改变。使用 Changpoint 方法,系统可以自动识别出不同的运行工况变化点。例如,在设备启动时,振动数据波动较大,而当设备稳定运行时,波动幅度明显减小,系统会通过 AMOC 方法发现这些变化,并自动划分为不同的阶段。

TreeSplit

核心功能:TreeSplit 方法通过对数据进行符号化处理,将连续的时间序列数据转化为离散的符号序列,然后利用特征提取和聚类算法识别不同的阶段。其主要优势是能够在数据具有复杂变化模式的情况下,自动从中提取出潜在的阶段性结构。

实现流程

  • 数据符号化:首先通过 HOG(Histogram of Oriented Gradients,方向梯度直方图)方法将时间序列的每个时间点转换为一个符号或类别。这一过程将连续的信号转换为离散的特征符号,简化数据的表示。
  • 窗口特征提取:然后,将时间序列按窗口划分,提取每个窗口中的特征。例如,可以提取每个窗口内的统计量,如均值、方差等。
  • 聚类:基于窗口特征,使用聚类算法(如GMM)对窗口进行聚类,从而确定时间序列中的不同阶段。聚类结果将帮助标定不同的运行阶段或工况。

举例:假设有一个电机的电流信号,电流信号在不同工况下会呈现不同的变化模式。通过 TreeSplit 方法,首先将电流信号的每个数据点用 HOG 方法转化为一个符号,然后按时间窗口提取出每个窗口内的特征(如均值、最大值等),再通过聚类算法发现电流信号的不同模式。最终,系统将自动将整个电流信号分割为多个阶段,例如启动阶段、稳态阶段和关停阶段。

Autoplait

核心功能:Autoplait 方法通过隐马尔可夫模型(HMM)最小描述长度(MDL) 准则自动分割时间序列数据。它的核心思想是使用隐马尔可夫模型建模时间序列的不同阶段,并通过最小描述长度原则选择最优的分割点,使得模型在描述数据时的复杂度最小。

实现流程

  • HMM 建模:首先使用隐马尔可夫模型(HMM)对时间序列进行建模。HMM 可以用来描述不同阶段之间的转移关系,每个隐状态代表时间序列的一个阶段。
  • 最小描述长度(MDL):在模型训练过程中,Autoplait 通过最小描述长度原则来选择合适的模型参数。MDL 旨在寻找能够有效描述数据的模型,同时避免过拟合。通过对比不同分割方案的描述长度,选择最能描述数据结构的分割点。
  • 自动分割:根据 HMM 模型和 MDL 原则,系统自动识别并分割时间序列中的不同阶段。

举例:假设我们有一个设备的温度监测数据,目标是根据这些数据自动分割出设备的不同工作阶段(例如启动、运行、关停等)。数据如下:

时间温度
025
130
250
360
458
540
630

在这个例子中,设备温度在时间 t=2 时发生了变化,假设在 t=0-2 是启动阶段,t=3-5 是运行阶段,t=6 是关停阶段。

步骤 1:HMM 建模:

  • Autoplait 会基于温度数据,假设有三个隐状态:S1(启动),S2(运行),S3(关停)。
  • 对于每个状态,HMM 会估计对应的温度分布(例如,高斯分布),并且会估计隐状态之间的转移概率。

步骤 2:MDL 评估分割点

  • Autoplait 会尝试不同的分割点,假设试验以下两种分割:
    • 方案 1:将数据分为两个阶段,分别是:S1(启动阶段)和 S2(运行阶段)。从 S2S3 的转移发生在 t=5
    • 方案 2:将数据分为三个阶段,分别是:S1(启动阶段),S2(运行阶段),S3(关停阶段)。从 S1S2 的转移发生在 t=2,从 S2S3 的转移发生在 t=5
  • Autoplait 会为每种分割方案计算其 模型复杂度和 数据拟合误差:
    • 方案 1:模型较简单,只有两个阶段,转移较少,但拟合误差可能较大。
    • 方案 2:模型较复杂,有三个阶段,拟合误差可能较小,但模型复杂度较高。

步骤 3:选择最佳分割点

  • 计算每种分割方案的 描述长度(包含模型复杂度和拟合误差)。
  • 描述长度较小的方案会被选为最终的分割方案。

最终,Autoplait 会选择 描述长度最小的分割点,假设是方案 2(即在 t=2t=5 进行分割),那么它就会将时间序列分为 启动、运行、关停 三个阶段。

有价值的辅助

时序分割实则属于无监督学习,聚类结果依赖于样本分布和距离函数定义,若产生有意义的结果一般会有以下5种方法

  • 提供手工标记:针对一个典型数据集合,人工打标模式
  • 典型模式样本库:算法根据其匹配相似度进行发掘
  • 改变样本分布:多提供感兴趣的区域样本
  • 业务知识粗分区:在每个分区进行细分聚类
  • 信号分解算法:将原始的时序数据进行分解,对主要成分进行模式聚类

时序再表征

对于高维数据,中间混杂着噪声和无关紧要的数据,为数据挖掘算法带来了一定的干扰,因此需要将原始数据进行再表征并降低维度。下图是一些时序再表征的方法,最上面第一个曲线是原始曲线,第二个曲线是时序再表征后的曲线,而下面陈列的是不同特征组成的曲线。

在这里插入图片描述

再表征算法的介绍和示例

算法核心功能示例
PAA (Piecewise Aggregate Approximation)PAA通过将时间序列划分为若干等长段,每段取该段的平均值来简化序列,达到数据降维的效果。这种方法可以有效减少数据点的数量,从而降低计算复杂度,适用于大规模数据分析和快速处理。将温度传感器数据每5分钟取一次温度,按每小时的数据段取平均值表示,得到简化后的时间序列。
PLA (Piecewise Linear Approximation)PLA通过将时间序列分成若干段,并用线性段来逼近每段数据,保留数据的趋势变化。相比PAA,PLA能够更好地近似数据的变化模式,但计算复杂度较高。用直线段拟合股票价格的波动趋势,每个线段对应价格变化的一部分,捕捉价格波动的走向。
PIP (Piecewise Information Preserving)PIP方法通过分段,每段选择具有代表性的信息点,从而最大限度地保留时间序列中的关键信息。它能更精确地保留数据的特征,适用于对数据精度有较高要求的任务。对心电图(ECG)信号进行分段,每段选取最具代表性的数据点,以保留信号的关键信息。
SMA (Simple Moving Average)SMA通过滑动窗口计算时间序列中每个数据点及其周围点的平均值,起到平滑波动的作用。它主要用于去除噪声并突出长期趋势,适用于稳定的数据。对每日气温数据使用3天滑动平均进行平滑,去除短期波动,显示长期趋势。
Auto EncoderAuto Encoder是基于神经网络的模型,通过编码器将输入数据压缩到低维空间,再通过解码器重建原始数据。它能够学习数据中的潜在特征,广泛用于复杂数据的降维和异常检测。对手写数字图像数据进行降维,通过自编码器提取低维特征并重建图像,进行数字识别。

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

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

相关文章

基于Python Scrapy的豆瓣Top250电影爬虫程序

Scrapy安装 Python实现一个简单的爬虫程序(爬取图片)_python简单扒图脚本-CSDN博客 创建爬虫项目 创建爬虫项目: scrapy startproject test_spider 创建爬虫程序文件: >cd test_spider\test_spider\spiders >scrapy g…

【Linux系统编程】:信号(2)——信号的产生

1.前言 我们会讲解五种信号产生的方式: 通过终端按键产生信号,比如键盘上的CtrlC。kill命令。本质上是调用kill()调用函数接口产生信号硬件异常产生信号软件条件产生信号 前两种在前一篇文章中做了介绍,本文介绍下面三种. 2. 调用函数产生信号 2.1 k…

腾讯云智能结构化OCR:以多模态大模型技术为核心,推动跨行业高效精准的文档处理与数据提取新时代

🎼个人主页:【Y小夜】 😎作者简介:一位双非学校的大三学生,编程爱好者, 专注于基础和实战分享,欢迎私信咨询! 🎆入门专栏:🎇【MySQL&#xff0…

内核执行时动态的vmlinux的反汇编解析方法及static_branch_likely机制

一、背景 在之前的博客里,我们讲到了tracepoint(内核tracepoint的注册回调及添加的方法_tracepoint 自定义回调-CSDN博客)和kprobe(获取任意一个进程的共享内存的fd对应的资源,增加引用,实现数据的接管——…

Burp与其他安全工具联动及代理设置教程

Burp Suite 是一款功能强大的 Web 安全测试工具,其流量拦截和调试功能可以与其他安全工具(如 Xray、Yakit、Goby 等)实现联动,从而提升渗透测试的效率。本文将详细讲解 Burp 与其他工具联动的原理以及代理设置的操作方法&#xff…

Git配置公钥步骤

GIt公钥的配置去除了git push输入账号密码的过程,简化了push流程。 1.生成SSH公钥和私钥 ssh-keygen -t rsa -b 4096 -C “your_emailexample.com” 遇到的所有选项都按回车按默认处理。获得的公钥私钥路径如下: 公钥路径 : ~/.ssh/id_rsa.pub 私钥路径…

【蓝桥杯选拔赛真题96】Scratch风车旋转 第十五届蓝桥杯scratch图形化编程 少儿编程创意编程选拔赛真题解析

目录 scratch风车旋转 一、题目要求 编程实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、python资料 scratc…

未来 AI 在企业应用中的重心

1. LLM 中精度、参数、数据、性能、以及成本之间的权衡是什么? 在大型语言模型(LLM, Large Language Models)中,精度、参数数量、训练数据量、性能和成本之间的权衡是一个复杂且多维度的问题。以下是这些因素之间关系的简要分析&…

Docker 安装 禅道-21.2版本-外部数据库模式

Docker 安装系列 1、拉取最新版本(zentao 21.2) [rootTseng ~]# docker pull hub.zentao.net/app/zentao Using default tag: latest latest: Pulling from app/zentao 55ab1b300d4b: Pull complete 6b5749e5ef1d: Pull complete bdccb03403c1: Pul…

排序算法 (插入,选择,冒泡,希尔,快速,归并,堆排序)

排序:经常在算法题中作为一个前置操作,为了之后的贪心or else做个铺垫,虽然我们经常都只是调用个sort,但是了解一些排序算法可以扩充下知识库 排序的分类: 从存储设备角度: ✓ 内排序:在排序过程中所有数据元素都在内存中; ✓ 外排序&a…

web复习(五)

一、补零 二、打印出五行五列的星星 三、用户输入行数和列数并打印相应行数和列数的⭐ 四、打印倒三角星星(第一行一个,第二行两个...,以此类推) 五、用户输入秒数,可以自动转换为时分秒 六、随机点名

法规标准-C-NCAP评测标准解析(2024版)

文章目录 什么是C-NCAP?C-NCAP 评测标准C-NCAP评测维度三大维度的评测场景及对应分数评星标准 自动驾驶相关评测场景评测方法及评测标准AEB VRU——评测内容(测什么?)AEB VRU——评测方法(怎么测?)车辆直行与前方纵向行走的行人测试场景&…

XRP价格跌破2.20美元 1.94美元是否下一波牛市的关键支撑?

原文转自:XRP价格跌破2.20美元 1.94美元是否下一波牛市的关键支撑? - 币热网 - 区块链数字货币新闻消息资讯 XRP价格经历剧烈波动后强势反弹,$1.94或成新牛市关键支撑 在过去24小时内,XRP价格经历了一场过山车式的剧烈波动。价…

centos-stream9系统安装docker

如果之前安装过docker需要删除之前的。 sudo dnf -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine 安装yum-utils工具: dnf -y install yum-utils dnf-plugin…

H264编解码标准码流分析:SPS语法

H264编解码标准 SPS 语法解析 解释:H264编解码标准中的SPS(Sequence Parameter Set,序列参数集)是一组编码视频序列的全局参数,包含了视频编码序列的基本属性和配置信息。分析工具:elecard streamEye、elecard StreamAnalyzer、h264Visa 等elecard StreamAnalyzer 展示形…

使用 AI 辅助开发一个开源 IP 信息查询工具:一

本文将分享如何借助当下流行的 AI 工具,一步步完成一个开源项目的开发。 写在前面 在写代码时,总是会遇到一些有趣的机缘巧合。前几天,我在翻看自己之前的开源项目时,又看到了 DDNS 相关的讨论。虽然在 2021 年我写过两篇相对详细的教程&am…

门控循环单元(GRU):深度学习中的序列数据处理利器

目录 ​编辑 引言 GRU的诞生背景 GRU的核心机制 GRU的计算过程 GRU的数学公式 GRU的应用领域 代码示例:PyTorch中的GRU GRU与LSTM的比较 参数比较 GRU的技术发展 BiGRU(双向GRU) BiGRU的实现示例 GRU与CNN的结合 GRU的应用案例…

Sui 基金会任命 Christian Thompson 为新任负责人

Sui 基金会是专注于推动 Sui 蓬勃发展的生态增长与采用的机构。近日,基金会宣布任命 Christian Thompson 为新任负责人。在 Sui 主网发布的开创性一年里,Sui 凭借其无与伦比的速度、可扩展性和效率,迅速崛起为领先的 Layer 1 区块链之一&…

Vue2五、商品分类:My-Tag表头组件,My-Table整个组件

准备: 安包 npm less less-loader。拆分:一共分成两个组件部分: 1:My-Tag 标签一个组件。2:My-Table 整体一个组件(表头不固定,内容不固定(插槽)) 一&…

mysql运维篇笔记——日志,主从复制,分库分表,读写分离

目录 日志 错误日志 二进制日志 查询日志 慢查询日志 主从复制 概念: 优点: 原理: 搭建: 1,服务器准备 2,主库配置 3,从库配置 4,测试 分库分表: 介绍 问题分析 中心思想…