一种变点检测优化方法、系统及装置

文档序号:26589868发布日期:2021-09-10 20:33阅读:180来源:国知局
一种变点检测优化方法、系统及装置

1.本发明涉及信号统计、数据处理的技术领域,更具体地,涉及一种变点检测优化方法、系统及装置。


背景技术:

2.变点检测目前已经广泛应用于众多科学工程领域,其中包括网络安全、生物遗传学、气候模拟、金融数据分析等,例如,在对台风进行检测的过程中,科学家可以通过变点检测的方法对监测到的波动数据进行检测、分析检测数据的情况,以达到预测的目的,进而提前对气候灾难进行预防,减小自然灾害带来的经济损失。在工业生产方面,工作人员可以通过对产品波动进行变点检测,以对生产过程的异常情况进行警报,及时调整生产故障,从而保证产品的质量。
3.曲线下面积(area under the curve,即auc)是接收机工作特性曲线下面积,即roc曲线与坐标轴形成的面积,常用于分析两类问题。根据auc与统计学中的著名的曼

惠特尼u统计量(mann

whitney ustatistic,即mwus)等价关系,可以求出两类样本对应的auc估计值,考虑到auc统计量在二分类问题中存在特性优越的特性,因此,传统常利用曲线下面积,并通过阈值设定,以检测数据序列是否存在变点,但仅利用auc及相应的判断阈值进行变点检测仍存在一定的不足,如:虚变点率高、检测速度缓慢等,auc统计量的计算时间复杂度为平方量级,随着窗口尺寸或者待测数据序列量的增大,计算时间将会急剧增大。
4.2018年10月16日,中国发明专利(公开号:cn108664348a)中公开了一种基于cuda的快速变点检测方法、装置及存储介质,考虑变点检测的实时性的问题,该专利通过gpu对待检测样本数据进行并行计算同时得到多个auc估计值,缩短变点检测所需的时间,保证变点检测的实时性,但在待测数据序列量较大时,一般待检测的信号存在多种噪声信号,给检测带来很大的困难,进而会造成高虚警率等问题,因此该方法无法兼顾高准确率与高速度的要求。


技术实现要素:

5.为解决当前变点检测的传统方法无法兼顾变点检测速率与检测准确率的问题,本发明提出一种变点检测优化方法、系统及装置,以提高变点检测的准确度,加快变点检测的速度。
6.为了达到上述技术效果,本发明的技术方案如下:
7.一种变点检测优化方法,所述方法至少包括:
8.s1.设置第一检测窗口与第二检测窗口的长度;
9.s2.滑动第一检测窗口与第二检测窗口,分别获取待测数据序列,所述第一检测窗口获取的数据定义为正类数据,第二检测窗口获取的数据定义为负类数据;
10.s3.利用动态规划法计算正类数据与负类数据的auc统计量,获得auc序列;
11.s4.利用指数加权移动平均法对auc序列进行光滑处理;
12.s5.通过零假设实验,获得auc密度分布图,设置置信度,再根据相应的置信度及累积分布图求取相应的阈值,以检测潜在突变点;
13.s6.设置k值,利用k值法进一步确认真实突变点,筛除虚假变点;
14.s7.输出待测数据序列的突变点个数及位置。
15.在本技术方案中,使用auc统计量作为检测变量,auc变量在二分类方面具有良好的特性,能够很好辨别出两类数据是否有比较大的区别,本技术将突变点前后的数据序列看作两类不同的数据,并用利用auc统计量对两类数据的差异性进行估计。
16.优选地,令q={q1,q2,..,q
t
}为待测数据序列,序列中的元素独立同分布于f(μ,δ2),其中,μ,δ2分别为q的均值和方差,当序列发生均值时,其数学模型表述如下:
17.q
i
~f(μ+δ
μ
,δ2)τ+1≤i≤n,所述第一检测窗口与第二检测窗口为连续的、且大小一致的检测窗口。
18.在此,当检测窗口一致时,方差值最小,效果最为稳定,auc统计量的方差降低可以保持目标序列的auc统计量序列的平稳性,有助于对于目标序列突变点的检测。
19.优选地,步骤s3所述利用动态规划法计算正类数据与负类数据的auc统计量的具体过程为:
20.s31.设正类数据表示为负类数据表示为将正类数据与负类数据汇总为序列对进行排序,得到z1<z2<

