1.本发明涉及数据处理技术领域,尤其涉及一种时间序列的定性趋势分析方法和装置。
背景技术:2.在现代工业报警系统中,需要监控的过程变量数以千计,与这些过程变量相关联的过程变量数量则更为庞大,这些过程变量的时间序列数据具有“大容量、多样性、变化性、真实性、高价值”的特点。针对过程变量时间序列数据的特点,从大量时间序列数据中发掘属于同类典型模式的相似数据段,利用数据段的模式特性进行报警监控,将有助于更好地实现对工业过程运行状况的监控。
3.因此,在时间序列分析领域,定性的判断时间序列在一段时间内的变化趋势是一个关键的问题。但是当时间序列的时间间隔很大时,通过肉眼很难准确判断时间序列在这段时间内的变化趋势。
技术实现要素:4.鉴于上述的分析,本发明实施例旨在提供一种时间序列的定性趋势分析方法和装置,用以解决当时间序列的时间间隔很大时,通过肉眼很难准确判断时间序列在这段时间内的变化趋势的问题。
5.一方面,本发明实施例提供了一种时间序列的定性趋势分析方法,包括:将待处理的时间序列划分为多个最小基元,其中,所述最小基元为单位采样时间内的线段;基于相邻基元的融合误差最小原则,将任一基元与左相邻基元或右相邻基元合并;计算各个分段数对应的基元与所述时间序列的拟合度指数,获取最大拟合度指数,以及根据所述最大拟合度指数确定最优分段数;重复执行将任一基元与左相邻基元或右相邻基元合并的步骤,直到基元的数量等于所述最优分段数;以及输出所有基元作为所述时间序列的分段线性表示结果,并根据所述分段线性表示结果确定所述时间序列的定性趋势。
6.上述技术方案的有益效果如下:通过本发明实施例的时间序列的定性趋势分析方法,将时间序列用一系列的基元来分段线性表示,并能够确定或准确判断时间序列在这段时间内的变化趋势。
7.基于上述方法的进一步改进,将时间序列划分为多个最小基元进一步包括:将以时间t为自变量的数据规范化为[0,1]区间内的值以获取以下所述时间序列t:t=[x(t)],t=1,2,
…
,n,其中,x(t)为样本点;将所述时间序列划分为n-1个最小基元,其中,所述最小基元分别为:t[1,2],t[2,3],
…
,t[n-1,n]。
[0008]
基于上述方法的进一步改进,基于相邻基元的融合误差最小原则,将任一基元与左相邻基元或右相邻基元合并进一步包括:从所述多个最小基元的中间基元中选择任一基元,计算所述任一基元与左侧相邻基元的第一融合误差和所述任一基元与右侧相邻基元的第二融合误差;将所述第一融合误差与所述第二融合误差相比较,以确定融合误差小的左
相邻基元或右相邻基元;以及将所述任一基元与融合误差小的所述左相邻基元或所述右相邻基元合并。
[0009]
基于上述方法的进一步改进,计算所述任一基元与左侧相邻基元的第一融合误差和所述任一基元与右侧相邻基元的第二融合误差进一步包括:所述任一基元为第j个基元t[j,j+1]、其左相邻基元为t[j-1,j]和其右相邻基元为t[j+1,j+2];计算所述时间序列t在t[j-1,j+1]内的第一方差α
jl
和在t[j,j+2]内的第二方差为α
jr
;基于所述多个最小基元内的所有样本点通过最小二乘法获取回归直线;计算所述第j个基元与所述左相邻基元合并后的所有样本点与所述回归直线的距离之和作为第一拟合误差ε
jl
,并且计算所述第j个基元与所述右相邻基元合并后的所有样本点与所述回归直线的距离之和作为第二拟合误差ε
jr
;以及计算所述第一方差与所述第一拟合误差的乘积α
jl
ε
jl
作为所述第一融合误差以及所述第二方差与所述第二拟合误差的乘积α
jr
ε
jr
作为所述第二融合误差。
[0010]
基于上述方法的进一步改进,计算各个分段数对应的基元与所述时间序列的拟合度指数进一步包括:通过先验知识确定时间序列t的最大分段数为k,其中,分段数的取值范围为s={1,2,
…
,k};以及通过以下公式计算拟合度指数fitness:
[0011][0012]
其中,i(
·
)表示指示函数,如果括号内的条件成立,该函数的取值为1,否则为0;符号|ci|表示集合ci中所含元素的个数,其中,通过dbscan密度聚类算法对样本点进行分类,所述集合ci是由每一类中的样本点构成的集合;d(t)表示某个基元内的样本点x(t)到基元对应的回归直线的距离,其中,基于合并后的基元与所述多个最小基元内的所有样本点通过最小二乘法获取回归直线;以及γi为预先设定的距离阈值。
[0013]
上述技术方案的有益效果如下:通过计算拟合度指数,能够剔除时间序列中的异常数据,以便于提高拟合效果。
[0014]
基于上述方法的进一步改进,根据所述最大拟合度指数确定最优分段数进一步包括:当拟合度指数fitness的值越大时,更多的样本点分布在所述回归直线附近;以及根据获取的拟合度指数fitness的最大值,确定所述最优分段数k
opt
。
[0015]
上述技术方案的有益效果如下:根据拟合度指数的值越大来确定的最优分段数,拟合效果达到最佳,以便于准确判断时间序列在这段时间内的变化趋势。
[0016]
基于上述方法的进一步改进,输出所有基元作为所述时间序列的分段线性表示结果进一步包括:在显示器上显示所述多个最小基元和合并完成后的基元作为所述时间序列的分段线性表示结果。
[0017]
基于上述方法的进一步改进,所述时间序列为温度、电流、电压、流量、压力或功率时间序列。
[0018]
基于上述方法的进一步改进,时间序列的定性趋势分析方法进一步包括:确定第一时间序列和第二时间序列的定性趋势;以及根据所述第一时间序列的定性趋势和所述第二时间序列的定性趋势,确定所述第一时间序列与所述第二时间序列之间的关系,其中,所述关系包括正比例关系和反比例关系。
[0019]
另一方面,本发明实施例提供了一种时间序列的定性趋势分析装置,包括:时间序列分割模块,用于将待处理的时间序列划分为多个最小基元,其中,所述最小基元为单位采样时间内的线段;合并模块,用于基于相邻基元的融合误差最小原则,将任一基元与左相邻基元或右相邻基元合并;最优分段数确定模块,用于计算各个分段数对应的基元与所述时间序列的拟合度指数,获取最大拟合度指数,以及根据所述最大拟合度指数确定最优分段数;所述合并模块,还用于在从所述最优分段数确定模块接收所述最优分段数之后,重复执行将任一基元与左相邻基元或右相邻基元合并的步骤,直到基元的数量等于所述最优分段数;以及结果确定模块,用于输出所有基元作为所述时间序列的分段线性表示结果,并根据所述分段线性表示结果确定所述时间序列的定性趋势。
[0020]
与现有技术相比,本发明至少可实现如下有益效果之一:
[0021]
1、将时间序列用一系列的基元来分段线性表示,能够判断时间序列在这段时间内的变化趋势。
[0022]
2、通过计算拟合度指数,能够剔除时间序列中的异常数据,以便于提高拟合效果。
[0023]
3、通过计算机的强大计算能力获取拟合度指数的最大值并根据拟合度指数的最大值来确定的最优分段数,拟合效果达到最佳,以便于准确判断时间序列在这段时间内的变化趋势。
[0024]
4、利用各个基元的变化趋势来判断时间序列的定性趋势,避免了肉眼识别的方法带来的精度不高和效率低下的问题,更能适应大数据分析的任务需求。
[0025]
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
[0026]
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
[0027]
图1为根据本发明实施例的时间序列的定性趋势分析方法的流程图。
[0028]
图2为根据本发明实施例的拟合度指数随分段数的变化趋势。
[0029]
图3为根据本发明实施例的时间序列的分段线性表示结果。
[0030]
图4为根据本发明实施例的时间序列的定性趋势分析装置的框图。
具体实施方式
[0031]
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
[0032]
本发明的一个具体实施例,公开了一种时间序列的定性趋势分析方法。如图1所示。时间序列的定性趋势分析方法包括:步骤s102,将待处理的时间序列划分为多个最小基元,其中,最小基元为单位采样时间内的线段;步骤s104,基于相邻基元的融合误差最小原则,将任一基元与左相邻基元或右相邻基元合并;步骤s106,计算各个分段数对应的基元与时间序列的拟合度指数,获取最大拟合度指数,以及根据最大拟合度指数确定最优分段数;
步骤s108,重复执行将任一基元与左相邻基元或右相邻基元合并的步骤,直到基元的数量等于最优分段数;以及步骤s110,输出所有基元作为时间序列的分段线性表示结果,并根据分段线性表示结果确定时间序列的定性趋势。
[0033]
与现有技术相比,本实施例提供的将时间序列用一系列的基元来分段线性表示,能够判断时间序列在这段时间内的变化趋势,从而能够避免在时间序列的时间间隔很大时,无法通过肉眼准确判断时间序列在这段时间内的变化趋势的问题。
[0034]
下文中,将参考图1至图3,对时间序列的定性趋势分析方法进行详细描述。
[0035]
参考图1,时间序列的定性趋势分析方法,包括:步骤s102,将待处理的时间序列划分为多个最小基元,其中,最小基元为单位采样时间内的线段。时间序列为温度、电流、电压、流量、压力或功率时间序列等。具体地,将时间序列划分为多个最小基元进一步包括:将以时间t为自变量的数据规范化为[0,1]区间内的值以获取以下时间序列t:t=[x(t)],t=1,2,
…
,n,其中,x(t)为样本点,例如,可以通过以下公式进行数据规范化:
[0036][0037]
其中,yi为第i个样本点x(t)的规化范的值;
[0038]
将时间序列划分为n-1个最小基元,其中,最小基元分别为:
[0039]
t[1,2],t[2,3],
…
,t[n-1,n]。
[0040]
在将时间序列划分为多个最小基元之后,进入步骤s104,基于相邻基元的融合误差最小原则,将任一基元与左相邻基元或右相邻基元合并。具体地,基于相邻基元的融合误差最小原则,将任一基元与左相邻基元或右相邻基元合并进一步包括:从多个最小基元的中间基元中选择任一基元,计算任一基元与左侧相邻基元的第一融合误差和任一基元与右侧相邻基元的第二融合误差;将第一融合误差与第二融合误差相比较,以确定融合误差小的左相邻基元或右相邻基元;以及将任一基元与融合误差小的左相邻基元或右相邻基元合并。计算任一基元与左侧相邻基元的第一融合误差和任一基元与右侧相邻基元的第二融合误差进一步包括:任一基元为第j个基元t[j,j+1]、其左相邻基元为t[j-1,j]和其右相邻基元为t[j+1,j+2];计算时间序列t在t[j-1,j+1]内的第一方差α
jl
和在t[j,j+2]内的第二方差为α
jr
;基于多个最小基元内的所有样本点通过最小二乘法获取回归直线;计算第j个基元与左相邻基元合并后的所有样本点与回归直线的距离之和作为第一拟合误差ε
jl
,并且计算第j个基元与右相邻基元合并后的所有样本点与回归直线的距离之和作为第二拟合误差ε
jr
;以及计算第一方差与第一拟合误差的乘积α
jl
ε
jl
作为第一融合误差以及第二方差与第二拟合误差的乘积α
jr
ε
jr
作为第二融合误差。
[0041]
将任一基元与左相邻基元或右相邻基元合并后,进入步骤s106,计算各个分段数对应的基元与时间序列的拟合度指数,获取最大拟合度指数,以及根据最大拟合度指数确定最优分段数。具体地,计算各个分段数对应的基元与时间序列的拟合度指数进一步包括:通过先验知识确定时间序列t的最大分段数为k,其中,分段数的取值范围为s={1,2,
…
,k};以及通过以下公式计算拟合度指数fitness:
[0042][0043]
其中,i(
·
)表示指示函数,如果括号内的条件成立,该函数的取值为1,否则为0;符号|ci|表示集合ci中所含元素的个数,其中,通过dbscan密度聚类算法对样本点进行分类,集合ci是由每一类中的样本点构成的集合;d(t)表示某个基元内的样本点x(t)到基元对应的回归直线的距离,其中,基于合并后的基元与多个最小基元内的所有样本点通过最小二乘法获取回归直线;以及γi为预先设定的距离阈值。在实施例中,根据最大拟合度指数确定最优分段数进一步包括:当拟合度指数fitness的值越大时,更多的样本点分布在回归直线附近;以及根据获取的拟合度指数fitness的最大值,确定最优分段数k
opt
。
[0044]
在根据最大拟合度指数确定最优分段数,步骤s108,重复执行将任一基元与左相邻基元或右相邻基元合并的步骤,直到基元的数量等于最优分段数。
[0045]
任一基元与左相邻基元或右相邻基元合并的步骤停止后,进入在步骤s110,输出所有基元作为时间序列的分段线性表示结果,并根据分段线性表示结果确定时间序列的定性趋势。输出所有基元作为时间序列的分段线性表示结果进一步包括:在显示器上显示多个最小基元和合并完成后的基元作为时间序列的分段线性表示结果。
[0046]
另外,时间序列的定性趋势分析方法还包括:确定第一时间序列和第二时间序列的定性趋势;以及根据第一时间序列的定性趋势和第二时间序列的定性趋势,确定第一时间序列与第二时间序列之间的关系,其中,关系包括正比例关系和反比例关系。
[0047]
与现有技术相比,通过本实施例提供的时间序列的定性趋势分析方法能够确定不同数据之间的正比例、反比例或不变等关系,以便于在信号分析、模式匹配和数据挖掘方面的应用。
[0048]
下文中,参考图2和图3,以具体实例的方式对时间序列的定性趋势分析方法进行详细描述。
[0049]
时间序列的定性趋势分析方法又称为基于分段线性表示的时间序列定性趋势分析方法,具体包括以下步骤:
[0050]
步骤s1.将时间序列划分为一系列的最小基元;
[0051]
时间序列被定义为(时间序列已经规范化到0和1之间):
[0052]
t=[x(t)],t=1,2,
…
,n.
[0053]
将时间序列t用一系列的最小基元来线性表示,其中最小基元的数目为n-1,各个最小基元分别为:
[0054]
t[1,2],t[2,3],
…
,t[n-1,n].
[0055]
步骤s2.按照融合误差最小原则合并相邻的基元;
[0056]
设时间序列t的第j-1,j,j+1个最小基元分别为t[j-1,j],t[j,j+1],t[j+1,j+2]。其中,时间序列t在t[j-1,j+1]内的方差为α
jl
,在t[j,j+2]内的方差为α
jr
。并且,时间序列t的t[j,j+1]基元与t[j-1,j]基元合并后的拟合误差为ε
jl
,与t[j+1,j+2]基元合并后的拟合误差为ε
jr
。
[0057]
如果α
jl
ε
jl
的值小于α
jr
ε
jr
的值,那么t[j,j+1]基元就与左相邻基元t[j-1,j]合并,
否则就与右相邻基元t[j+1,j+2]合并;
[0058]
步骤s3.设计拟合度指数来选择最优分段数;
[0059]
选择一个合适的分段数取值范围。例如,通过先验知识确定时间序列t的最大分段数为k,那么合适的分段数取值范围就为s={1,2,
…
,k}。
[0060]
设计拟合度指数fitness,它的数学表达式为:
[0061][0062]
其中,i(
·
)表示指示函数,如果括号内的条件成立,该函数的取值为1,否则为0。符号|ci|表示集合ci中所含元素的个数;并且,集合ci通过dbscan密度聚类算法得到,它是由每一类中的样本点构成的集合。d(t)表示某个基元内的样本点x(t)到该基元对应的回归直线的距离,其中回归直线由该基元内的所有样本点通过最小二乘法计算得到。γi为预先设定的距离阈值。拟合度指数fitness的值越大就说明有更多的样本点分布在回归直线附近。也就是说,分段线性表示对原始时间序列的拟合效果越好。因此,最优的分段数k
opt
是使得拟合度指数fitness的值最大。
[0063]
步骤s4.重复执行步骤s2直到基元的数量等于最优的分段数。
[0064]
按照步骤s2中的合并策略重复迭代合并相邻基元,直到基元的数目等于步骤s3中计算得到的最优分段数k
opt
。输出所有的基元作为原始时间序列的分段线性表示,通过判断各个基元的变化趋势,来确定时间序列的定性趋势;
[0065]
至此,实现了时间序列的定性趋势的自动识别方法。
[0066]
表1符号定义表
[0067]
符号符号的含义t[a,b]时间序列t从时刻a到时刻b的部分k时间序列t的最大分段数ci将时间序列t进行dbscan密度聚类以后形成的第i类n时间序列t样本数d(t)时间序列t的第t个样本x(t)到回归直线的距离
[0068]
基于分段线性表示的时间序列定性趋势分析方法,解决了时间间隔过大时肉眼无法准确识别时间序列的定性趋势的问题。通过将时间序列用一系列的基元来分段线性表示,并利用各个基元的变化趋势来判断时间序列的定性趋势,避免了肉眼识别的方法带来的精度不高和效率低下的问题,更能适应大数据分析的任务需求。
[0069]
本发明的另一个具体实施例,公开了一种时间序列的定性趋势分析装置。参考图4,时间序列的定性趋势分析装置包括:时间序列分割模块402,用于将待处理的时间序列划分为多个最小基元,其中,最小基元为单位采样时间内的线段;合并模块404,用于基于相邻基元的融合误差最小原则,将任一基元与左相邻基元或右相邻基元合并,还用于在从最优分段数确定模块接收最优分段数之后,重复执行将任一基元与左相邻基元或右相邻基元合并的步骤,直到基元的数量等于最优分段数;最优分段数确定模块406,用于计算各个分段
数对应的基元与时间序列的拟合度指数,获取最大拟合度指数,以及根据最大拟合度指数确定最优分段数;以及结果确定模块408,用于输出所有基元作为时间序列的分段线性表示结果,并根据分段线性表示结果确定时间序列的定性趋势。
[0070]
间序列的定性趋势分析装置还包括多个其他模块,由于间序列的定性趋势分析装置与间序列的定性趋势分析方法相对应,所以为了避免赘述,省略了多个其他模块的详细描述。
[0071]
与现有技术相比,本发明至少可实现如下有益效果之一:
[0072]
1、将时间序列用一系列的基元来分段线性表示,能够判断时间序列在这段时间内的变化趋势。
[0073]
2、通过计算拟合度指数,能够剔除时间序列中的异常数据,以便于提高拟合效果。
[0074]
3、通过计算机的强大计算能力获取拟合度指数的最大值并根据拟合度指数的最大值来确定的最优分段数,拟合效果达到最佳,以便于准确判断时间序列在这段时间内的变化趋势。
[0075]
4、利用各个基元的变化趋势来判断时间序列的定性趋势,避免了肉眼识别的方法带来的精度不高和效率低下的问题,更能适应大数据分析的任务需求。
[0076]
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
[0077]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。