一种时间序列分类方法及装置与流程

文档序号:11865375阅读:257来源:国知局
一种时间序列分类方法及装置与流程
本发明涉及数据挖掘
技术领域
,特别是涉及一种时间序列分类方法及装置。
背景技术
:时间序列,是指某种现象或者统计指标在不同时间点上的各个数值按照时间顺序排列而成的有序序列。时间序列的分类问题一直是时间序列数据挖掘
技术领域
研究人员关注的重点。目前,常根据基于欧氏距离的高斯核函数对时间序列进行分类。由于欧氏距离对时间序列没有较好的适应性,所以基于欧氏距离的高斯核函数难以为时间序列的分类提供较好的字典,使得对时间序列分类的精准度较低。技术实现要素:本发明的目的是提供一种时间序列分类方法及装置,以快速有效地确定测试时间序列的类别,提高对测试时间序列分类的精准度。一种时间序列分类方法,包括:针对待分类的测试时间序列,确定所述测试时间序列与预先获得的训练时间序列集中每个训练时间序列的第一动态时间规整距离,所述训练时间序列集中包含若干个已知类别的训练时间序列;针对确定的每个第一动态时间规整距离,确定基于该第一动态时间规整距离的第一高斯核函数,获得所述测试时间序列的高斯核变换矩阵;根据所述高斯核变换矩阵和预先生成的所述训练时间序列集的字典矩阵,获得所述测试时间序列的稀疏表示系数矩阵,所述字典矩阵包含多个原子;针对每种类别,根据所述字典矩阵中与该类别位置对应的原子和所述稀疏表示系数矩阵,确定所述测试时间序列与该类别的残差;将最小残差对应的类别确定为所述测试时间序列的类别。在本发明的一种具体实施方式中,所述针对待分类的测试时间序列,确定所述测试时间序列与预先获得的训练时间序列集中每个训练时间序列的第一动态时间规整距离,包括:针对待分类的测试时间序列,根据公式ddtw((xi)1m,(y)1m)=|xim-ym|+min(ddtw((xi)1m-1,(y)1m),ddtw((xi)1m-1,(y)1m-1),ddtw((xi)1m,(y)1m-1)),]]>确定所述测试时间序列与预先获得的训练时间序列集中每个训练时间序列的第一动态时间规整距离其中,xi∈Rm为所述训练时间序列集中的第i个训练时间序列,y∈Rm为所述测试时间序列,为训练时间序列xi的子序列,为测试时间序列y的子序列,|xim-ym|表示训练时间序列xi的第m个元素和测试时间序列y的第m个元素的欧氏距离。在本发明的一种具体实施方式中,所述针对确定的每个第一动态时间规整距离,确定基于该第一动态时间规整距离的第一高斯核函数,包括:针对确定的每个第一动态时间规整距离,根据公式Kdtw(xi,y)=exp(-ddtw(xi,y)2σ2),]]>确定基于该第一动态时间规整距离的第一高斯核函数Kdtw(xi,y);其中,σ2为函数宽度参数。在本发明的一种具体实施方式中,通过以下步骤预先生成所述训练时间序列集的字典矩阵:针对所述训练时间序列集中的每个训练时间序列,确定该训练时间序列与所述训练时间序列集中每一个训练时间序列的第二动态时间规整距离;针对确定的每个第二动态时间规整距离,确定基于该第二动态时间规整距离的第二高斯核函数;根据获得的第二高斯核函数,生成所述训练时间序列集的字典矩阵。在本发明的一种具体实施方式中,所述针对所述训练时间序列集中的每个训练时间序列,确定该训练时间序列与所述训练时间序列集中每一个训练时间序列的第二动态时间规整距离,包括:针对所述训练时间序列集中的每个训练时间序列,根据公式ddtw((xi)1m,(xj)1m)=|xim-xjm|+min(ddtw((xi)1m-1,(xj)1m),ddtw((xi)1m-1,(xj)1m-1),ddtw((xi)1m,(xj)1m-1)),]]>确定该训练时间序列与所述训练时间序列集中每一个训练时间序列的第二动态时间规整距离其中,xj∈Rm为所述训练时间序列集中的第j个训练时间序列,|xim-xjm|表示训练时间序列xi的第m个元素和训练时间序列xj的第m个元素的欧氏距离。在本发明的一种具体实施方式中,所述针对确定的每个第二动态时间规整距离,确定基于该第二动态时间规整距离的第二高斯核函数,包括:针对确定的每个第二动态时间规整距离,根据公式Kdtw(xi,xj)=exp(-ddtw(xi,xj)2σ2),]]>确定基于该第二动态时间规整距离的第二高斯核函数。在本发明的一种具体实施方式中,所述训练时间序列集的字典矩阵为:其中,Dj为所述训练时间序列集的第j个原子,Dj=[Kdtw(x1,xj)Kdtw(x2,xj)…Kdtw(xi,xj)…Kdtw(xn,xj)]T。在本发明的一种具体实施方式中,所述针对每种类别,根据所述字典矩阵中与该类别位置对应的原子和所述稀疏表示系数矩阵,确定所述测试时间序列与该类别的残差,包括:针对每种类别,从所述字典矩阵中提取与该类别位置对应的原子矩阵Dv,从所述稀疏表示系数矩阵中提取与该类别位置对应的系数矩阵alphav;根据所述原子矩阵Dv和所述系数矩阵确定所述测试时间序列与该类别的残差为:Y-Dv*alphav;其中,测试时间序列y的高斯核变换矩阵Y为:Y=[Kdtw(x1,y)Kdtw(x2,y)…Kdtw(xi,y)…Kdtw(xn,y)]T。一种时间序列分类装置,包括:第一动态时间规整距离确定模块,用于针对待分类的测试时间序列,确定所述测试时间序列与预先获得的训练时间序列集中每个训练时间序列的第一动态时间规整距离,所述训练时间序列集中包含若干个已知类别的训练时间序列;高斯核变换矩阵获得模块,用于针对确定的每个第一动态时间规整距离,确定基于该第一动态时间规整距离的第一高斯核函数,获得所述测试时间序列的高斯核变换矩阵;稀疏表示系数矩阵获得模块,用于根据所述高斯核变换矩阵和预先生成的所述训练时间序列集的字典矩阵,获得所述测试时间序列的稀疏表示系数矩阵,所述字典矩阵包含多个原子;残差确定模块,用于针对每种类别,根据所述字典矩阵中与该类别位置对应的原子和所述稀疏表示系数矩阵,确定所述测试时间序列与该类别的残差;类别确定模块,用于将最小残差对应的类别确定为所述测试时间序列的类别。在本发明的一种具体实施方式中,所述装置还包括:字典矩阵生成模块,用于通过以下步骤预先生成所述训练时间序列集的字典矩阵:针对所述训练时间序列集中的每个训练时间序列,确定该训练时间序列与所述训练时间序列集中每一个训练时间序列的第二动态时间规整距离;针对确定的每个第二动态时间规整距离,确定基于该第二动态时间规整距离的第二高斯核函数;根据获得的第二高斯核函数,生成所述训练时间序列集的字典矩阵。应用本发明实施例所提供的技术方案,将动态时间规整距离引入到高斯核函数中,可以克服欧氏距离对时间序列的不适应性,提高时间序列的分类精确度。附图说明为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例中训练时间序列集的字典生成方法的一种实施流程图;图2为本发明实施例中时间序列分类方法的一种实施流程图;图3为本发明实施例中时间序列分类装置的一种结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在本发明具体实施之前,需要预先获得训练时间序列集并生成该训练时间序列集的字典矩阵。具体的,可以通过收集、整理、构建等方式,预先获得训练时间序列集,该训练时间序列集中包含若干个已知类别的训练时间序列。假设预先获得的训练时间序列集Xtrn={(x1,v1),…,(xi,vi),…,(xn,vn)}。其中,xi表示该训练时间序列集中第i个训练时间序列,xi∈Rm,为m维向量;vi为xi的类别标签,两个不同的训练时间序列可以归属于相同或不同的类别。在本发明实施例中,该训练时间序列集包含的训练时间序列共归属于C种类别,即vi∈{1,2,…,C}。参见图1所示,在本发明实施例中,可以通过以下步骤预先生成该训练时间序列集的字典矩阵:S110:针对训练时间序列集中的每个训练时间序列,确定该训练时间序列与训练时间序列集中每一个训练时间序列的第二动态时间规整距离。大量的研究数据表明,欧氏距离对时间序列没有较好的适应性,难以适应时间序列的偏移性,所以,基于欧氏距离的高斯核函数难以对时间序列的分类提供较好的字典,从而使得对时间序列的分类的精准度不高。在本发明实施例中,将动态时间规整(DynamicTimeWarping,DTW)距离引入到高斯核函数中,即使用动态时间规整距离代替欧氏距离。具体的,对于时间序列样例a=[a1,a2,…,am]和b=[b1,b2,…,bn],可以定义二者的动态时间规整距离,如公式(1)所示:其中,为时间序列样例a的子序列,为时间序列样例b的子序列,|am-bn|表示时间序列样例a的第m个元素am和时间序列样例b的第n个元素bn间的欧氏距离。通过公式(1),可以确定任意两个时间序列的动态时间规整距离。根据公式(1),可以获得公式(2),即:针对训练时间序列集中的每个训练时间序列,根据公式(2)可以确定该训练时间序列与训练时间序列集中每一个训练时间序列的第二动态时间规整距离即ddtw(x1,x1),ddtw(x1,x2),…,ddtw(xi,xj),…。在公式(2)中,xj∈Rm为训练时间序列集中的第j个训练时间序列,|xim-xjm|表示训练时间序列xi的第m个元素和训练时间序列xj的第m个元素的欧氏距离。S120:针对确定的每个第二动态时间规整距离,确定基于该第二动态时间规整距离的第二高斯核函数。仍以上述的时间序列样例a=[a1,a2,…,am]和b=[b1,b2,…,bn]为例说明,基于动态时间规整距离,获得的高斯核函数如公式(3)所示:其中,ddtw(a,b)为根据公式(1)确定的时间序列样例a和时间序列样例b的动态时间规整距离,σ2为函数宽度参数。同理,针对确定的每个第二动态时间规整距离,可以确定基于该第二动态时间规整距离的第二高斯核函数。根据公式(3),可以获得公式(4),即:针对确定的每个第二动态时间规整距离,根据公式(4)可以确定基于该第二动态时间规整距离的第二高斯核函数,即Kdtw(x1,x1),Kdtw(x1,x2),…,Kdtw(xi,xj),…。S130:根据获得的第二高斯核函数,生成训练时间序列集的字典矩阵。在本发明实施例中,对于训练时间序列集Xtrn,根据获得的第二高斯核函数,可以生成该训练时间序列集的字典矩阵D,该字典矩阵D如公式(5)所示:其中,Dj为该训练时间序列集的第j个原子,Dj=[Kdtw(x1,xj)Kdtw(x2,xj)…Kdtw(xi,xj)…Kdtw(xn,xj)]T。该字典矩阵包含多个原子。至此,获得了训练时间序列集,并生成了该训练时间序列集的字典矩阵。在此基础上,可以执行本发明实施例的具体方案,对测试时间序列进行分类处理。参见图2所示,为本发明实施例所提供的时间序列分类方法的实施流程图,该方法可以包括以下步骤:S210:针对待分类的测试时间序列,确定测试时间序列与预先获得的训练时间序列集中每个训练时间序列的第一动态时间规整距离。如前所述,该训练时间序列集中包含若干个已知类别的训练时间序列。测试时间序列即为待分类的时间序列,在本发明实施例中,测试时间序列可以表示为y∈Rm。根据公式(1),可以获得公式(6),即:针对测试时间序列,根据公式(6),可以确定该测试时间序列与训练时间序列集中每个训练时间序列的第一动态时间规整距离即ddtw(x1,y),ddtw(x1,y),…,ddtw(xi,y),…。在公式(6)中,xi∈Rm为训练时间序列集中的第i个训练时间序列,y∈Rm为测试时间序列,为训练时间序列xi的子序列,为测试时间序列y的子序列,|xim-ym|表示训练时间序列xi的第m个元素和测试时间序列y的第m个元素的欧氏距离。S220:针对确定的每个第一动态时间规整距离,确定基于该第一动态时间规整距离的第一高斯核函数,获得测试时间序列的高斯核变换矩阵。根据公式(3),可以获得公式(7),即:针对确定的每个第一动态时间规整距离,根据公式(7)可以确定基于该第一动态时间规整距离的第一高斯核函数,即Kdtw(x1,y),Kdtw(x2,y),…,Kdtw(xi,y),…Kdtw(xn,y)。其中,σ2为函数宽度参数。根据确定的第一高斯核函数,可以进一步确定测试时间序列的高斯核变换矩阵Y。测试时间序列的高斯核变换矩阵Y可以表示为:Y=[Kdtw(x1,y)Kdtw(x2,y)…Kdtw(xi,y)…Kdtw(xn,y)]T。S230:根据高斯核变换矩阵和预先生成的训练时间序列集的字典矩阵,获得测试时间序列的稀疏表示系数矩阵。如前所述,训练时间序列集的字典矩阵为,根据基于第二动态时间规整距离的第二高斯核函数预先生成的,具体可以通过步骤S110至步骤S130生成。该字典矩阵中包含多个原子。根据测试时间序列的高斯核变换矩阵Y和预先生成的训练时间序列集的字典矩阵D,可以获得测试时间序列的稀疏表示系数矩阵。具体的,可以通过OMP(OrthogonalMatchingPursuit,正交匹配追踪)算法获得测试时间序列的稀疏表示系数矩阵,此为现有技术,本发明实施例对此不再赘述。S240:针对每种类别,根据字典矩阵中与该类别位置对应的原子和稀疏表示系数矩阵,确定测试时间序列与该类别的残差。训练时间序列集包含若干个已知类别的训练时间序列。在本发明的一种具体实施方式中,可以针对每种类别,从字典矩阵中提取与该类别位置对应的原子矩阵Dv,并从稀疏表示系数矩阵中提取与该类别位置对应的系数矩阵根据原子矩阵Dv和系数矩阵确定测试时间序列与该类别的残差为:Y-Dv*alphav。为方便理解,举例说明。假设训练时间序列集中训练时间序列x1、x2、x5和x8归属于第一类别,则从字典矩阵D中提取与该第一类别位置对应的原子矩阵Dv=1为:Dv=1=[D1D2D5D8]。从稀疏表示系数矩阵中提取第1、2、5、8行对应的元素,构成系数矩阵根据原子矩阵Dv=1和系数矩阵可以确定测试时间序列与该第一类别的残差。同理,可以确定测试时间序列与第二类别、第三类别等的残差。S250:将最小残差对应的类别确定为测试时间序列的类别。针对每种类别,测试时间序列与该类别的残差越小,表明测试时间序列的类别越与该类别相似。所以,在本发明实施例中,可以将最小残差对应的类别确定为测试时间序列的类别。在本发明实施例中,可以根据公式(8)确定最小残差。其中,Dv=D(:,inv),alphav=alpha(inv),inv表示测试时间序列中第v类数据的位置。使用ControlChartdatabase时间序列数据库中的Trace数据集进行测试。ControlChartdatabase时间序列数据库是目前研究时间序列分类、聚类等使用较为广泛的数据库之一。Trace数据集共有4类共200个时间序列,分为100个训练时间序列和100个测试时间序列,每个时间序列的长度为275。在本例中,训练时间序列集Xtrn={(x1,v1),…,(xi,vi),…,(x100,v100)},xi∈R275,vi∈{1,2,…,C},C=4。首先应用本发明实施例所提供的技术方案对测试时间序列进行分类处理。针对该训练时间序列集中的每个训练时间序列,可以确定该训练时间序列与训练时间序列集中的每一个训练时间序列的第二动态时间规整距离,并获得基于该第二动态时间规整距离的第二高斯核函数,根据获得的第二高斯核函数,可以生成该训练时间序列集的字典矩阵D:D=Kdtw(x1,x1)Kdtw(x1,x2)...Kdtw(x1,xj)...Kdtw(x1,x100)Kdtw(x2,x1)Kdtw(x2,x2)...Kdtw(x2,xj)...Kdtw(x2,x100)..................Kdtw(x100,x1)Kdtw(x100,x2)...Kdtw(x100,xj)...Kdtw(x100,x100)]]>对于100个测试时间序列中的任意一个测试时间序列y∈R275,可以确定该测试时间序列与训练时间序列集中每个训练时间序列的基于第一动态时间规整距离的第一高斯核函数,并根据确定的第一高斯核函数,确定该测试时间序列的高斯核变换矩阵:Y=[Kdtw(x1,y)Kdtw(x2,y)…Kdtw(xi,y)…Kdtw(x100,y)]T。根据该测试时间序列的高斯核变换矩阵Y和训练时间序列集的字典矩阵D,可以获得该测试时间序列的稀疏表示系数矩阵,并根据公式(8)可以得到该测试时间序列与各个类别的最小残差,将该最小残差对应的类别确定为该测试时间序列的类别。其次,应用基于欧氏距离的高斯核函数对这100个测试时间序列进行分类处理,将错误率作为性能衡量指标,可以得到表1所示的实验结果。表1从表1可以看出,本发明方法的分类错误率较低,可以对测试时间序列进行较为准确的分类。应用本发明实施例所提供的方法,将动态时间规整距离引入到高斯核函数中,可以克服欧氏距离对时间序列的不适应性,提高时间序列的分类精确度。相应于上面的方法实施例,本发明实施例还提供了一种时间序列分类装置。下面对本发明实施例提供的时间序列分类装置进行介绍,下文描述的时间序列分类装置与上文描述的时间序列分类方法可相互对应参照。参见图3所示,为本发明实施例提供的时间序列分类装置的结构示意图,该装置可以包括以下模块:第一动态时间规整距离确定模块310,用于针对待分类的测试时间序列,确定测试时间序列与预先获得的训练时间序列集中每个训练时间序列的第一动态时间规整距离,训练时间序列集中包含若干个已知类别的训练时间序列;高斯核变换矩阵获得模块320,用于针对确定的每个第一动态时间规整距离,确定基于该第一动态时间规整距离的第一高斯核函数,获得测试时间序列的高斯核变换矩阵;稀疏表示系数矩阵获得模块330,用于根据高斯核变换矩阵和预先生成的训练时间序列集的字典矩阵,获得测试时间序列的稀疏表示系数矩阵,字典矩阵包含多个原子;残差确定模块340,用于针对每种类别,根据字典矩阵中与该类别位置对应的原子和稀疏表示系数矩阵,确定测试时间序列与该类别的残差;类别确定模块350,用于将最小残差对应的类别确定为测试时间序列的类别。应用本发明实施例所提供的装置,将动态时间规整距离引入到高斯核函数中,可以克服欧氏距离对时间序列的不适应性,提高时间序列的分类精确度。在本发明的一种具体实施方式中,第一动态时间规整距离确定模块310,可以具体用于:针对待分类的测试时间序列,根据公式ddtw((xi)1m,(y)1m)=|xim-ym|+min(ddtw((xi)1m-1,(y)1m),ddtw((xi)1m-1,(y)1m-1),ddtw((xi)1m,(y)1m-1)),]]>确定测试时间序列与预先获得的训练时间序列集中每个训练时间序列的第一动态时间规整距离其中,xi∈Rm为训练时间序列集中的第i个训练时间序列,y∈Rm为测试时间序列,为训练时间序列xi的子序列,为测试时间序列y的子序列,|xim-ym|表示训练时间序列xi的第m个元素和测试时间序列y的第m个元素的欧氏距离。在本发明的一种具体实施方式中,高斯核变换矩阵获得模块320,可以具体用于:针对确定的每个第一动态时间规整距离,根据公式Kdtw(xi,y)=exp(-ddtw(xi,y)2σ2),]]>确定基于该第一动态时间规整距离的第一高斯核函数Kdtw(xi,y);其中,σ2为函数宽度参数。在本发明的一个实施例中,该装置还可以包括:字典矩阵生成模块,用于通过以下步骤预先生成训练时间序列集的字典矩阵:针对训练时间序列集中的每个训练时间序列,确定该训练时间序列与训练时间序列集中每一个训练时间序列的第二动态时间规整距离;针对确定的每个第二动态时间规整距离,确定基于该第二动态时间规整距离的第二高斯核函数;根据获得的第二高斯核函数,生成训练时间序列集的字典矩阵。在本发明的一种具体实施方式中,字典矩阵生成模块,可以具体用于:针对训练时间序列集中的每个训练时间序列,根据公式ddtw((xi)1m,(xj)1m)=|xim-xjm|+min(ddtw((xi)1m-1,(xj)1m),ddtw((xi)1m-1,(xj)1m-1),ddtw((xi)1m,(xj)1m-1)),]]>确定该训练时间序列与所述训练时间序列集中每一个训练时间序列的第二动态时间规整距离其中,xj∈Rm为训练时间序列集中的第j个训练时间序列,|xim-xjm|表示训练时间序列xi的第m个元素和训练时间序列xj的第m个元素的欧氏距离。在本发明的一种具体实施方式中,字典矩阵生成模块,可以具体用于:针对确定的每个第二动态时间规整距离,根据公式Kdtw(xi,xj)=exp(-ddtw(xi,xj)2σ2),]]>确定基于该第二动态时间规整距离的第二高斯核函数。在本发明的一种具体实施方式中,训练时间序列集的字典矩阵为:其中,Dj为训练时间序列集的第j个原子,Dj=[Kdtw(x1,xj)Kdtw(x2,xj)…Kdtw(xi,xj)…Kdtw(xn,xj)]T。在本发明的一种具体实施方式中,字典矩阵生成模块,可以具体用于:针对每种类别,从字典矩阵中提取与该类别位置对应的原子矩阵Dv,从稀疏表示系数矩阵中提取与该类别位置对应的系数矩阵alphav;根据原子矩阵Dv和系数矩阵确定测试时间序列与该类别的残差为:Y-Dv*alphav。其中,测试时间序列y的高斯核变换矩阵Y为:Y=[Kdtw(x1,y)Kdtw(x2,y)…Kdtw(xi,y)…Kdtw(xn,y)]T。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或
技术领域
内所公知的任意其它形式的存储介质中。以上对本发明所提供的一种时间序列分类方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1