<z
m+n
;其中,m表示正类数据的个数,n表示负类数据的个数;
21.s32.获取正类数据和负类数据在序列z1<z2<

<z
m+n
中对应的位置及数量,表达式分别为m
x
=[a1,a2,...,a
k
]、m
y
=[b1,b2,...,b
k
],其中,a
l
表示x
i
等于z
k
的个数以及在序列z
k
中相应的位置,b
l
表示y
j
等于z
k
的个数以及在序列z
k
中相应的位置;
[0022]
s33.使用cumsum函数进行加乘计算,公式为:
[0023][0024]
其中,h为指示函数,当x
i
<y
j
时,h为1,否则为0;上式计算规则满足:
[0025][0026]
s34.将步骤s33的计算结果除以正、负类数据数量的乘积,得到auc统计量,表达式为:
[0027][0028]
在此,考虑传统auc估计方法的时间复杂度比较高,可能无法适用于一些对速度要求比较苛刻的环境,使用动态规划法对auc统计量计算进行优化,能够使其时间复杂度降为线性时间复杂度,从而极大提高计算速度。
[0029]
优选地,步骤s4所述利用指数加权移动平均法对auc序列进行光滑处理的表达式为:
[0030][0031]
其中,θ
t
表示到第t时刻auc的平均值,表示第t时刻的auc值,α为可调参数。
[0032]
优选地,步骤s5所述的零假设实验指无突变点序列的情况下,进行重复随机试验;
[0033]
步骤s5所述的具体过程为:
[0034]
s51.设定随机试验重复次数上限;
[0035]
s52.根据检测窗口的大小,随机产生两类来自同一分布的数据,分别为正类数据与负类数据;
[0036]
s53.计算两类数据的auc值;
[0037]
s54.判断随机试验重复次数是否达到上限,若是,执行步骤s55;否则,执行返回步骤s51;
[0038]
s55.画出auc对应的密度分布图及累积分布图,设置置信度,根据相应的置信度及累积分布图,计算获得相应的阈值。
[0039]
优选地,步骤s55所述的置信度为95%。
[0040]
优选地,步骤s6所述设置k值的过程为:
[0041]
随机产生不存在突变点的数值序列,以不存在突变点的数值序列进行重复试验;
[0042]
计算不存在突变点的数值序列的auc值;
[0043]
画出auc对应的密度分布图,计算超过阈值的auc值点的个数,画出auc值超过阈值的个数分布图a;
[0044]
随机产生存在突变点的数值序列,以存在突变点的数值序列进行重复试验;
[0045]
计算存在突变点的数值序列的auc值;
[0046]
画出auc对应的密度分布图,计算超过阈值的auc值点的个数,画出auc值超过阈值的个数分布图b;
[0047]
结合个数分布图a与个数分布图b设定k值。
[0048]
优选地,在步骤s6所述确认真实突变点,筛除虚假变点的过程中:将auc值超过阈值并达到k值点数的变点判定为真实突变点,否则,为虚假变点。
[0049]
在此,仅以阈值作为变点的判断标准,仍会存在高虚突变点率的问题,因此,探究不同情况下auc值超过阈值的分布及特点,将auc值超过阈值并达到k值点数的变点判定为真实突变点的判断方法有助于提高突变点检测的准确率。
[0050]
本发明还提出一种变点检测优化系统,所述系统包括:
[0051]
设置模块,用于设置第一检测窗口与第二检测窗口的长度;
[0052]
数据获取模块,用于滑动第一检测窗口与第二检测窗口,分别获取待测数据序列,所述第一检测窗口获取的数据定义为正类数据,第二检测窗口获取的数据定义为负类数据;
[0053]
auc序列获取模块,利用动态规划法计算正类数据与负类数据的auc统计量,获得auc序列;
[0054]
auc处理模块,利用指数加权移动平均法对auc序列进行光滑处理;
[0055]
阈值设置模块,通过零假设实验,获得auc密度分布图,设置置信度,再根据相应的置信度及累积分布图求取相应的阈值;
[0056]
k值设置及检测模块,用于设置k值,利用k值法进一步确认真实突变点,筛除虚假变点,输出待测数据序列的突变点个数及位置。
[0057]
本发明还提出一种变点检测优化装置,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述方法的步骤。
[0058]
与现有技术相比,本发明技术方案的有益效果是:
[0059]
本发明提出一种变点检测优化方法、系统及装置,首先设置两个检测窗口,然后通过移动窗口以获取相应的待测数据序列,并将两个窗口的数据分别记为不同的类别,然后计算两类数据的auc估计值,从而获得auc序列;利用动态规划法降低auc计算的时间复杂度;利用指数移动加权平均法对auc序列进行光滑化处理,以此减小特殊噪声信号的影响;并根据已设定好的阈值,探究突变情况下,auc值超过阈值的数据点的经验分布,从而设定相应的k值,并将超过阈值的auc数据点的数量小于k的变点进行筛除,提高变点检测的速率以及检测准确度。
附图说明
[0060]
图1表示本发明实施例中提出的的变点检测优化的流程示意图;
[0061]
图2表示本发明实施例中提出的动态规划法计算过程示意图;
[0062]
图3表示本发明实施例中步骤s5提出的auc对应的密度分布图;
[0063]
图4表示本发明实施例中auc密度分布图所对应的累计分布图示意图;
[0064]
图5表示本发明实施例中提出的变点检测优化系统的结构图。
具体实施方式
[0065]
附图仅用于示例性说明,不能理解为对本专利的限制;
[0066]
为了更好地说明本实施例,附图某些部位会有省略、放大或缩小,并不代表实际尺寸;
[0067]
对于本领域技术人员来说,附图中某些公知内容说明可能省略是可以理解的。
[0068]
附图中描述位置关系的仅用于示例性说明,不能理解为对本专利的限制;
[0069]
下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0070]
实施例
[0071]
如图1所示的变点检测优化方法的流程示意图,所述方法包括以下步骤:
[0072]
s1.设置第一检测窗口与第二检测窗口的长度;
[0073]
s2.滑动第一检测窗口与第二检测窗口,分别获取待测数据序列,所述第一检测窗口获取的数据定义为正类数据,第二检测窗口获取的数据定义为负类数据;获取正类数据与负类数据以计算auc值;
[0074]
s3.利用动态规划法计算正类数据与负类数据的auc统计量,获得auc序列;
[0075]
s4.利用指数加权移动平均法对auc序列进行光滑处理;
[0076]
s5.通过零假设实验,获得auc密度分布图,设置置信度,再根据相应的置信度及累积分布图获得相应的阈值,以检测潜在突变点;
[0077]
s6.设置k值,利用k值法进一步确认真实突变点,筛除虚假变点;
[0078]
s7.输出待测数据序列的突变点个数及位置。
[0079]
使用auc统计量作为检测变量,auc变量在二分类方面具有良好的特性,能够很好辨别出两类数据是否有比较大的区别,本技术将突变点前后的数据序列看作两类不同的数据,并用利用auc统计量对两类数据的差异性进行估计。
[0080]
突变点模型表示:
[0081]
令q={q1,q2,..,q
t
}为待测数据序列,序列中的元素独立同分布于f(μ,δ2),其中,μ,δ2分别为q的均值和方差,当序列发生均值时,其数学模型表述如下:
[0082]
q
i
~f(μ+δ
μ
,δ2)τ+1≤i≤n;
[0083]
在本实施例中,第一检测窗口与第二检测窗口为连续的、且大小一致的检测窗口。因为当检测窗口一致时,方差值最小,效果最为稳定,auc统计量的方差降低可以保持目标序列的auc统计量序列的平稳性,有助于对于目标序列突变点的检测。
[0084]
在本实施例中,考虑传统auc估计方法的时间复杂度比较高,可能无法适用于一些对速度要求比较苛刻的环境,使用动态规划法对auc统计量计算进行优化,能够使其时间复杂度降为线性时间复杂度,从而极大提高计算速度,利用动态规划法计算正类数据与负类数据的auc统计量的具体过程为:
[0085]
s31.设正类数据表示为负类数据表示为将正类数据与负类数据汇总为序列对进行排序,得到z1<z2<

