一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种时间序列趋势相似度搜索方法、故障诊断方法及系统与流程

2022-11-12 22:53:31 来源:中国专利 TAG:


1.本发明涉及信息技术领域,具体涉及一种时间序列趋势相似度搜索方法、故障诊断方法及系统。


背景技术:

2.时间序列是一种十分常见的数据形式,在金融、工业、气象、医药、交通及计算机网络等十分广泛的领域中,均存在大量显式或隐式带有时间属性的数据。近年来,大数据分析计算相关应用到时间序列数据上,几乎所有的算法都需要计算对不同时间序列间的相互差异。在目前方法中,一般都是采用基于点的欧几里得距离的方法或改进方法进行匹配计算,为了防止测量度量不同造成的误差,要对比较序列进行标准化处理,大大增加了处理的计算量。而且采用不同的标准化方法处理会得到不同的距离,使得比较结果物理概念不够明晰。同时,欧几里得距离是一种静态的度量,无法有效体现时间序列的动态特性,不符合人类视觉感知。因此,时间序列的相似性搜索是整个时间序列知识发现的一个基础性工作,对大量时间序列数据进行大数据知识挖掘的具有重要的意义。
3.申请人经过检索,发现中国专利cn111324637a为与本专利最接近的现有技术,其公开日为2020年6月23日,公开了一种工业时序数据的故障征兆搜索方法及系统。其方法包括:获取工业时序数据的征兆描述;对所述征兆描述进行归一化处理,得到处理结果;根据所述处理结果,确定故障征兆的类型;获取一确定类型的故障征兆与征兆库中的故障征兆之间的相似度;将相似度大于一预设值的故障征兆输出。其技术方案可以更加准确、高效地确定工业时序数据的故障征兆。但其技术方案仅适用工业时序数据,不具有通用性。


技术实现要素:

4.本发明要解决的技术问题是:目前缺乏能够体现时间序列动态特性的高效时间序列搜索方案的技术问题。提出了一种时间序列趋势相似度搜索方法,能够高效且能够反映时间序列的动态特性。
5.为解决上述技术问题,本发明所采取的技术方案为:一种时间序列趋势相似度搜索方法,包括以下步骤:
6.定义时间序列s1和s2的趋势距离为d(s1,s2),
[0007][0008]
其中,l表示时间序列s2的长度,t
ih
表示时间序列s1的子序列i的长度,n表示时间序列s1和s2包含的点的数量,m
1i
表示时间序列s1的第i个点,m
2i
表示时间序列s2的第i个点,cov()代表了s1和s2两个时间序列点的差异的协方差,dt()表示m
1i
和m
2i
的距离;
[0009]
根据时间序列的变化情况,将待查时间序列s分成m个子序列s
k,k∈[1,m]
,令k等于初值1;
[0010]
计算待查时间序列s的子序列与目标序列q的趋势距离d(sk,q);
[0011]
若d(sk,q)>e
set
,则令k增加δk,若d(sk,q)≤e
set
,则令j∈[k-kr,k kr],kr为预设常数,依次计算d(sj,q),d(sj,q)中的最小值对应的子序列即为最佳匹配序列s
krj

