【学习资源】时间序列数据分析方法(2)-mWDN和AutoEncoder

接着上次的【学习资源】时间序列数据分析方法(1)-CSDN博客,本次介绍mWDN和AutoEncoder 解决时序数据分类的方法。介绍模型原理、应用场景和参考代码。也从模型性能、训练效率、模型复杂度、计算复杂度、可解释性、适应性和泛化能力、健壮性、数据需求等方面介绍模型的优点和缺点。

1 mWDN

1.1 原理

mWDN是指 Multilevel Wavelet Decomposition Network for Interpretable Time Series Analysis ,分析时序数据的频域特征,将小波分析与深度学习融合。

参考来源:https://arxiv.org/abs/1806.08946  arXiv:1806.08946 [cs.LG]

论文摘要

近年来,几乎所有学术和工业领域的时间序列都出现了前所未有的增长。各种深度神经网络模型已被引入时间序列分析,但重要的频率信息仍然缺乏有效的建模。鉴于此,本文提出了一种基于小波的神经网络结构,称为多级小波分解网络(mWDN),用于构建时间序列分析的频率感知深度学习模型。mWDN保留了多级离散小波分解在频率学习中的优势,同时可以在深度神经网络框架下对所有参数进行微调。基于mWDN,我们进一步提出了两个深度学习模型,分别称为残差分类流(Residual Classification Flow,RCF)和多频率长短期记忆(multi-frequecy Long Short-Term Memory,mLSTM),用于时间序列分类和预测。这两个模型将不同频率的所有或部分mWDN分解子序列作为输入,并采用反向传播算法全局学习所有参数,从而将基于小波的频率分析无缝嵌入到深度学习框架中。在40个UCR数据集和一个真实用户数据集上进行的广泛实验表明,我们基于mWDN的时间序列模型具有卓越的性能。特别是,我们为基于mWDN的模型提出了一种重要性分析方法,该方法能够成功识别出对时间序列分析至关重要的那些时间序列元素和mWDN层。这确实表明了mWDN的可解释性优势,可以被视为对可解释深度学习的深入探索。

代码使用模型说明:https://timeseriesai.github.io/tsai/models.mwdn.html

代码来源

https://github.com/JacobWang95/mWDN

关于小波分析,可参考【工程数学】笔记3:数字信号处理_brick-wall filter-CSDN博客

1.2 优点和缺点

表1 mWDN的优点和缺点

优点缺点
模型性能

在处理非平稳时序数据时表现优越,因其通过小波变换捕捉多频率特征,提升了模型的准确性。

性能可能依赖于参数选择的准确性,例如小波函数类型和分解层数。

训练效率

在处理具有良好结构的时序数据时,可能较传统方法更快达到理想性能。

由于多级小波分解和神经网络的结合,训练时间可能较长,尤其在资源有限的情况下。

模型复杂度

多层结构允许更细致的特征提取,适合复杂数据分析。

高度复杂的模型结构可能导致理解和调试的难度增加。

计算复杂度

有效处理高维度数据,保持了较高的信息完整性。

高计算需求,尤其在大规模数据处理时,需要更多硬件资源支持。

可解释性

小波变换的多层次分解提供了比传统神经网络更高的可解释性。

尽管比黑箱模型更好,整体可解释性仍然有待提高,尤其在面对非技术用户时。

适应性和泛化能力

能够在不同特征频率的时序数据上保持良好性能,体现出较强的泛化能力。

若参数未优化好,可能导致在某些特定场景下的适应性不足。

健壮性

对噪声数据具有较好的鲁棒性,能够提取有价值的信号。

如果噪声特征与真实信号频率接近,可能难以分辨。

数据需求

能够在较小数据集上启动有效的学习过程,但需要较大数据集以获得最佳性能。

仍然需要大量标注数据以充分训练模型,尤其在多样性高的数据集中。

1.3 应用场景

适用于非平稳时序数据分析、复杂信号处理、高解释性的应用、噪声健壮性需求以及动态环境下的实时分析。

1.4 参考代码

