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

一种基于检验统计量的高维数据流变点检验方法及系统与流程

2022-03-26 16:37:14 来源:中国专利 TAG:


1.本技术涉及数据统计技术领域,具体涉及一种基于检验统计量的高维数据流变点检验方法及系统


背景技术:

2.时间序列数据通常会在某些时间点突然发生结构变化,通常称该时间点为变点。随着高通量技术地迅猛发展,多维数据变点检验问题近年来受到了广泛关注。多维数据变点检验的目的是随着数据时间点和维度数量的增加能准确有效地检验出变点的位置。
3.在实际应用场景中,通常需要对大规模并行数据流进行变点检验.对于此类问题,一般考虑变点是同时出现的,即可以当成是多维数据流下的单变点检验问题。然而并行数据流的多变点检验问题的难点在于每条数据流都可能存在变点,且不一定在同一时间或同一场景下出现,且个数可能相同也可能不同。目前还没有根据并行数据流的特点进行多变点检验的具体研究,观测者对数据流并行进行分析的目的是希望在将数据流看成一个整体的前提下,能采用与所有数据流相关的整体性能标准进行研究分析,从而得到一个有意义的系统性分析结果。
4.现有的检验方法会随着数据长度或维度不断增长而使检验准确率不稳定,且模型计算复杂度也会随之升高,繁杂的遍历程序也会带来巨大的时间成本,位于边界的变点也常常被忽略。因此,需要在保持检验准确率的前提下提高算法的运行速度,并增强其包容性和适应性。
5.鉴于此,设计一种在不损失原始数据信息的前提下,经检验得到变点个数和位置的方法及系统具有十分重要的意义。


技术实现要素:

6.本技术实施例提出了一种基于检验统计量的高维数据流变点检验方法,包括以下步骤:
7.s110、获取高维数据流,利用数据集分割算法将高维数据流随机分成若干个完整的数据子集;
8.s120、计算数据子集区间的检验统计量值l
t
,并输出最大检验统计量值的数据点位置,将数据点作为候选点添加至变点候选集中;
9.s130、利用候选点将数据子集一分为二,在候选点的左右两侧再次递归抽取数据子集;
10.s140、重复步骤s120-s130,直到数据子集的长度达到设定的最小长度阈值;
11.s150、计算变点候选集中每个候选点对应的检验统计量值的累加和v,将累加和v除以标准差sv所得的商v/sv与检验阈值z
α
进行比较;以及s160、若所得的商v/sv大于检验阈值z
α
,则认定候选点为变点,输出变点的个数和位置。
12.本技术的变点检验方法结合了高维数据流的时空依赖性,即使数据集的维度要远
远大于数据量长度,也能够检验和估计位于时间序列边界上的变点,而且准确率和鲁棒性更高且速度更快。
13.在一些实施例中,在步骤s120中,计算检验统计量l
t
的表达式为:
[0014][0015]
其中,{xi∈r
p
,1≤i≤n}为一p维观测序列,任意的t∈{1,...,n-1},且f
t
(i)是一个(m 1)维的向量函数,f
n,m
为(m 1)
×
(m 1)维矩阵,u为(m 1)维随机向量。
[0016]
通过检验统计量l
t
将数据主导依赖性与其它依赖性分离,而在式子中加入是为了防止在假设检验和估计时数据相互依赖性的干扰。其中,检验统计量l
t
的值取决于m,当数据相互独立时,m=0,反之,则m=2。
[0017]
在一些实施例中,当i=1时,向量函数f
t
(1)=1;当i∈{2,

,m 1}时,向量函数f
t
(i)的表达式为:
[0018][0019]
其中,i为示性函数,t∈{1,...,n-1}。
[0020]
通过上述公式以分别计算i=1以及i>1时的向量函数f
t
(i)的值。
[0021]
在一些实施例中,矩阵f
n,m
第i行第j列元素的表达式为:
[0022][0023]
其中,i为示性函数。
[0024]
通过上述公式可以清楚表达出矩阵f
n,m
的第i行第j列元素。
[0025]
在一些实施例中,(m 1)维随机向量u的第i个数的表达式为:
[0026][0027]
其中,是数组{xi∈r
p
,1≤i≤n}的平均值。
[0028]
通过上述公式以获得随机向量u的第i个数。
[0029]
在一些实施例中,在步骤s110中,利用数据集分割算法将高维数据流随机分成若干个数据子集,包括:设置数据子集最小长度阈值g;遍历高维数据流,利用数据集分割算法wbs2抽取若干个数据子集
[0030]
其中,数据子集的起点wq和终点eq随机、均匀且独立地从集合{1,

,n}中替换选取,数据子集的表达式为:
[0031]
[0032]
其中,w≤b≤e,且n=e-w 1。
[0033]
利用自适应数据集分割算法wbs2(wild binary segment2)将数据集拆解成完整的数据子集,以便进行后续的变点检验。
[0034]
在一些实施例中,在步骤s150中,计算变点候选集中每个候选点对应的检验统计量值的累加和v,检验统计量值的累加的表达式为:其中,l
t
为候选点对应的检验统计量值。
[0035]
在一些实施例中,还包括利用假设检验的方法检验数组{xi∈r
p
,1≤i≤n}是否存在变点,具体包括以下子步骤:
[0036]
s111、假设
[0037]
其中,μi为xi(i=1,...,n)的均值,{xi∈r
p
,1≤i≤n}为一p维观测序列,维度p大于样本长度n;
[0038]
s112、当n

