关于时间序列中数据的降维简单讨论

本文只讨论单变量离散型时间序列,在这里解释一个问题本文谈论的降维是将时间作为维度来讨论的。由于时间序列的高维性,数据量大以及不断更新等特点,导致了对于时间序列的处理、挖掘变得异常困难,因此采用适当的方法来表示时间序列成了目前处理时间序列首先需要解决的问题,目前来说有这几种常见的方法:分段线性表示,基于域变换的表示方法,符号化表示,基于模型的表示方法,奇异值分解表示法等。

其中分段线性表示法是我们将要讨论的方法,该方法是一种数据自适应表示方法,通过使用线段拟合表示原时间序列,该方法具有索引维度低,计算速度快,支持快速相似性检索等特点,因此被广发应用。

但是目前的分段线性表示有很多缺点:(1)只关注全局误差或分段误差,没有综合考虑全局误差和分段误差,忽略了单点误差,这容易造成一些关键特征点丢失。(2)针对变化频率不同的时间序列没有一个很好的办法能够快速分段同时保持分段高拟合度。

针对上述问题本文尝试提出一种基于滑动窗口的重要点选取分段线性表示时间序列的方法,实现对时间序列的降维,方便后续的操作。

重要点定义:(1)位于权值最大的时间序列片段内

                     (2)该点在该时间序列片段内拟合误差最大

权值计算公式:weight=max{dsum,c*dmax}   c是平衡常数用来平衡单点误差  

距离测量采用垂直距离

具体算法:

首先将时间序列起点和终点作为初始的重要点,首先将时间序列片段按照各自的权值大小进行排序并选择其中权值最大的时间序列片段(起始将初始序列作为权值最大的序列段),

然后标记该时间序列片段上拟合误差最大的点作为重要点,该点将时间序列分为两个时间序列片段,然后计算新的时间序列权值,同时将被划分的时间序列信息删除,如此循环直至获取足够的重要点。

至此我们将时间序列中具有代表性的点选出来了,针对这些重要点我们可以对时间序列进行过滤,选择出我们需要的具有代表性的时间序列片段来进行进一步的研究,或者依据重要点对时间序列进行符号化表示来实现降维和压缩。后续我将讨论关于基于滑动窗口的时间序列重要点选取,以及有关shapelets的相关研究。