[TPS-Apr] Let's go over the wall - mWDN | Kaggle

【演示】用mWDN分类时序数据UCR LSST

使用数据集数据集:UCR LSST,此案例CPU运行时间可以忍耐,可以不用GPU

https://github.com/bettermorn/IAICourse/blob/main/Code/TSAI/16_CPU_Jump_Time_Series_Classification_with_mWDN.ipynb

2 AutoEncoder

2.1 原理

AutoEncoder是一个有点历史的概念了,Hinton2006年提出了AutoEncoder,参考论文

Hinton, Geoffrey E., and Ruslan R. Salakhutdinov. "Reducing the dimensionality of

data with neural networks." Science 313.5786 (2006): 504-507

图片来源:

Hinton, Geoffrey E., and Ruslan R. Salakhutdinov. "Reducing the dimensionality of

data with neural networks." Science 313.5786 (2006): 504-507

自编码器分编码器和解码器两个部分,编码器通过降维的方法抓住输入对象最本质的特征,也即内部表示,而解码器根据本质特征再还原出原始输入对象。自编码器类似于识别主要模式的检测器。对异常输入对象来说,在编码器的环节无法发现与正常值相同的本质特征,所以解码器在还原出原始输入对象就会比较困难,这样,异常值就显现出来了。这种设计很巧妙。

自编码器的本质是无监督学习。

相比使用线性代数转换降维的PCA,自编码器技术可以通过其非线性激活函数和多层结构进行非线性转换。用自编码器训练多层结构比用PCA训练一个巨大的转换结构更有效。因此,当数据问题复杂且具有非线性性质时,自编码器技术就显示出其优势。

2.2 优点和缺点

优点如下

轻松处理高维数据。

非线性特点,可以找到复杂的模式。

缺点如下

成本较高。

优点缺点
模型性能

自编码器能够有效地对数据进行特征提取和降维,在保留主要信息的同时去除冗余。

对于复杂的高维数据,重构的精确性可能较差。

训练效率

结构相对简单的自编码器通常收敛较快,适合快速特征提取任务。

需要大量数据进行训练,以保证模型的泛化能力和稳定性。

模型复杂度

具有灵活的结构设计,可以调整层数和节点数以适应不同的任务需求。

如果设计不当,可能导致模型复杂度过高,增加计算和存储开销。

计算复杂度

相比于其他深度模型,基本的自编码器计算复杂度较低。

增加模型深度和卷积层等复杂结构时,计算需求会显著增加。

可解释性

通过学习紧凑的低维表示,可以在一定程度上解释特征的主要变化方向。

作为黑箱模型,输出编码通常不具备良好的可解释性。

适应性和泛化能力

对新数据的适应能力强,尤其适用于无监督学习场景。

如未进行适当的正则化,可能导致过拟合,影响泛化能力。

健壮性

去噪自编码器(Denoising AutoEncoder)在处理有噪声的数据时表现较好。

对极端噪声和异常值的敏感度较高,可能影响重构质量。

数据需求

在处理特定任务时,通常可以在无标签数据上训练。

对于复杂任务,需要大规模数据集来捕捉全面的特征信息。

2.3 应用场景

图像去噪:利用降温的特点获取主要特征。

异常检测:分析重构误差,可识别异常。

数据压缩:符合降维的本质。

特征生成与提取:降维的本质就是获取主要特征。

图像生成,例如

  • 变分自编码器(Variational AutoEncoder, VAE)可用于生成与输入相似的图像数据。

举例来说,如果要用AutoEncoder处理异常,过程如下

  1. 在正常数据子集上训练自编码器。
  2. 比较自编码器在正常数据子集和异常数据子集上的判据。
  3. 定义一个阈值,以便我们安全地将数据分类为异常或正常。

其中第三步比较难,如果我们对问题理解不深入,没有使用正确的工具,可能无法得出较好的结果。

