时间序列分析 | Python实现Time2Graph时间序列GNN建模
基本介绍
Time2Graph 是一种用于时间序列建模的新型表示学习算法。它将时间序列转换为带有 shapelet 及其转换的图(graph)。我们从大量候选对象中提取时间感知 shapelet,然后构建 Shapelet 演化图以捕获 shapelet 之间的相关性,最后通过连接(concatenating)由从 Shapelet 演化图获得的 shapelet 嵌入组成的段嵌入(segment embedding)来学习时间序列表示向量。
模型结构
对 shapelets 的动力学进行建模涉及几个挑战。
- 传统算法生成一组静态时间序列子序列作为候选,然后根据一定的标准选择具有最大辨别力的子序列。然而,动态 shapelets 还没有得到很好的定义,如果添加参数化的时间权重,之前使用的标准通常是不可区分的。据我们所知,如何提取时间感知 shapelets 的问题仍然悬而未决。
- 一种可能的解决方案是探索 shapelet 序列,该序列由分配给时间序列每个段的有序 shapelet 组成。然而,由于每个段可能由多个具有不同概率的 shapelet 分配,因此枚举所有可能的 shapelet 序列非常耗时,其中时间复杂度为 O(mK)(m 是段数,K 是 shapelet 数)。更可靠的解决方案是构造一个转换矩阵(graph),其中每个元素(edge)代表一个 shapele