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

什么是时间序列?

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

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

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

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

数据压缩

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

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

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

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

  • 无损压缩以在过程中不会丢失任何信息的方式识别和删除数据冗余。解码后的数据完全恢复到其原始状态。

    • 常见用途:数据库、电子邮件、电子表格、文档和源代码
  • 有损压缩 识别并永久删除冗余数据位,无法在解压缩后恢复原始数据。 
    • 常见用途:音频、图像、图形、视频和扫描文件

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

表格1:

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

时间序列的压缩方法

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

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

表 2:


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

时间序列应用

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

时间序列压缩算法及其应用相关推荐

  1. 高效的大型时间序列数据压缩方法 MidiMax 压缩算法 | 让时间序列可视化更容易

    文章目录 一.引言 二.Midimax 压缩算法 三.Python 实践 一.引言 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 在实际时间序列场景中,例如金融时 ...

  2. TSDB学习 ---- Facebook TSDB 论文翻译

    转载:https://developer.aliyun.com/article/174535 本文为Facebook官方论文的翻译,原文地址http://www.vldb.org/pvldb/vol8 ...

  3. lucene底层数据结构——底层filter bitset原理,时间序列数据压缩将同一时间数据压缩为一行...

    如何联合索引查询? 所以给定查询过滤条件 age=18 的过程就是先从term index找到18在term dictionary的大概位置,然后再从term dictionary里精确地找到18这个 ...

  4. 事物序列化_大规模测量每件事物m3时间序列简介

    事物序列化 Today, it's easy to say that almost everything we do, everything we use, and even everything a ...

  5. 【算法】深入了解数据压缩算法(无损压缩和有损压缩)

    目录 1 引言: 1 数据压缩的重要性和应用场景 2 压缩算法的基本原理和分类 2. 无损压缩算法 2.1 哈夫曼编码 2.1.1 哈夫曼编码的原理和步骤 2.1.2 实现一个简单的哈夫曼编码器 2. ...

  6. 【数据分析】如何量化时间序列之间的相似性?

    如何量化时间序列之间的相似性 逝者如斯夫,不舍昼夜.时间不会停止,世界上的一切都在不断运动.抛开物理学或哲学的概念不提,几乎所有东西都可以被描述为一系列的事件.对数据更感兴趣的人来说,它们又可以被看做 ...

  7. python时间序列峰值检测_如何检测和过滤时间序列数据的峰值?

    我有一个pandas用户登录数据框,如下所示:id datetime_login 646 2017-03-15 15:30:25 611 2017-04-14 11:38:30 611 2017-05 ...

  8. python时间序列动图_手把手教你用Python进行时间序列分解和预测

    来源:数据派THU(ID:DatapiTHU) ▔ 作者:Mohit Sharma 翻译:王闯(Chuck) 校对:王可汗 预测是一件复杂的事情,在这方面做得好的企业会在同行业中出类拔萃.时间序列预测 ...

  9. brain.js 时间序列_免费的Brain JS课程学习JavaScript中的神经网络

    brain.js 时间序列 The last few years, machine learning has gone from a promising technology to something ...

最新文章

  1. SAP MM 如何看一个采购申请是由APO系统创建后同步过来的?
  2. 对前端界面工程师这个职位是怎么样理解的?
  3. sublime Text3快捷键使用大全
  4. dubbo forbid service的解决办法
  5. python文字游戏 生成数字菜单_python自学日记5——文字游戏
  6. FPGA设计思想与技巧
  7. .netcore发布时指定服务器的系统类型
  8. 功夫小子实践开发-开发环境的基本搭建和配置
  9. studio one 3 机架声道设置_雅马哈UR242声卡宿主机架直播跳线设置
  10. Firefox 扩展“此组件无法安装,因为它未通过验证。”问题的解决
  11. Android 系统root教程-magisk最新版
  12. 6 安卓高德地图错误代码_高德开放平台
  13. “快解析”动态域名解析工具使用教程
  14. 计算机现在追寻谁的原理,一路追寻-CS考研经验总结_计算机与软件_考研论坛(kaoyan.com)...
  15. 变种 背包问题_【算法设计】背包问题
  16. 解决 plt.savefig 保存图像为全白或全黑图像方法
  17. android 中止应用程序,如何终止Xamarin应用程序?
  18. Zabbix 主动/被动 监控
  19. FL Studio 20.9.2官方中文版全新发布更新功能介绍
  20. 论文阅读笔记 - Chubby: The Chubby lock service for loosely-coupled distributed systems

热门文章

  1. Point Cloud Transformer的pytorch代码实现
  2. Web前端_项目实践02_ins北欧风多肉植本店主网页(纯HTML+CSS静态页面)
  3. mysql 每个分类前十名_一文解决所有MySQL分类排名问题
  4. C语言int的位数是几位,C中的int总是32位吗?
  5. Git(5) SourceTree安装使用
  6. flash的Socket连接,服务端用没有平台限制
  7. 火星人怒批古董微积分,误人子弟
  8. 洛谷-P2198 杀蚂蚁
  9. python 复制替换文件_在Python中复制和替换文件
  10. 7-5 最佳情侣身高差c语言