训练自编码器的过程和其他多层感知器组成的神经网络类似,包括以下内容:

  • ReLU 激活层用于提高自编码器学习非线性表征的能力。

  • 使用堆叠线性层(a stack of linear layers可以增加网络的深度,而且收敛速度更快。

  • 编码器会逐步将输入数据压缩为更小的内部表示。这是为了使自编码器通过丢弃不必要的信息来学习有意义的数据表示。

训练自编码器,需要设定标准或损失函数以及优化策略。对时间序列数据,使用基于残差(每个时间步的目标值与输出值相减得到的误差值)的损失函数(可使用平均绝对误差或 L1 损失)和性能稳健的Adam优化器。

2.4 参考代码

GitHub - vincrichard/LSTM-AutoEncoder-Unsupervised-Anomaly-Detection: University Project for Anomaly Detection on Time Series data

Time Series ECG Anomaly Detection w Autoencoders | Kaggle

如前所述,因为AutoEncoder涉及到两个神经网络的训练,必须要用GPU。

参考视频

【演示】用AutoEncoder检测心电图ECG异常

本次介绍了mWDN和AutoEncoder,下次再来介绍一些解决时序数据相关问题的模型。

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

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

相关文章

[LeetCode力扣hot100]-链表

相交链表 160. 相交链表 - 力扣(LeetCode) 思路就是遍历两个链表,有相同的部分就可以视为相交。 但是长度不一样,比如两个会相交的链表,headA 的长度为 a c,headB 的长度为 b c,其中 c 是公…

JAVA EE初阶 - 预备知识(四)

一、API API 即应用程序编程接口(Application Programming Interface),是一组定义、协议和工具,用于不同软件组件、应用程序或系统之间进行交互和通信。以下从多个方面详细介绍 API: 基本概念 接口规范:A…

【TI C2000】F28002x的系统延时、GPIO配置及SCI(UART)串口发送、接收

【TI C2000】F28002x的系统延时、GPIO配置及SCI(UART)串口发送、接收 文章目录 系统延时GPIO配置GPIO输出SCI配置SCI发送、接收测试附录:F28002x开发板上手、环境配置、烧录及TMS320F280025C模板工程建立F28002x叙述烧录SDK库文件说明工程建…

亲测有效!使用Ollama本地部署DeepSeekR1模型,指定目录安装并实现可视化聊天与接口调用

文章目录 一、引言二、准备工作(Ollama 工具介绍与下载)2.1 Ollama介绍2.2 Ollama安装 三、指定目录安装 DeepSeek R1四、Chatbox 可视化聊天搭建4.1 Chatbox下载安装4.2 关联 DeepSeek R1 与 Chatbox 的步骤 五、使用 Ollama 调用 DeepSeek 接口5.1 请求…

期权隐含波动率是什么意思?

财顺小编本文主要介绍期权隐含波动率是什么意思?期权隐含波动率(Implied Volatility)是根据当前期权市场价格,利用期权定价模型(如Black-Scholes模型)推导出的关于合约标的理论上的价格波动率。它反映了市场…

Python 面向对象的三大特征

前言:本篇讲解面向对象的三大特征(封装,继承,多态),还有比较细致的(类属性类方法,静态方法),分步骤讲解,比较适合理清楚三大特征的思路 面向对象的…

Jmeter如何计算TPS

1.在jmeter中计算出接口请求的个数 1175 1172 1172 174 200 416 384 1174 5867 2.计算接口平均响应时间 计算每个接口的请求次数乘以平均响应时间,所有接口相加,然后除以所有接口的数量总和,得到接口的平均响应时间 (1175*18191172*…

github上文件过大无法推送问题

GitHub 对文件大小有限制,超过 100 MB 的文件无法直接推送到仓库中。 解决思路: 使用 Git Large File Storage (Git LFS) 来管理大文件不上传对应的大文件 使用Git LFS: 1. 安装 Git LFS 首先,你需要安装 Git LFS。可以按照以…

Httprint 指纹识别技术:网络安全的关键洞察

引言 Http指纹识别现在已经成为应用程序安全中一个新兴的话题,Http服务器和Http应用程序安全也已经成为网络安全中的重要一部分。从网络管理的立场来看,保持对各种web服务器的监视和追踪使得Http指纹识别变的唾手可得,Http指纹识别可以使得信…

docker push镜像到阿里云

阿里云账号 阿里云-计算,为了无法计算的价值 开通个人镜像容器 进入控制台,试用容器 实例列表界面 点击上图中的个人,个人版特性 创建个人版: 个人版实例界面: 设置密码 个人版实例: 创建镜像仓库 如上…

【C#零基础从入门到精通】(二十六)——C#三大特征-多态详解

【C#零基础从入门到精通】(二十六)——C#三大特征-多态详解 在 C# 中,多态是面向对象编程的重要特性之一,它允许不同的对象对同一消息做出不同的响应。多态可以分为静态多态和动态多态,下面将详细介绍它们以及各自包含的知识点。 多态概述 多态性使得代码更加灵活、可扩展…

大模型与智能体:螺旋共生,绘就智能新蓝图

大模型与智能体:螺旋共生,绘就智能新蓝图 在人工智能的前沿领域,大模型与智能体宛如两颗璀璨的星辰,以一种精妙的螺旋共生关系,重塑着智能世界的格局,深刻影响着我们生活与工作的方方面面。 大模型&#x…

第2章 信息技术发展(一)

2.1 信息技术及其发展 2.1.1 计算机软硬件 计算机硬件(Computer Hardware)是指计算机系统中由电子、机械和光电元件等组成的各种物理装置的总称。 计算机软件 (Computer Software)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述; 文档…

蓝桥杯篇---超声波距离测量频率测量

文章目录 简介第一部分:超声波的简介工作原理1.发射超声波2.接收反射波3.计算时间差4.计算距离 硬件连接1.Trig2.Echo 示例代码代码说明注意事项1.声速2.延时精度3.硬件连接 第二部分:频率测量简介频率测量原理1.信号输入2.计数3.计算频率 硬件连接示例代…

CentOS系统docker配置镜像加速registry-mirrors,配置阿里云和道客

1.可用仓库 1.1.阿里云 2022年之后的镜像缺失(因为被墙了),但是网速极快 https://g4f7bois.mirror.aliyuncs.com1.2.上海道客 持续更新,但是网速极慢 https://docker.m.daocloud.io2.CentOS配置脚本 注意顺序。阿里云的放前…

DeepSeek24小时写作机器人,持续创作高质量文案

内容创作已成为企业、自媒体和创作者的核心竞争力。面对海量的内容需求,人工创作效率低、成本高、质量参差不齐等问题日益凸显。如何在有限时间内产出高质量内容?DeepSeek写作机器人,一款24小时持续创作的智能工具,为企业和个人提…

【Elasticsearch】simple_query_string

Elasticsearch 的simple_query_string查询是一种灵活且容错性较强的查询方式,它允许用户通过简单的语法构造查询字符串,以实现对文档的搜索。以下是关于simple_query_string查询的详细说明: 1.基本概念 simple_query_string查询是一种基于字…

CPP集群聊天服务器开发实践(五):nginx负载均衡配置

1 负载均衡器的原理与功能 单台Chatserver可以容纳大约两万台客户端同时在线聊天,为了提升并发量最直观的办法需要水平扩展服务器的数量,三台服务器可以容纳六万左右的客户端。 负载均衡器的作用: 把client的请求按照负载均衡算法分发到具体…

MYSQL中的性能调优方法

MySQL性能调优是数据库管理的重要工作之一,目的是通过调整系统配置、优化查询语句、合理设计数据库架构等方法,提高数据库的响应速度和处理能力。以下是常见的MySQL性能调优方法,结合具体的案例进行说明。 1. 优化查询语句 查询语句是数据库…

【论文笔记】Transformer^2: 自适应大型语言模型

Code repo: https://github.com/SakanaAI/self-adaptive-llms 摘要 自适应大型语言模型(LLMs)旨在解决传统微调方法的挑战,这些方法通常计算密集且难以处理多样化的任务。本文介绍了Transformer(Transformer-Squared)…