∞时,收敛于标准正态分布,基于零假设h0下,v/sv也收敛于标准正态分布,若v/sv>z
α
,则拒绝零假设h0;其中,表示检验统计量l
t
的均值累计和,σn表示总体标准差,v为每个所述候选点对应的检验统计量值的累加和,sv为总体标准差σn的估计值,α为显著性水平,z
α
是标准正态分布n(0,1)的上α分位点;
[0039]
s113、拒绝零假设h0后,利用数据集分割算法将高维数据流随机分成若干个完整的数据子集。
[0040]
通过上述子步骤进行假设检验,先判断出数据集中是否存在变点,若存在则进行后续的变点检验操作。
[0041]
第二方面,本技术提供了一种基于检验统计量的高维数据流变点检验系统,该系统包括以下模块:
[0042]
获取模块,用以获取高维数据流,利用数据集分割算法将高维数据流随机分成若干个完整的数据子集;以及
[0043]
计算模块,用以计算数据子集区间的检验统计量值l
t
,并输出最大检验统计量值的数据点位置,将数据点作为候选点添加至变点候选集中;以及
[0044]
分割模块,用以利用候选点将数据子集一分为二,在候选点的左右两侧再次递归抽取数据子集;以及
[0045]
递归模块,用以重复计算模块、分割模块的操作,直到数据子集的长度达到设定的最小长度阈值;以及
[0046]
比较模块,用以计算变点候选集中每个候选点对应的检验统计量值的累加和v,将累加和v除以标准差所得的商v/sv与检验阈值z
α
进行比较;以及
[0047]
输出模块,用以若所得的商v/sv大于检验阈值z
α
,则认定候选点为变点,输出变点的个数和位置。
[0048]
第三方面,本技术提供了一种计算机可读存储介质,该介质中存储有计算机程序,在计算机程序被处理器执行时,实施如上述中任一项的方法。
[0049]
本技术实施例提供的一种基于检验统计量的高维数据流变点检验方法在检验统
计量的相关收敛性已被证明的前提下,将该统计量与其标准差的商做为假设检验的阈值;结合了高维数据流的时空依赖性,且能够检验和估计位于时间序列边界上的变点,即使数据集维度要远远大于数据量长度。与现有技术相比,本发明的准确率和鲁棒性更高且速度更快。
附图说明
[0050]
通过阅读参照以下附图你,所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
[0051]
图1是根据本技术的一个实施例的基于检验统计量的高维数据流变点检验方法的流程图;
[0052]
图2是根据本技术的一个实施例的基于检验统计量的高维数据流变点检验方法的框架示意图;
[0053]
图3是常数δ取1.5时三种变点检验算法进行变点检验的结果比例图;
[0054]
图4是常数δ取8.5时三种变点检验算法进行变点检验的结果比例图;
[0055]
图5是根据本技术的一个实施例的基于检验统计量的高维数据流变点检验系统的流程图;
[0056]
图6是适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
[0057]
下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0058]
需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
[0059]
图1示出了本技术的一个实施例的基于检验统计量的高维数据流变点检验方法的流程图;图2示出了本技术的一个实施例的框架示意图。
[0060]
结合参考图1和图2,该方法100包括以下步骤:
[0061]
s110、获取高维数据流,利用数据集分割算法将高维数据流随机分成若干个完整的数据子集;
[0062]
s120、计算数据子集区间的检验统计量值l
t
,并输出最大检验统计量值的数据点位置,将数据点作为候选点添加至变点候选集中;
[0063]
s130、利用候选点将数据子集一分为二,在候选点的左右两侧再次递归抽取数据子集;
[0064]
s140、重复步骤s120-s130,直到数据子集的长度达到设定的最小长度阈值;
[0065]
s150、计算变点候选集中每个候选点对应的检验统计量值的累加和v,将累加和v除以标准差所得的商v/sv与检验阈值z
α
进行比较;以及s160、若所得的商v/sv大于检验阈值z
α
,则认定候选点为变点,输出变点的个数和位置。
[0066]
在具体的实施例中,令{xi∈r
p
,1≤i≤n}为一p维观测序列,μi为xi(i=1,...,n)的均值,维度p可远远大于样本长度n。
[0067]
首先,提出以下零假设h0和备择假设h1:
[0068]
h0:μ1=

