浮点时间序列的最大无损压缩比

计算科学 浮点 数据存储
2021-12-19 02:23:10

我想尽可能地压缩一组时间序列浮点数据。

目前,我为此找到的唯一算法是 XOR 压缩,效果很好,但压缩数据不够。相对平滑的时间序列浮点(双精度)数据的最高压缩比算法是什么?

我只针对压缩比进行优化,因此算法的运行时复杂度并不重要(在合理范围内)。

编辑:压缩需要是无损的。

1个回答

有一个久经考验的库,称为fpzip,它同时具有无损和有损压缩。作者有一篇关于他们方法的论文(这里也有一个没有付费墙的链接)。如果您查看他们论文中的表 1,他们会在某些模拟输出中获得大约 100 的压缩比,但在其他模拟输出中则低至 ~1.3。显然,结果很大程度上取决于您正在压缩的数据的性质。对于某些领域,例如流体力学模拟中的速度,附近的值往往具有相似的大小,这使得压缩这些附近浮点值的指数成为可能。我个人没有使用过 fpzip,但由于你的时间序列相对平滑,我认为你会得到很好的结果。