[0012]
作为优选,根据时间序列的变化情况,将待查时间序列s分成m个子序列sk,k∈[1,m]的方法包括:
[0013]
计算目标序列q的方差;
[0014]
将待查时间序列s分成p个片段,p为整数,p>m;
[0015]
将连续的多个片段作为子序列,连续的多个片段的长度与目标序列q长度匹配;
[0016]
计算连续的多个片段的方差,若与目标序列q的方差差别小于预设阈值,则将连续的p个片段作为一个子序列。
[0017]
作为优选,将目标序列q按照片段长度划分为若干个区间,计算每个区间的平均值;
[0018]
以折线连接区间的平均值,获得折线的转折点数量;
[0019]
计算每个片段的平均值,以折线连接区间的平均值;
[0020]
连续多个片段的折线的转折点数量与目标序列q的折线的转折点数量相差低于预设阈值时,将连续的多个片段作为一个子序列。
[0021]
作为优选,δk的值由下式计算:
[0022][0023]
其中,round()为向下取整函数,||m||表示待查时间序列s的趋势数量。
[0024]
作为优选,kr的值由下式计算:kr=||m||
·
(d(sk,q) e
set
)。
[0025]
作为优选,待查时间序列s的趋势包括上升趋势、保持趋势及下降趋势。
[0026]
本发明的有益技术效果包括:定义了时间序列的分段趋势表示方法和分段趋势距离,能够高效的完成最佳匹配的时间序列的搜索,提高时间序列搜索效率;提出子序列线性度定义和一种双误差阈值改进分段算法,通过分析相邻子序列趋势距离的相似性,加快了时间序列的搜索;根据时间序列变化情况,将序列分成若干个子序列,依据子序列进行搜索,使匹配结果不再是静态的欧式距离,而是能够体现时间序列变化趋势的最佳匹配结果。
附图说明
[0027]
图1为本发明实施例时间序列趋势相似度搜索方法方法流程图。
[0028]
图2为本发明实施例子序列划分方法流程图。
[0029]
图3为本发明实施例子序列线性度计算方法流程图。
[0030]
图4为本发明实施例待查时间序列示意图。
[0031]
图5为本发明实施例目标序列示意图。
[0032]
图6为本发明实施例基于噪声故障诊断方法示意图。
[0033]
图7为本发明实施例基于振动故障诊断方法示意图。
具体实施方式
[0034]
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
[0035]
实施例一:
[0036]
一种时间序列趋势相似度搜索方法,请参阅附图1,包括以下步骤:
[0037]
步骤a01)定义时间序列s1和s2的趋势距离为d(s1,s2),
[0038][0039]
其中,l表示时间序列s2的长度,t
ih
表示时间序列s1的子序列i的长度,n表示时间序列s1和s2包含的点的数量,m
1i
表示时间序列s1的第i个点,m
2i
表示时间序列s2的第i个点,cov()代表了s1和s2两个时间序列点的差异的协方差,dt()表示m
1i
和m
2i
的距离;
[0040]
步骤a02)根据时间序列的变化情况,将待查时间序列s分成m个子序列s
k,k∈[1,m]
,令k等于初值1;
[0041]
步骤a03)计算待查时间序列s的子序列与目标序列q的趋势距离d(sk,q);
[0042]
步骤a04)若d(sk,q)>e
set
,则令k增加δk,若d(sk,q)≤e
set
,则令j∈[k-kr,k kr],kr为预设常数,依次计算d(sj,q),d(sj,q)中的最小值对应的子序列即为最佳匹配序列s
krj