<z
m+n
;其中,m表示正类数据的个数,n表示负类数据的个数;
[0086]
s32.获取正类数据和负类数据在序列z1<z2<

<z
m+n
中对应的位置及数量,表达式分别为m
x
=[a1,a2,...,a
k
]、m
y
=[b1,b2,...,b
k
],其中,a
l
表示x
i
等于z
k
的个数以及在序列z
k
中相应的位置,b
l
表示y
j
等于z
k
的个数以及在序列z
k
中相应的位置;
[0087]
s33.使用cumsum函数进行加乘计算,公式为:
[0088][0089]
计算过程如图2所示,动态规划的路径由左下角向右上角进行计算,并遵循以下的计算规则:
[0090][0091]
s34.将步骤s33的计算结果除以正、负类数据数量的乘积,得到auc统计量,表达式为:
[0092][0093]
其中,h为指示函数,当x
i
<y
j
时,h为1,否则为0。
[0094]
由于现实中的信号、时间序列数据存在噪声信号,脉冲信号等。因此,在本实施例中,使用指数加权移动平均方法能够在一定程度上对该类噪声进行有效地抑制,步骤s4所述利用指数加权移动平均法对auc序列进行光滑处理的表达式为:
[0095][0096]
其中,θ
t
表示到第t时刻auc的平均值,表示第t时刻的auc值,α为可调参数。
[0097]
在本实施例中,步骤s5所述的零假设实验指无突变点序列的情况下,进行重复随机试验;
[0098]
步骤s5所述的具体过程为:
[0099]
s51.设定随机试验重复次数上限;
[0100]
s52.根据检测窗口的大小,随机产生两类来自同一分布的数据,分别为正类数据与负类数据;
[0101]
s53.计算两类数据的auc值;在本实施例中,计算两类数据的auc值也是利用前述的动态规划法以加快计算速度;
[0102]
s54.判断随机试验重复次数是否达到上限,若是,执行步骤s55;否则,执行返回步骤s51;
[0103]
s55.画出auc对应的密度分布图如图3所示,以及对应的累积分布图如图4所示,设置置信度,根据相应的置信度及累积分布图,即可获得相应的阈值,其中置信度为95%,得出过程具体如图4所示。
[0104]
步骤s5使用经验分布对阈值进行选择,首先在没有突变点序列的情况下,经过大量的随机重复实验,并根据一定的置信区间设定相关的阈值,用于潜在变点的判断,即超过阈值的auc值可能是数据序列的突变点。
[0105]
在本实施例中,考虑到使用k值法对虚变点进一步滤除,仅以阈值作为突变点的判断标准,仍会存在高虚突变点率的问题,因此,探究不同情况下auc值超过阈值的分布及特点,并制定相应的判断方法将有助于提高突变点检测的准确率,综上,步骤s6进行了k值的设置,所述设置k值的过程为:
[0106]
随机产生不存在突变点的数值序列,以不存在突变点的数值序列进行重复试验;
[0107]
计算不存在突变点的数值序列的auc值;
[0108]
画出auc对应的密度分布图,计算超过阈值的auc值点的个数,画出auc值超过阈值的个数分布图a;
[0109]
随机产生存在突变点的数值序列,以存在突变点的数值序列进行重复试验;
[0110]
计算存在突变点的数值序列的auc值;
[0111]
画出auc对应的密度分布图,计算超过阈值的auc值点的个数,画出auc值超过阈值的个数分布图b;
[0112]
结合个数分布图a与个数分布图b设定k值。在此,通过观察个数分布图a与个数分布图b,k值相当于一个门限,尽可能将a,b正确分离。
[0113]
在步骤s6所述确认真实突变点,筛除虚假变点的过程中:将auc值超过阈值并达到k值点数的变点判定为真实突变点,否则,为虚假变点。
[0114]
如图5所示,本发明还提出一种变点检测优化系统,所述系统包括:
[0115]
设置模块,用于设置第一检测窗口与第二检测窗口的长度;
[0116]
数据获取模块,用于滑动第一检测窗口与第二检测窗口,分别获取待测数据序列,所述第一检测窗口获取的数据定义为正类数据,第二检测窗口获取的数据定义为负类数
据;
[0117]
auc序列获取模块,利用动态规划法计算正类数据与负类数据的auc统计量,获得auc序列;
[0118]
auc处理模块,利用指数加权移动平均法对auc序列进行光滑处理;
[0119]
阈值设置模块,通过零假设实验,获得auc密度分布图,设置置信度,再根据相应的置信度及累积分布图求取相应的阈值;
[0120]
k值设置及检测模块,用于设置k值,利用k值法进一步确认真实突变点,筛除虚假变点,输出待测数据序列的突变点个数及位置。
[0121]
本发明还提出一种变点检测优化装置,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述方法的步骤。
[0122]
显然,本发明的上述实施例仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1