=μn,
[0069][0070]
其中,1≤τ1<

<τq<n表示未知的变点。若检验结果拒绝h0,则本技术提供的高维数据流变点检验方法将进一步检验变点位置。
[0071]
其次,通过多元线性过程随机生成多维模拟数据,生成随机样本{xi},i=1,...,n,该多元线性表达式为:
[0072][0073]
其中,μi是在点i处的p维总体均值向量,为不失一般性,在零假设h0下,令μi=0;在备择假设h1下,考虑变点τ∈{1,...,n-1},当i≤τ时,μi=0,当τ 1≤i≤n时,μi=μ。
[0074]
非零均值向量μ有[p
0.7
]个非零元素,这些分量的位置从p个坐标{1,

,p}中均匀随机抽取。[a]表示取a的整数部分,μ的非零输入值的大小等于一个常数δ与一个随机符号函数的乘积,检验的显著水平为0.05。
[0075]ql
是一个p
×
p矩阵,l=0,...,m 2。当i,j=1,...,p且l=0,...,m时,令q
l
={0.6
|i-j|
(m-l 1)-1
},对于q
m 1
和q
m 2
,本技术考虑两种不同的方案,当m=0时,令q
m 1
=q
m 2
=0,为相互独立地数据;若m≠0,令q
m 1
=q
m 2
,其每一行都有0.05p个非零元素,坐标值从{1,

,p}中随机选取,值的大小由unif(0,0.05)生成,通过q
l
(l=0,...,m)加上q
m 1
和q
m 2
一起构建的扰动项主导着数据的依赖性,εi是p维随即向量,均值为0,协方差为i
p

[0076]
再次,构建一个偏差修正统计量,对于任意的t∈{1,

,n-1}有
[0077][0078]
其中,且f
t
(i)是一个(m 1)维的向量函数,f
t
(1)=1,且对于i∈{2,

,m 1}有
[0079][0080]
其中,i为示性函数。
[0081]
(m 1)
×
(m 1)维矩阵f
n,m
第i行第j列元素为:
[0082][0083]
(m 1)维随机向量u的第i个数为:
[0084]
[0085]
检验统计量l
t
将数据主导依赖性与其它依赖性分离,在式子中加入是为了防止在假设检验和估计时数据相互依赖性的干扰。统计量l
t
的值取决于m,当数据相互独立时,m=0,反之,则m=2。
[0086]
通过假设推导可得,当n

∞且对于任一t∈{1,

,n-1},l
t
/s
t
的分布近似于标准正态分布n(0,1)。为了弱化t值选取的消极影响并保留检验过程的功效,对所有边际l
t
(即候选集中的所有候选点的检验统计量l
t
)进行累加得到:
[0087]
当n