[0043]
请参阅附图2,根据时间序列的变化情况,将待查时间序列s分成m个子序列s
k,k∈[1,m]
的方法包括:
[0044]
步骤b01)计算目标序列q的方差;
[0045]
步骤b02)将待查时间序列s分成p个片段,p为整数,p>m;
[0046]
步骤b03)将连续的多个片段作为子序列,连续的多个片段的长度与目标序列q长度匹配;
[0047]
步骤b04)计算连续的多个片段的方差,若与目标序列q的方差差别小于预设阈值,则将连续的p个片段作为一个子序列。
[0048]
请参阅附图3,以线性度划分子序列的方法包括:
[0049]
步骤c01)将目标序列q按照片段长度划分为若干个区间,计算每个区间的平均值;
[0050]
步骤c02)以折线连接区间的平均值,获得折线的转折点数量;
[0051]
步骤c03)计算每个片段的平均值,以折线连接区间的平均值;
[0052]
步骤c04)连续多个片段的折线的转折点数量与目标序列q的折线的转折点数量相差低于预设阈值时,将连续的多个片段作为一个子序列。
[0053]
δk的值由下式计算:
[0054][0055]
其中,round()为向下取整函数,||m||表示待查时间序列s的趋势数量。
[0056]
kr的值由下式计算:kr=||m||
·
(d(sk,q) e
set
)。待查时间序列s的趋势包括上升趋势、保持趋势及下降趋势。
[0057]
请参阅附图4,为待查时间序列s示意图,图5为目标序列q,在图4中寻找图5所示序列最为接近的子序列。首先将待查时间序列s划分为若干个子序列sk。而后依次计算每个子序列sk与目标序列q的趋势距离d(sk,q)。即k等于1开始,计算d(s1,q),若d(s1,q)>e
set
,则令k=1 δk,而后再次计算d(sk,q)。若若d(sk,q)≤e
set
,则令j∈[k-kr,k kr],kr为预设常数,依次计算d(sj,q),d(sj,q)中的最小值对应的子序列即为最佳匹配序列s
krj
。其中δk采用本实施例提供的改进算法,即
[0058]
本实施例的有益技术效果包括:定义了时间序列的分段趋势表示方法和分段趋势距离,能够高效的完成最佳匹配的时间序列的搜索,提高时间序列搜索效率;提出子序列线性度定义和一种双误差阈值改进分段算法,通过分析相邻子序列趋势距离的相似性,加快了时间序列的搜索;根据时间序列变化情况,将序列分成若干个子序列,依据子序列进行搜索,使匹配结果不再是静态的欧式距离,而是能够体现时间序列变化趋势的最佳匹配结果。
[0059]
实施例二:
[0060]
一种时间序列趋势相似度搜索方法,在本实施例中用于电机故障的诊断。在本实施例中,待查时间序列s为一段时间内采集到的电机噪声,将电机噪声截断为若干个子序列。目标序列q为预先建立的故障噪声模板。
[0061]
请参阅附图6,诊断电机故障时,包括以下步骤:
[0062]
步骤d01)采集故障电机的噪声,形成故障噪声模板,作为目标序列q;
[0063]
步骤d02)现场采集电机的噪声,获得待查时间序列s;
[0064]
步骤d03)根据时间序列的变化情况,将待查时间序列s分成m个子序列s
k,k∈[1,m]
,令k等于初值1;
[0065]
步骤d04)计算待查时间序列s的子序列与目标序列q的趋势距离d(sk,q);
[0066]
步骤d05)若d(sk,q)>e
set
,则令k增加δk,若d(sk,q)≤e
set
,则令j∈[k-kr,k kr],kr为预设常数,依次计算d(sj,q),d(sj,q)中的最小值对应的子序列即为最佳匹配序列s
krj

[0067]
步骤d06)计算最佳匹配序列s
krj
与目标序列q的趋势距离为d(s
krj
,q),若d(s
krj
,q)小于预设阈值,则判定电机的故障为目标序列q对应的故障。
[0068]
将待查时间序列s分成m个子序列s
k,k∈[1,m]
的方法包括:计算目标序列q的方差;将待查时间序列s分成p个片段,p为整数,p>m;将连续的多个片段作为子序列,连续的多个片段的长度与目标序列q长度匹配;计算连续的多个片段的方差,若与目标序列q的方差差别小于预设阈值,则将连续的p个片段作为一个子序列。
[0069]
划分子序列的方法包括:将目标序列q按照片段长度划分为若干个区间,计算每个区间的平均值;以折线连接区间的平均值,获得折线的转折点数量;计算每个片段的平均值,以折线连接区间的平均值;连续多个片段的折线的转折点数量与目标序列q的折线的转折点数量相差低于预设阈值时,将连续的多个片段作为一个子序列。
[0070]
实施例三:
[0071]
一种时间序列趋势相似度搜索方法,在本实施例中用于电机故障的诊断。在本实施例中,待查时间序列s为一段时间内采集到的电机的振动,将电机振动截断为若干个子序列。目标序列q为预先建立的故障振动模板。
[0072]
诊断电机故障时,请参阅附图7,包括:
[0073]
步骤e01)采集故障电机的振动,形成故障振动模板,作为目标序列q;
[0074]
步骤e02)现场采集电机的振动,作为待查时间序列s;
[0075]
步骤e03)根据待查时间序列s的变化情况,将待查时间序列s分成m个子序列s
k,k∈[1,m]
,令k等于初值1;
[0076]
步骤e04)计算待查时间序列s的子序列与目标序列q的趋势距离d(sk,q);
[0077]
步骤e05)若d(sk,q)>e
set
,则令k增加δk,若d(sk,q)≤e
set
,则令j∈[k-kr,k kr],kr为预设常数,依次计算d(sj,q),d(sj,q)中的最小值对应的子序列即为最佳匹配序列s
krj

