时间序列自动分段
时间序列表示方法,
现有的时间序列表示方法,一般分为两类:
第一类是通过将时间序列从时域转换到频域,从频域中提取出主要特征(一般是低频部分),用这些特征来表示整个时间序列,从而达到降低维度的目的。离散傅里叶变换(DFT)、离散小波变换(DWT) 和 离散余弦变换(DCT) 就属于这一类。
第二类是对时间序列进行分段,用常数或线段来表示该时间段内的所有观察值,从而达到降低维度的目的。根据分段大小的设定,该类方法分为自适应的和非自适应两种。非自适应方法中分段的长度是固定的,分段累积近似(PAA) 就是一种非自适应的分段表示方法。自适应方法能够根据时间序列的局部细节来调整分段的长度,其中自适应分段常数近似 (APCA ) 就是自适应的分段表示方法。
时间序列分段
PAA
给定一个时间序列,设N为该时间序列被表示后的维度。为使时间序列从n维降到N维,将数据均分为N帧,对每帧求一个均值,N个均值组成一个向量,时间序列x在N维空间中被表示为N个每帧的均值。这样时间序列从n维降到N维。这种转换生成了原始序列的一个分段常量近似,所以此方法为分段累积近似,简称PAA。
但是PAA每个帧的长度是一样的,所以PAA是非自适应的表示方法。
APCA
APCA是对PAA的改进,它与 PAA 所不同的是,分段的长度并不固定,而是在满足局部误差要求的条件下,利用动态规划或贪心算法找出分段的最佳分割点。所以,APCA 被称为自适应算法。
基于残差平衡及边界约束的分段线性回归
残差平衡
对每个窗口中的时间序列进行线性回归,然后进行预测,残差即为真实值与预测值之差。
残差平衡可以定义为,窗口中所有的残差符号之和abs_srs的绝对值小于某个设定的正整数
当 abs_srs =0 时,残差完全平衡。随着 abs_srs 的增大,残差变得越来越不平衡。残差平衡的设定是为了使观察值尽可能地分布在回归线的两侧。
边界约束
窗口中所有残差的绝对值的最大值,称为拟合边界。边界约束
当同时满足残差平衡和边界约束时,认为窗口中的时间序列未发生趋势变化。
算法流程
给定一个窗口长度,残差符号阈值,边界阈值。
按照此窗口长度对每段时间序列进行线性回归。
计算每个窗口中的残差,获得符号之和以及拟合边界。
为能够进行线性回归,每个窗口内的样本容量至少为3,所以滑动窗口值应该大于3,但是不应该过大,否则会造成趋势变化点的漏检。
残差平衡约束设定也要适中,过小的话,线性表示抗噪声干扰的能力较弱,这样会把非趋势变化点误判成趋势变化点,造成不必要的分段;相反,如果过大,会造成趋势变化点漏检,就无法准确刻画时间序列的趋势变化。
同理,边界约束的阈值同样也会影响到去除噪声和趋势变化点检测的效果。
参考论文:《心电时间序列的表示方法和相似性度量问题研究》作者:高飞翔
如有雷同请联系我删除
网友评论