时间序列聚类是挖掘物联网等场景下频繁模式的关键技术,但现有SOTA方法(如K-Shape)面临两大瓶颈:1)传统数据库因LSM-Tree存储导致时间戳无序,难以直接支持高效聚类;2)跨时间范围查询需重复计算,效率低下。
清华大学团队创新提出K-Shape数据库内适配方案,首次实现时序聚类与存储引擎深度协同。针对长序列性能问题,进一步提出Medoid-Shape及其数据库优化版本,在保持精度的同时显著提速。实验验证,该方案在密集写入、多范围查询场景下性能优势突出,为时序分析开辟新路径!
我花了很长时间整理出了十几篇【时间序列+聚类】的相关论文,希望能帮到大家。
感兴趣的可以 [丝 xin] 我~~
【论文标题】In-Database Time Series Clustering
【论文链接】https://dl.acm.org/doi/10.1145/3709696
研究背景
时间序列聚类是一种重要的数据分析技术,广泛应用于多种领域。现有的最先进的(SOTA)时间序列聚类方法 K-Shape 能够高效地通过形状对时间序列进行聚类,并且其准确性显著优于其他方法。然而,K-Shape 在物联网(IoT)场景中面临挑战,因为物联网数据具有到达无序和大量数据存储的特点。因此,数据库内时间序列聚类所面临如下挑战:
-
由于延迟到达,时间序列通常在 LSM 树数据库中以无序方式存储,而现有的聚类方法要求数据按时间顺序排列。按时间顺序对数据进行排序会带来额外的预处理时间开销。
-
对于不同的任务,可能需要使用不同的时间过滤器反复执行聚类操作。每次 K-Shape 都需要从头开始聚类,效率低下。
-
K-Shape 在处理长子序列时效率低下,因为其复杂度与子序列长度成正比。
核心贡献
本研究致力于解决上述三个挑战。贡献可总结如下:
-
数据库内K-Shape:提出了对现有聚类方法K-Shape的数据库内适应版本,利用数据库中预计算的页面级元数据进行加速。
-
Medoid-Shape:提出了一种新的聚类方法Medoid-Shape,通过用近似的中心点(medoid)代替K-Shape中的形状提取步骤,避免了耗时的特征向量分解。
-
数据库内Medoid-Shape:将 Medoid-Shape方法适应到数据库内场景,进一步提高了聚类效率。
-
实验验证:通过广泛的实验验证了所提方法的高效性和有效性。
方法解析
数据库内K-Shape
本文利用 LSM-Tree 的分层文件结构,通过多版本合并机制直接在数据库内对无序数据按时间范围排序,避免全量数据加载和外部排序开销。
-
单页元数据:对每页内的完整子序列运行 K-Shape,存储聚类中心、成员子序列的和矩阵(用于形状提取)、平均类内距离。不完整子序列单独存储,留待后续拼接。
-
多页聚合:相邻页:直接合并相似聚类中心,更新和矩阵(无需重新计算形状)。 互补页:将不完整子序列拼接为完整子序列,视为新页后合并。 重叠页:加载冲突数据点更新和矩阵,重新提取中心形状。
-
最终聚类:所有页聚合后,从全局和矩阵一次性提取最终聚类中心。
Medoid-Shape
K-Shape 基于 SBD(Shape-Based Distance)和迭代质心优化的复杂度为 ( 为序列数, 为序列长度),难以处理长序列。本文放弃传统质心迭代优化,改用聚类内真实存在的 Medoid 作为代表,避免特征向量分解的高计算量。
-
贪心算法:迭代选择样本子序列,每次选择能使目标函数提升最大的子序列加入中心集。将长序列划分为固定长度的子窗口,对每个子窗口进行局部形状对齐,降低全局对齐的计算复杂度。
-
近似评估:先对子序列做快速近似聚类,用聚类中心近似代表全体子序列。计算目标函数时,仅需比较中心与候选 Medoids,大幅减少计算量。
数据库内Medoid-Shape
本文在 LSM-Tree 的 Compaction 阶段预计算不同时间粒度的 Medoid 候选集,存储为元数据,加速查询时候选集筛选。基于时间范围查询条件,按层级索引快速定位相关数据分片,动态剔除不相关子序列的 Medoid 计算。
-
单页元数据:每页预计算近似聚类中心、类内平均距离、类大小。不存储和矩阵,节省空间。
-
多页聚合:相邻/互补页:按距离合并相似聚类中心,加权更新类内距离。重叠页:直接更新冲突子序列所属的聚类中心。
-
最终聚类:将所有页的近似中心作为候选,运行贪心算法选出最终 Medoids。
实验验证
不同数据负载下的可扩展性
子序列数量的可扩展性。上图展示了在不同子序列数量 N 下的时间成本。在所有数据规 模下,本文的数据库内方法表现最佳。
子序列长度的可扩展性。上图展示了不同子序列长度下的时间成本。随着子序列长度的增加,K-Shape 和基于数据库的 K-Shape 的时间成本迅速增加,这是由于形状提取过程耗时。然而,Medoid-Shape 和基于数据库的 Medoid-Shape 在子序列长度较大时,分别表现出高达 1 个和 2 个数量级的改进,所需的时间显著减少。
不同配置下的效率
随着补充页面数量的增加,数据库内方法的时间成本略有增加,因为需要额外处理新形成的子序列。然而,这些方法仍然优于传统方法。
in-database K-Shape 的时间成本随着重叠页面数量的增加而迅速增加,因为每次处理重叠页面都需要进行形状提取。相比之下,in-database Medoid-Shape 的时间成本增加较少,因为它可以在线性时间内处理重叠页面。
随着重叠长度的增加,数据库内方法的时间成本略有增加,因为需要更多时间来处理重叠部分。即使在极端情况下(所有页面都重叠,且重叠长度达到10,000个数据点),数据库内方法仍然优于传统方法。
总结
在本文中,我们研究了数据库内的时间序列聚类,以支持在基于 LSM 树的时间序列数据库中对不同时间范围的时间序列进行反复聚类。现有的数据库外方法在处理大量物联网数据以及频繁的具有不同时间过滤器的聚类查询时,效率低下。因此,我们提出利用数据库特性在数据库内高效地对时间序列进行聚类。具体而言,我们设计了一种基于数据库的 SOTA 时间序列聚类方法 K-Shape 的适应版本。为了解决 K-Shape 在处理长子序列时效率低下的问题,我们提出了 Medoid-Shape 以及相应的数据库内 Medoid-Shape 适应版本以进一步加速。我们推导了几个命题以确保在数据库内提议的多页聚合。我们还证明了 Medoid-Shape 的有保证的误差界限,以确保其有效性。值得注意的是,我们在 Apache IoTDB(一个开源的商品化基于 LSM 树的时间序列数据库)中实现了并部署了所有提议。大量的实验表明,我们的提议具有更高的效率,且有效性相当。