∞时,收敛于标准正态分布,基于零假设h0下,v/sv也收敛于标准正态分布,若v/sv》z
α
,则拒绝零假设h0。α为显著性水平,z
α
是n(0,1)的上α分位点,用v除以其标准差sv得到的阈值与检验阈值z
α
进行比较。
[0088]
利用自适应数据集分割算法wbs2(wild binary segment2)将数据集拆解成完整的数据子集。当第一次遍历高维数据流时,设置数据子集最小长度阈值g,通过数据集分割算法wbs2抽取个少量数据子集,其起点wq和eq随机、均匀且独立地从集合{1,

,n}中替换选取,即对于数据子集有
[0089][0090]
其中,w≤b≤e,且n=e-w 1。
[0091]
并计算该数据子集的检验统计量l
t
[wq,eq]值,[wq,eq]表示数据子集[x
wq
,...,x
eq
]。
[0092]
将argmaxl
t
[wq,eq]作为wbs2标记的一个候选点。
[0093]
利用该候选点将点集{1,

,n}一分为二,并在该候选点的左侧和右侧再次递归抽取个数据子集。依次类推,最终在子空间上所有可能的数据子集的个数都将小于在此情形下,数据集分割算法wbs2将抽取出每个类似于此子空间上的所有数据子集,直到用户定义的数据子集最小长度阈值g为止。
[0094]
按照各候选点的检验统计量l
t
值的大小对候选点进行排序,并且计算各候选点的v[wq,eq]/s[wq,eq]值,与检验阈值z
α
进行比较,若大于检验阈值z
α
,则认定该候选点为变点,同时输出该候选点的索引。
[0095]
本发明结合了高维数据流的时空依赖性,且能够检验和估计位于时间序列边界上的变点,即使数据集维度要远远大于数据量长度。与现有技术相比,本发明准确率和鲁棒性更高且速度更快。可以应用在数据流发生突变的诸多应用领域中,如医学,交通和工业等。
[0096]
图3示出了常数δ取1.5时,lt wbs2、lt wbs和e-div三种变点检验算法进行变点检验的结果比例图;图4示出了常数δ取8.5时,lt wbs2、lt wbs和e-div三种变点检验算法进行变点检验的结果比例图。通过1000次迭代对变点位置分别位于50和4的模拟数据进行变点检验,并计算检验结果的比例。图3与图4的左图模拟数据真实变点位置为50,图3与图4的右图模拟数据真实变点位置为4。
[0097]
通过得到false positive(fp),false negative(fn),true positive(tp)和其相应的标准差,fp表示错误地估计为变点的个数,fn表示未估计到的变点个数,tp表示正确估
计为变点的个数,则tp越接近于真实变点个数。且fp和fn的值越小说明检验效果越好。通过1000次模拟获得平均fp,fn,tp,而fpsd,fnsd和tpsd表示相应的标准偏差,以及平均运行时长(st)。由多元线性过程生成多维模拟数据,m=2即数据相互依赖,常数δ1和δ2均取1.5,n=150,变点位置分别为15,75,105,维度p分别取100,200和600。将本发明与e-div和lt wbs2作比较,得到表1:
[0098]
表1多维数据多变点检验结果
[0099][0100][0101]
由表1中结果可以看出e-div失去了它的稳定性,且检验误差较大,而本发明提出的lt wbs2依旧能保持一定的功效。
[0102]
在具体的实施例中,选取2015年4月1日上海市地铁一号线上火车站,人民广场和徐家汇3个站点的闸机进出口的行人流数据,每五分钟作为一个计数节点。再利用lt wbs2对三个站点的多维行人流数据进行变点检验,得到行人进出闸机进出口的高峰期,通过算法检验得到高峰时间段的行人流均值表2所示:
[0103]
表2 3个闸机进出口高峰时间段
[0104][0105]
由表2可看出在时间段7:20-9:40内,进站闸机口人流量达到最高峰,在时间段7:35-10:50和17:00-20:30内,出站闸机口人流量达到高峰,结合实际也与人们通勤时间相符合。
[0106]
进一步参考图5,作为对上述所述方法的实现,本技术提供了基于检验统计量的高
维数据流变点检验系统的一个实施例,该系统实施例与图1所示的方法实施例相对应,该系统具体可以应用于各种电子设备中。该系统200包括以下模块:
[0107]
获取模块210,用以获取高维数据流,利用数据集分割算法将高维数据流随机分成若干个完整的数据子集;以及
[0108]
计算模块220,用以计算数据子集区间的检验统计量值l
t
,并输出最大检验统计量值的数据点位置,将数据点作为候选点添加至变点候选集中;以及
[0109]
分割模块230,用以利用候选点将数据子集一分为二,在候选点的左右两侧再次递归抽取数据子集;以及
[0110]
递归模块240,用以计算模块、分割模块的操作,直到数据子集的长度达到设定的最小长度阈值;以及
[0111]
比较模块,用以计算变点候选集中每个候选点对应的检验统计量值的累加和v,将累加和v除以标准差所得的商v/sv与检验阈值z
α
进行比较;以及
[0112]
输出模块,用以若所得的商v/sv大于检验阈值z
α
,则认定候选点为变点,输出变点的个数和位置。
[0113]
本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实施如上述中任一项方法。
[0114]
如图6所示,计算机系统600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有系统600操作所需的各种程序和数据。cpu 601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0115]
以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
[0116]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(cpu)601执行时,执行本技术的方法中限定的上述功能。需要说明的是,本技术所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读介质可以是任何包含或存储程序的有
形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0117]
可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0118]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0119]
描述于本技术实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、分析模块和输出模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
[0120]
以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献