一种基于特征采样的时间序列分类方法及装置与流程

文档序号:15518165发布日期:2018-09-25 18:49阅读:156来源:国知局

本发明涉及数据处理技术领域,尤其涉及一种基于特征采样的时间序列分类方法及装置。



背景技术:

时间序列分类在很多领域有着广泛的应用,比如隐马尔科夫模型(hmm)和动态时间归整(dtw)在语音处理以及语音识别上的应用。在数据库方向上,我们将由随时间变化的值组成的数据库,称为时间序列数据库,在这种时间序列数据库中的数据挖掘工作称为时间序列挖掘。时间序列分类问题对于时间序列挖掘至关重要,相比于普通常规的分类数据,时间序列具有长度不固定,序列数据前后依赖关系较强,以及噪声数据较多的特点。

时间序列分类问题因为数据序列具有的特殊属性,因此不能直接应用常见的分类学习算法进行分类学习。常规的分类学习算法,比如支持向量机(svm),逻辑回归(lr)等在处理时间序列问题上效果并不好。目前,效果较好的算法是动态时间归整(dtw)算法,dtw算法的思想是利用动态规划算法寻找两条序列的最优匹配,从而得到待预测序列的类别,dtw算法由berndt和clifford提出,并且通过了大量的实验以及实际效果证明,dtw在大多数的时间序列分类问题上具有很好的性能和准确率。

虽然目前已经有了许多关于时间序列分类的算法,但是这些算法在泛化性以及准确率上并不能够满足时间序列分类问题的需要,这主要表现在以下几个方面:

1、目前提出的许多时间序列数据转换和分类算法对于小规模的时间序列数据比较有效,对于大规模的时间序列数据,由于内存,处理时间等条件的限制,并不适用。

2、时间序列数据存在着局部相似性以及依赖关系等复杂属性,当前的时间序列处理算法并不能够处理局部相似性问题。

3、目前大多数的时间分类算法都是基于单一线性模型或者树模型的,单一模型的表现能力较弱,因此准确率较低。本专利采取的模型为随机森林模型,该模型内部包含了众多的决策树,在训练与预测上,结果由众多的决策树共同投票得出,避免了单一模型的变现能力弱的缺点。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术中时间序列分类存在的以上一个或多个缺陷,提供了一种基于特征采样的时间序列分类方法及装置。

为了解决上述技术问题,本发明提供了基于特征采样的时间序列分类方法,包括:

通过特征采样方法将训练用的时间序列数据集转化为具有等长特征的训练数据集,并将测试用的时间序列数据集转化为具有等长特征的测试数据集;

采用集成学习分类方法,利用所述具有等长特征的训练数据集进行模型训练;

使用训练后的模型对所述具有等长特征的测试数据集进行时间序列分类。

可选地,所述特征采样方法为分段特征采样方法,包括:

设置分段长度l1,分段个数m1和分段之间间隔g1;

对于时间序列数据集中的每一条时间序列数据,从时间序列数据开始位置进行采样,选取连续的l1个时间序列数据作为第一段特征数据,之后每一段采样开始的位置为上一段采样开始的位置加上分段之间间隔g1,每一段均选取l1个序列数据,采样后将每一条时间序列数据转换为m1个特征数据。

可选地,所述集成学习分类方法为基于bagging的随机森林分类器。

可选地,所述特征采样方法为随机特征采样方法,包括:

设置随机特征采样的个数l2,采样的次数m2和初始采样位置b1;

对于时间序列数据集中的每一条时间序列数据,从时间序列数据的初始采样位置b1开始,选取连续的l2个时间序列数据作为第一条特征数据,在第一条特征数据之后随机确定后续采样位置,进而选取连续的l2个时间序列数据作为第二条特征数据,如此直至m2条特征数据选取完毕,在采样的过程中,保证选取的特征数据具有前后顺序,当选取特征维度超过时间序列最长长度时,从时间序列开始位置重复选取操作,采样后将每一条时间序列数据转换为m2条特征数据。

可选地,所述特征采样方法为等时间间隔采样法,包括:

设置时间间隔g2,初始采样位置b1,采样特征个数m3;

对于时间序列数据集中的每一条时间序列数据,从时间序列数据的初始采样位置b1开始,按照时间间隔g2依次进行采样,采样的特征个数为m3,当采样间隔超出时间序列的最大长度时,从时间序列开始位置继续采样,经过等时间间隔采样方法处理后,将每一条时间序列数据转换成一条特征数据。

本发明还提供了一种基于特征采样的时间序列分类装置,至少包括:数据采样单元、模型训练单元和模型预测单元;

