时间序列压缩算法及其应用

时间序列存在于我们日常生活中的多个社会领域,例如金融、医疗保健和能源管理。其中一些领域需要大量数据,以便从分析或预测目标变量的行为中获得洞察力。跨多个用户的平台传输和处理高数据速率和容量需要存储和计算机电源可用性。压缩技术是避免系统不堪重负的有效方法。在下文中,将讨论时间序列压缩算法以及它们在不同领域的实际应用中的作用。

什么是时间序列?

时间序列被定义为在连续时间获得的量值的序列,通常具有相等的间隔。从我们使用健身应用程序监控我们的锻炼到我们跟踪我们在城市中一直到我们家门口的披萨交付时,我们都会体验到时间戳数据的使用。当需要了解变量随时间的演变时,时间序列与问题相关,例如了解变量的时间分布或预测其值。 

时间序列最常以表格格式的带时间戳的数字数据的形式出现。音频数据本身已经表示为时间序列,因为它是根据频率定义的。然而,虽然时间序列本身就是一种数据类型,但它们也可以与其他数据类型组合以生成更复杂的实体,这些实体包含嵌入的时间方面,例如: 

  • 随着时间的推移一系列图像定义了一个视频
  • 来自地理空间数据的坐标对的时间序列定义了跟踪路径。 

时间序列数据需要特定的技术,以便不仅从数据的不同模式中获得洞察力,而且随着时间的推移从这些模式中获得洞察力。在数据科学管道中,这些技术用于预处理、分析和建模步骤。最常见的时间序列技术如下图 1 所示: 

图 1:时间序列方法

数据压缩

数据压缩是转换数据以减少表示它所需的位数的过程。这个过程是通过编码改变数据或重新排列其位结构来完成的。压缩是一种有价值的技术,用于资源对数据的存储、处理和传输至关重要的场景。这种情况的两个极端是: 

  • 有限资源方案,可用存储和处理受成本限制。
  • 大数据场景,高频数据涌入需要高效的数据管理 

数据压缩过程涉及将数据编码为更小的格式。为了执行相反的过程,需要一个解码器来解压缩数据,如图 2 所示: 

图 2:数据压缩方案

压缩以较小的格式和较少的位表示数据中存在的相同信息。由于它在可以编码的数据中搜索模式,因此它是一个计算量大的过程,可能需要时间和内存。最先进的压缩技术是: 

  • 无损压缩以在过程中不会丢失任何信息的方式识别和删除数据冗余。解码后的数据完全恢复到其原始状态。
    • 常见用途:数据库、电子邮件、电子表格、文档和源代码 
  • 有损压缩 识别并永久删除冗余数据位,无法在解压缩后恢复原始数据。 
    • 常见用途:音频、图像、图形、视频和扫描文件

准确性和压缩之间的权衡,存在于试图保留数据同时仍解决存储限制的尝试中,是数据压缩中经常遇到的挑战。无损数据压缩只能在一定程度上收缩数据,以香农信息为阈值。对于高频数据,需要有损压缩才能有效减小大小。 

表格1:

数据压缩的优点和缺点
压缩的优点压缩的缺点
减少文件大小和存储使用成本大数据量耗时
由于磁盘存储期间内存间隙的减少,提高了数据读取/写入速度算法需要来自系统的密集处理,这对于大数据量变得昂贵
通过互联网更快地传输文件,需要更少的计算资源解压缩数据的质量可能取决于压缩级别
算法可用于近似和/或预测数据,以及识别噪声需要解码器程序才能解压缩文件

时间序列的压缩方法

大数据的兴起和智能设备的使用揭示了对强大压缩技术的需求,能够满足依赖时间序列数据的行业的处理需求。在高频(大约 10kHz)的情况下,即使是专门研究时间序列数据的数据库也可能会过载。压缩算法因其高价值回报而被广泛探索。压缩技术的质量是通过其压缩率(压缩文件和原始文件之间)、速度(以每比特的周期数来衡量)和恢复数据的准确性来衡量的。 

时间序列压缩算法利用传感器产生的时间序列中的特定特征——例如,某些时间序列片段经常在相同或其他相关时间序列(冗余)中重复自身,或者通过近似恢复时间序列的可能性它通过函数或通过神经网络模型预测它们。下面列出了最先进的方法: 

表 2:


时间序列压缩算法
算法描述常用方法表现
基于字典
  • 通过一系列常见的段表示时间序列,使用字典将段翻译成内容。
  • 段的大小决定了准确性和压缩率。  
  • TRISTAN是一种算法,分为学习和压缩阶段,其字典可能包含典型模式或从训练集中学习它们。
  • CORAD是后者的扩展,它考虑自相关以提高压缩率和准确性
  • 对高冗余的数据集有效。 
  • 可以是有损和无损的。
函数逼近
  • 将时间序列划分为多个片段,并应用一个函数来近似每个片段。
  • 每种方法都遵循不同的函数族。  
  • 分段多项式逼近(PPA) 和切比雪夫多项式变换(CPT) 是两种有损技术,可将时间序列拆分为多个片段并对其拟合多项式函数。
  • 离散小波变换(DWT) 方法将时间序列近似为小波函数。
适用于平滑时间序列、低压缩比和高精度。
顺序算法
  • 几种压缩技术的顺序组合。
  • 最常见的是霍夫曼编码、增量编码、游程编码和斐波那契二进制编码。
  • Delat编码、游程和霍夫曼(DRH) 是一种需要低计算能力的方法。
  • Spritz专为高减压速度和低能耗而设计。  
  • 运行长度二进制编码(RLBE) 是为低内存和计算资源设备开发的。
  • RAKE是一种具有预处理和压缩阶段的算法,它利用稀疏性来压缩数据。
  • 大多数方法是无损且计算效率高的。
  • 适用于计算资源有限的物联网 (IoT) 设备。
自动编码器
  • 由一对对称的编码器和解码器组成的神经网络架构。
  • 经过训练以生成一个输出,该输出再现传递给它的输入。
循环神经网络自动编码器 (RNNA) 方法考虑具有有损压缩和损失阈值参数的时间相关神经网络。准确率和压缩率很大程度上取决于 RNN 在训练集中寻找模式的能力。

时间序列应用

为特定问题选择的压缩算法取决于应用程序的领域和相关数据。压缩的应用可以在许多领域找到,其中最流行的是通过压缩图像、视频和音频数据的多媒体。特别是,时间序列压缩用于关键行业。表 3 显示了不同部门的时间序列用例以及此类应用程序中压缩的重点。在所有用例中,表 1 中的优势也适用。 

表3:

时间序列用例
药物维护活力经济学
用例将患者的多个生命信号监测集成到一个警告系统中,以保证全时援助。监控工业设备,进一步自动报告设备状态,确保安全高效生产。智能电表能耗的短期预测。高频收集的数据实时报告股市统计的状态。
压缩附加值更快的数据处理以执行计算,例如触发警告。更轻松、更便宜地存储大量数据,使制造公司能够负担得起采用数据驱动的解决方案。编码算法有助于从数据中收集见解,例如噪声和行为,从而做出更准确的预测。通过大型网络更快地传输信息,允许用户实时做出决策。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
深度学习算法和应用场景众多,以下是一些常见的深度学习算法及其应用场景: 1. 卷积神经网络(Convolutional Neural Networks,CNN):主要用于图像识别、目标检测、图像分割等领域,其核心是卷积操作,能够提取图像中的特征。 2. 循环神经网络(Recurrent Neural Networks,RNN):主要用于处理序列数据(如文本、音频),能够捕捉数据之间的时间关系,其核心是循环结构,能够处理变长的输入序列。应用场景包括机器翻译、语音识别、文本生成等。 3. 自编码器(Autoencoder,AE):主要用于特征学习、降维、去噪等领域,其核心是对数据进行编码和解码,从而学习到数据的低维表示。应用场景包括图像压缩、图像去噪、异常检测等。 4. 生成对抗网络(Generative Adversarial Networks,GAN):主要用于图像生成、图像修复、图像超分辨率等领域,其核心是通过两个网络(生成网络和判别网络)之间的对抗学习,生成出逼真的图像。 5. 长短时记忆网络(Long Short-Term Memory,LSTM):是一种特殊的循环神经网络,能够解决传统循环神经网络中的梯度消失和梯度爆炸问题,主要用于处理长序列数据。应用场景包括语音识别、机器翻译、视频分类等。 6. 残差网络(Residual Neural Networks,ResNet):主要用于解决深层神经网络中的梯度消失和退化问题,其核心是通过残差连接来保留中间层的信息。应用场景包括图像分类、目标检测、图像分割等。 还有其他的一些深度学习算法,如多层感知机(Multilayer Perceptron,MLP)、深度信念网络(Deep Belief Networks,DBN)等。每种算法都有其特定的应用场景和优势。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wouderw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值