[0078]
步骤e06)计算最佳匹配序列s
krj
与目标序列q的趋势距离为d(s
krj
,q),若d(s
krj
,q)小于预设阈值,则判定电机的故障为目标序列q对应的故障。
[0079]
将待查时间序列s,即一段时间内的振动序列,分成m个子序列s
k,k∈[1,m]
的方法包括:计算目标序列q的方差;将待查时间序列s分成p个片段,p为整数,p>m;将连续的多个片段作为子序列,连续的多个片段的长度与目标序列q长度匹配;计算连续的多个片段的方差,若与目标序列q的方差差别小于预设阈值,则将连续的p个片段作为一个子序列。
[0080]
划分子序列的方法包括:将目标序列q按照片段长度划分为若干个区间,计算每个区间的平均值;以折线连接区间的平均值,获得折线的转折点数量;计算每个片段的平均值,以折线连接区间的平均值;连续多个片段的折线的转折点数量与目标序列q的折线的转折点数量相差低于预设阈值时,将连续的多个片段作为一个子序列。
[0081]
实施例四:
[0082]
一种使用时间序列趋势相似度搜索方法的故障诊断系统,包括声音采集装置、振动检测装置、通信模块、存储模块、显示模块、供电模块和控制器,声音采集装置包括麦克风和采集板,振动检测装置包括三轴振动加速度计和无线通信模块,麦克风通过导线与采集板连接,三轴振动加速度计与无线通信模块通信连接,显示模块安装在壳体上,采集板、无线通信模块、通信模块、存储模块及显示模块均与控制器连接,通信模块与上位机连接,供电模块为其余元器件供电。三轴振动加速度计包括磁吸附座、三轴加速度计、变送器、电池和无线数据传输模块,三轴加速度计安装在磁吸附座上,磁吸附座吸附在待测设备上,变送器与三轴加速度计连接,无线数据传输模块与变送器连接,无线数据传输模块与无线通信模块建立通信连接,电池为三轴加速度计、变送器和无线数据传输模块供电。
[0083]
存储模块内存储有故障电机的噪声序列q1和振动序列q2。故障诊断系统的工作过程为:
[0084]
控制器收集一段时间内麦克风采集到的噪声信号和振动信号,分别记为噪声序列s1和振动序列s2;
[0085]
将噪声序列s1分成m个子序列s1
k1,k1∈[1,m]
,令k1等于初值1;
[0086]
计算噪声序列s1的子序列与目标序列q1的趋势距离d(s1
k1
,q1);
[0087]
若d(s1
k1
,q1)>e
set
,则令k1增加δk,若d(s1
k1
,q1)≤e
set
,则令j∈[k1-kr1,k1 kr1],kr1为预设常数,依次计算d(s1j,q1),d(s1j,q1)中的最小值对应的子序列即为最佳匹配序列s1
krj

[0088]
计算最佳匹配序列s1
krj
与目标序列q1的趋势距离为d(s1
krj
,q1),若d(s1
krj
,q1)小于预设阈值,则判定电机的故障为目标序列q1对应的故障;
[0089]
将振动序列s2分成m个子序列s2
k2,k2∈[1,m]
,令k2等于初值1;
[0090]
计算噪声序列s2的子序列与目标序列q2的趋势距离d(s2
k2
,q2);
[0091]
若d(s2
k2
,q2)>e
set
,则令k2增加δk,若d(s2
k2
,q2)≤e
set
,则令j∈[k2-kr2,k2 kr2],kr2为预设常数,依次计算d(s2j,q2),d(s2j,q2)中的最小值对应的子序列即为最佳匹配序列s2
krj

[0092]
计算最佳匹配序列s2
krj
与目标序列q2的趋势距离为d(s2
krj
,q2),若d(s2
krj
,q2)小于预设阈值,则判定电机的故障为目标序列q2对应的故障。
[0093]
综上所述,上述实施例,定义了时间序列的分段趋势表示方法和分段趋势距离,能
够高效的完成最佳匹配的时间序列的搜索,提高时间序列搜索效率;提出子序列线性度定义和一种双误差阈值改进分段算法,通过分析相邻子序列趋势距离的相似性,加快了时间序列的搜索;根据时间序列变化情况,将序列分成若干个子序列,依据子序列进行搜索,使匹配结果不再是静态的欧式距离,而是能够体现时间序列变化趋势的最佳匹配结果。
[0094]
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献