所述数据采样单元,用于通过特征采样方法将训练用的时间序列数据集转化为具有等长特征的训练数据集,并将测试用的时间序列数据集转化为具有等长特征的测试数据集;

所述模型训练单元,用于采用集成学习分类方法,利用所述具有等长特征的训练数据集进行模型训练;

所述模型预测单元,用于使用训练后的模型对所述具有等长特征的测试数据集进行时间序列分类。

可选地,所述数据采样单元采用的特征采样方法为分段特征采样方法,包括:

设置分段长度l1,分段个数m1和分段之间间隔g1;

对于时间序列数据集中的每一条时间序列数据,从时间序列数据开始位置进行采样,选取连续的l1个时间序列数据作为第一段特征数据,之后每一段采样开始的位置为上一段采样开始的位置加上分段之间间隔g1,每一段均选取l1个序列数据,采样后将每一条时间序列数据转换为m1个特征数据。

可选地,所述模型训练单元采样的集成学习分类方法为基于bagging的随机森林分类器。

可选地,所述所述数据采样单元采用的特征采样方法为分段特征采样方法,包括:

设置随机特征采样的个数l2,采样的次数m2和初始采样位置b1;

对于时间序列数据集中的每一条时间序列数据,从时间序列数据的初始采样位置b1开始,选取连续的l2个时间序列数据作为第一条特征数据,在第一条特征数据之后随机确定后续采样位置,进而选取连续的l2个时间序列数据作为第二条特征数据,如此直至m2条特征数据选取完毕,在采样的过程中,保证选取的特征数据具有前后顺序,当选取特征维度超过时间序列最长长度时,从时间序列开始位置重复选取操作,采样后将每一条时间序列数据转换为m2条特征数据。

可选地,所述所述数据采样单元采用的特征采样方法为分段特征采样方法,包括:

设置时间间隔g2,初始采样位置b1,采样特征个数m3;

对于时间序列数据集中的每一条时间序列数据,从时间序列数据的初始采样位置b1开始,按照时间间隔g依次进行采样,采样的特征个数为m3,当采样间隔超出时间序列的最大长度时,从时间序列开始位置继续采样,经过等时间间隔采样方法处理后,将每一条时间序列数据转换成一条特征数据。

设置时间间隔g2,采样位置b2,采样特征个数m3;

对于时间序列数据集中的每一条时间序列数据,从时间序列数据的采样位置b开始,按照时间间隔g依次进行采样,并采样m3次,当采样间隔超出时间序列的最大长度时,从时间序列开始位置继续采样,经过等时间间隔采样方法处理后,将每一条时间序列数据转换成m3条特征数据。

实施本发明实施例提供的基于特征采样的时间序列分类方法及装置,至少具有如下有益效果:

1、本发明先通过特征采样方法,将不同长度的时间序列数据集转化为具有等长特征的数据集,再集成学习分类方法进行分类,提高时间序列分类的准确率,能够对于大规模的时间序列数据进行准确的分类。

2、进一步地,本发明可以选用分段特征采样方法和随机森林分类器相结合,由于随机森林分类器具有泛化性强,分类准确率较高,拟合能力强,可以分布式实现等优点,同时,随机森林算法在进行模型训练时,对于训练的特征数据会进行随机列采样,这与分段采样的思想符合,因此从理论和实验结果均表明,采用分段特征采样方法和随机森林分类器相结合的效果最佳。

3、本发明还提供了其它两种适用的特征采样方法,即随机特征采样方法和等时间间隔采样法,能否将时间序列转换成具有相同维度的特征数据。

附图说明

图1是本发明实施例一所提供基于特征采样的时间序列分类方法的流程图;

图2a是分段特征采样方法的示意图;

图2b是随机特征采样方法的示意图;

图2c是等时间间隔采样方法的示意图;

图3是本发明实施例六所提供基于特征采样的时间序列分类方法的流程图;

图4是本发明实施例七所提供基于特征采样的时间序列分类装置的示意图。

图中:401:数据采样单元;402:模型训练单元;403:模型预测单元。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

如图1所示,本发明实施例提供的基于特征采样的时间序列分类方法,可以包括以下步骤:

步骤s101:通过特征采样方法将训练用的时间序列数据集转化为具有等长特征的训练数据集,并将测试用的时间序列数据集转化为具有等长特征的测试数据集;

步骤s102:采用集成学习分类方法,利用所述具有等长特征的训练数据集进行模型训练;

步骤s103:使用训练后的模型对所述具有等长特征的测试数据集进行时间序列分类。

本发明主要针对时间序列问题的特征选取问题。给定一个时间序列的样本集合,每个样本包含一个时间序列xi={x(t)|t∈{1,2,,t}}以及该时间序列对应的分类标签,时间序列分类的目的是预测一个新给定的时间序列对应的标签。由于时间序列具有不等长的特点,以及时间序列数据前后具有相关性,比如,同属于一个类别的时间序列,可能只是某一部分的片段具有很高的相似性,本发明主要利用了时间序列中局部相似性这一特点,对于时间序列进行了随机采样。

本发明实施例提供的基于特征采样的时间序列分类方法,可以针对不同数据集进行数据的采样,然后应用机器学习算法进行分类,提高时间序列分类的准确率。

应该理解地是,本发明并不限定于图1中的步骤执行顺序,例如上述方法中步骤s101中的“将测试用的时间序列数据集转化为具有等长特征的测试数据集”的步骤也可以在步骤s102的模型训练完成之后进行。

实施例二

在实施例一所提供基于特征采样的时间序列分类方法的基础上,步骤s101中的特征采样方法为分段特征采样方法,具体可以通过如下方式实现:

首先,设置分段长度l1,分段个数m1和分段之间间隔g1;

随后,对于时间序列数据集中的每一条时间序列数据,如图2a所示,从时间序列数据开始位置进行采样,选取连续的l1个时间序列数据作为第一段特征数据,之后每一段采样开始的位置为上一段采样开始的位置加上分段之间间隔g1,每一段均选取l1个序列数据,采样后将每一条时间序列数据转换为m1个特征数据(即子时间序列t1、t2、t3……)。优选地,l1=5,g1=2,m1=3。

实施例三

在实施例二所提供基于特征采样的时间序列分类方法的基础上,步骤s102中采用的集成学习分类方法为基于bagging的随机森林分类器。

采样方法确定后,分类器的选择和设计也是本发明的重要研究内容。目前主流的分类方法包括决策树,逻辑回归等基本分类方法,也包括xgboost,梯度提升树等集成学习方法。决策树,逻辑回归等算法的实现易于编写,但是在准确率上效果差于集成学习分类方法,因此在分类器的选择上,本发明采用集成学习分类方法,结合实验结果,随机森林分类器的效果最佳。主要原因是随机森林分类器具有泛化性强,分类准确率较高,拟合能力强,可以分布式实现等优点,同时,随机森林算法在进行模型训练时,对于训练的特征数据会进行随机列采样,这与分段采样的思想符合。

实施例四

在实施例一所提供基于特征采样的时间序列分类方法的基础上,步骤s101中采用的特征采样方法为随机特征采样方法,具体可以通过如下方式实现:

设置随机特征采样的个数l2,采样的次数m2和初始采样位置b1;

对于时间序列数据集中的每一条时间序列数据,如图2b所示,从时间序列数据的初始采样位置b1开始,选取连续的l2个时间序列数据作为第一条特征数据,在第一条特征数据之后随机确定后续采样位置b2、b3等,进而选取连续的l2个时间序列数据作为第二条特征数据、第三条特征数据……,如此直至m2条特征数据选取完毕,在采样的过程中,严格保证选取的特征数据具有前后顺序,当选取特征维度超过时间序列最长长度时,从时间序列开始位置重复选取操作,采样后将每一条时间序列数据转换为m2条特征数据(即子时间序列t1、t2、t3……)。优选地,l2=5,g1=2。

实施例五

在实施例一所提供基于特征采样的时间序列分类方法的基础上,步骤s101中采用的特征采样方法为等时间间隔采样法,具体可以通过如下方式实现:

设置时间间隔g2,初始采样位置b1,采样特征个数m3;

对于时间序列数据集中的每一条时间序列数据,如图2c所示,从时间序列数据的初始采样位置b1开始,按照时间间隔g依次进行采样,采样的个数为m3,当采样位置超出时间序列的最大长度时,从时间序列开始位置继续采样,经过等时间间隔采样方法处理后,将每一条时间序列数据转换成一条特征数据(即子时间序列t1)。优选地,g2=2,m3=5。

针对时间序列数据的分类,常用的分类方法是不适合的,因为时间序列数据可能具有不同的特征维度,常见的机器学习分类方法在进行模型训练和分类时,要求特征的维度相同。因此,如何将时间序列转换成具有相同维度的特征数据成为了本发明的研究重点。针对时间序列不等长的特点,本发明提出使用采样方法将不等长的时间序列数据转换为等长的训练数据。结合采样方法和集成分类器,对时间序列数据进行分类,针对采样方法,提出了分段采样方法、随机特征采样方法、等时间间隔采样方法,这三种采样方法。这三种采样方法的提出主要是针对时间序列不等长,具有强时间关联性的特点,经过采样后,转化为等长的特征数据,从而使用梯度决策树,随机森林等分类器进行分类。

实施例三至五经过上述三种不同的采样方法处理后,均可以将不等长时间序列数据集转化为具有等长特征的数据集,从而进行模型的训练以及模型的预测,得到分类准确率。对于三种采样方法,本发明依次进行实验,比较三种采样方法的优劣。从分类的准确率来看,实施例三的分段特征采样方法优于实施例四和实施例五的采样方法。原因在于在实施例三的采样方法中,充分的结合了时间序列时间上强烈的关联性以及时间序列部分片段相似性的特征。实施例四的采样方法虽然考虑到了时间序列部分片段相似性的特点,但是随机采样导致了维度之间时间关联性可能会存在混乱,实施例五的采样方法中,等时间间隔采样法虽然考虑到了时间序列时间上的关联性,但是在间隔采样可能导致重要的片段进行丢失,因此,综合理论分析和实验效果,本发明优选采用实施例三的分段特征采样方法。

实施例六

结合前述实施例一至五,本发明提供了一种基于特征采样的时间序列分类方法,如图3所示,可以包括以下步骤:

步骤301:对训练用的时间序列数据集进行归一化处理;

步骤s302:通过特征采样方法将归一化处理后的训练用的时间序列数据集转化为具有等长特征的训练数据集;该步骤中的特征采样方法可以采用前述分段特征采样方法、随机特征采样方法和等时间间隔采样法。更优选地,该特征采样方法采用分段特征采样方法;

步骤s303:使用交叉验证的方法对特征采样方法中的参数进行确定,得到特征采样方法的最佳参数;

本发明前述实施例中提出了三种特性采样方法,三种特征采用方法中包含间隔(如前述分段之间间隔g1和时间间隔g2),初始采样位置b1,次数(如前述分段个数m1和采样的次数m2)等参数,均可以采用以下交叉验证的方法进行参数确定。首先,将训练集进行划分为两部分,其中一部分用来训练,另一部分用来预测,对于需要确定取值的参数,首先定义取值范围,对于分段之间间隔g1和时间间隔g2,设定取值范围为1-10,对于初始采样位置b1,可以采取随机生成的方法进行确定取值。分段个数m1和采样的次数m2可以设定为训练集中类别数加一,因为最终的结果由m个训练样本投票得出。分段长度l1、随机特征采样的个数l2和采样特征个数m3均与时间序列的长度有关系,取值范围设定为时间序列长度的0.85-1之间,每次迭代增加0.01。依次在取值范围内进行遍历,选出在测试集中准确率最高的参数集合作为参数的最终取值。

步骤s304:采用随机森林分类器,利用步骤s302得到的具有等长特征的训练数据集进行模型训练,得到训练后的模型;

步骤305:对测试用的时间序列数据集进行归一化处理;

步骤s306:通过特征采样方法将归一化处理后的训练用的时间序列数据集转化为具有等长特征的训练数据集;其中特征采样方法的类型与前述步骤s302中相同,且采用前述步骤s303中确定的最佳参数。

步骤s307:使用步骤s304训练后的模型对所述具有等长特征的测试数据集进行时间序列分类,根据分类结果进行投票,并得到预测结果,即得到测试用时间序列数据集中时间序列对应的分类标签。

实施例七

如图4所示,本发明实施例提供的基于特征采样的时间序列分类装置,可以包括:数据采样单元401、模型训练单元402和模型预测单元803;

数据采样单元401,用于通过特征采样方法将训练用的时间序列数据集转化为具有等长特征的训练数据集,并将测试用的时间序列数据集转化为具有等长特征的测试数据集。该数据采样单元401执行的操作与前述步骤s101相同,在此不再进行赘述;

模型训练单元402,用于采用集成学习分类方法,利用所述具有等长特征的训练数据集进行模型训练;该模型训练单元402执行的操作与前述步骤s102相同,在此不再进行赘述;

模型预测单元403,用于使用训练后的模型对所述具有等长特征的测试数据集进行时间序列分类;该模型预测单元403执行的操作与前述步骤s103相同,在此不再进行赘述。

另外需要说明的是,本发明实施例提供的基于特征采样的时间序列分类装置,可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的cpu将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1