一种基于网格和聚类优化的实时数据流核密度估计方法技术

技术编号:14780672 阅读:97 留言:0更新日期:2017-03-09 21:49
本发明专利技术公开了一种基于网格和聚类优化的实时数据流核密度估计方法,采用在线/离线双层框架,在线过程持续维护不断到达的数据流对象,存入先进先出队列,队头和队尾数据映射到相应的网格,进而更新网格的特征向量,原始数据的统计信息被保存在网格六元组内。基于权重K‑means的网格聚类在离线阶段执行,将参与核密度估计的网格数量减少为聚类核数量。得到的聚类,其网格成员、参数βl,tl,k和hl,k根据M‑MMCKDE优化策略修正以确保极小化合并网格重心核的误差,从而得到聚类优化核,据此最终获得查询点的数据流核密度估计结果。本发明专利技术具有较高的执行效率和计算精度,适用于对大数据流的处理。

【技术实现步骤摘要】

本专利技术属于概率密度估计的
,具体涉及一种基于网格和聚类优化的实时数据流核密度估计方法
技术介绍
近年来,随着网络技术和硬件性能的快速发展,科学和商业应用产生的海量数据以数据流的形式被传输。例如,无线传感器网络由大量具有感知和通讯能力的分布式节点构成。这些节点实时采样环境参数并通过多种类型的异构网络将数据传送到中央处理器集群。这些数据的特征是随时间到达、快速变化、海量的和潜在无限的。在这样的条件下,存储全体数据不易操作且没有必要。数据流对处理算法提出了如下新的要求:(1)为赶上数据抵达的速率,处理数据流中每条记录的时间必须短且固定;(2)因为不可能有时间重新访问历史数据,建立的处理模型中每个数据最多扫描一次;(3)无论处理模型面对的数据量多少,必须使用固定大小的内存空间;(4)当数据的概念漂移发生,任何时候处理都能及时更新,同时仍然包含没有过期的历史信息。许多流挖掘技术,特别是使用统计方法的流挖掘技术,概率密度函数(PDF)是主要的数据模型。由于先验知识的局限性,实际应用中流数据概率密度函数的形式(例如,高斯分布,泊松分布)是不确定的,事先不能得知。一般可以使用不带任何假设仅从样本本身出发研究数据分布特征的非参数估计方法来估计概率密度函数,其中核密度估计是已有高效的非参数估计技术。核密度估计的质量严重依赖带宽,而不同的核函数对整体估计质量影响有限。对应n个给定的样本点和Q个在数据区域内均匀分布的查询点,标准核密度估计公式的计算代价为ο(nQ),对数据流而言过于高昂。为了计算每个查询点的概率密度值(或者说查询点的数量Q是固定的),降低计算复杂度的唯一出路是找到样本的替代物,也就是压缩n。与此同时,替代物占用的存储空间必须显著小于样本本身需要占用的存储空间。遵循上述思路,核密度估计技术主要分为基于网格(GKDE)和基于聚类的两类方法(CKDE)。基于网格的核密度估计也称为分箱核密度估计,生成远小于样本数量的若干均匀排列的空间网格,其中非空网格数量为G,将所有映射到网格的样本数据汇聚于网格内某点,利用该点的位置和数据量权重唯一地表征映射到该网格的样本集合。网格策略使得密度估计计算复杂度降低为ο(GQ),空间复杂度为ο(G)。常用的分箱规则包含简单分箱和线性分箱。比较基于网格中心的简单分箱规则和线性分箱规则,李存华等提出的基于网格内样本重心的简单分箱规则(BKDE-GGC)是更合理的选择,这种规则没有逻辑数据点产生,并且分箱误差的数量级为ο(δ4),δ代表固定设置的空间网格宽度且δ→0。由于δ→0意味着非空网格的数量G仍然很大,所以直接对数据流应用网格密度估计不是明智的选择。基于聚类的核密度估计执行核合并以维持固定数量的存储空间,其主要思想是获得可以表征全体样本统计特征的有限的合并核。许敏等介绍了MMCKDE,一种基于优化技术的聚类核密度估计算法。根据采用的优化策略,每次核合并的误差被减少到局部极小。然而,当不同时间序列的样本集形成的聚类优化核的数量到达内存上限,拥有最短Kullback-Leilber距离的两个聚类优化核必须被再次合并以确保内存不会溢出,这些操作不可避免地累积了合并误差,且不能证明误差收敛。另一方面,MMCKDE没有提供多变量模型,不能应用于各个维度的核带宽取不同值的多维聚类优化核密度估计。
技术实现思路
本专利技术主要是解决现有数据流密度估计技术所存在的计算精度和处理速度难以平衡的不足,提供一种既有较快处理速度,也有较高的计算精度的实时数据流核密度估计方法。本专利技术针对上述技术问题主要是通过下述技术方案得以解决的:一种基于网格和聚类优化的实时数据流核密度估计方法,包括以下步骤:A、网格预处理过程:将样本数据所在d维实数空间Rd的每个维度进行等宽划分,从而将Rd划分为若干依次相邻且互不相交的超方体网格的集合。B、在线网格维护过程:建立先进先出的在线队列,连续地在队列尾部接收新数据,更新对应网格的特征向量,判断该网格是否进化为密度网格;同时在队列头部丢弃历史数据,更新对应网格的特征向量,判断该网格是否退化为稀疏网格。在网格特征向量的基础上建立网格六元组,将原始数据流样本合并为网格重心点,以提高计算效率。核合并在网格内进行,避免了不可控的累计误差。根据新增和丢弃的样本数据动态维护密度网格集合。C、离线聚类过程:每隔固定时间间隔gap进入并发处理的离线阶段,该时间间隔的最小值大于处理一次K-means聚类、核参数优化和查询点密度估计等开销的时间之和,主要由算法的执行效率和实际应用需要的查询点分布数量决定。利用权重K-means算法对网格重心点进行聚类,该过程由两个阶段实现。第一阶段以两点间欧几里德距离最短为原则将G个网格重心点聚类到m个聚类中心,第二阶段根据每个聚类集合包含的网格元素的权重和空间位置重新计算聚类的重心点。算法在两个阶段之间来回迭代执行,直到在聚类分配上没有进一步的变化为止。D、离线优化过程:利用多变量MMCKDE算法(M-MMCKDE)对聚类后的网格进行优化。M-MMCKDE使用一个新的聚类优化核替代权重K-means算法得到的每个聚类中全部的网格重心核,目标是两者之间距离的极小化。这样操作使得后续查询点核密度估计的计算复杂度从ο(GQ)降低为ο(mQ)。通过反复调用求取聚类优化核系数、高斯核带宽和聚类点的迭代公式,将网格置于合适的聚类中,缩小网格重心核与聚类优化核之间的距离,聚类优化核可以渐次逼近全体网格重心核。得到的聚类优化核作为查询点核密度估计的输入。E、离线核密度估计过程:计算m个聚类优化核对查询点核密度的累计,得到最终的数据流核密度估计的结果。作为优选,所述步骤A中,采用简单分箱规则将样本数据所在d维实数空间Rd划分为网格集合式中,gj=(j1,…,ji,…,jd)代表网格序号,即gj表示第j个网格,ji表示第j个网格中的第i个维度,δ=(δ1,…,δi,…,δd)代表网格宽度,即δi表示网格的第i个维度的宽度,Zd为d维整数空间。作为优选,所述步骤B中,在每个数据到达时刻,新数据进入队列尾部,该数据对应的网格的特征向量被刷新。同时,丢弃队列头部的历史数据,该数据对应的网格的特征向量被刷新。t时刻进入队列的d维样本数据V可以表示为:V=[v1,…,vi,…,vd,t]vi表示样本数据V中的第i维的值,d维网格的数据映射规则由以下简单分箱函数族确定:上式表明样本数据V以权值Wgj(V,δ)映射到网格gj。当队列尾部增加新数据被映射到相应网格中时,则对该网格的特征向量进行更新,更新操作如下:其中为映射到网格gj的数据量,是映射到该网格的全体数据的第i维线性和,是映射到该网格的全体数据的第i维平方和。当队列头部丢弃历史数据被映射到相应网格中时,则对该网格的特征向量进行更新,更新操作如下:映射到网格的全体数据的均值和方差可以由特征向量计算得到:式中为网格gj第i维数据的均值,是网格gj第i维数据的方差。密度网格的判断条件为其中α为网格的数据量(网格密度),修正系数ξ∈(0,1),n是在线队列长度,G为非空网格的数量。反之,当该网格为稀疏网格。密度网络集合为离线阶段的权重K-means聚类提供服务。经过在线网格维护过程,原始数据的统计信息被保存在一个网格六元组内,即元组本文档来自技高网
...
一种基于网格和聚类优化的实时数据流核密度估计方法

【技术保护点】
一种基于网格和聚类优化的实时数据流核密度估计方法,其特征在于,包括以下步骤:A、网格预处理过程:将样本数据所在d维实数空间Rd的每个维度进行等宽划分,从而将Rd划分为若干依次相邻且互不相交的超方体网格的集合;B、在线网格维护过程:建立先进先出的在线队列,连续地在队列尾部接收新数据,更新对应网格的特征向量,判断该网格是否进化为密度网格;同时在队列头部丢弃历史数据,更新对应网格的特征向量,判断该网格是否退化为稀疏网格;在网格特征向量的基础上建立网格六元组,将原始数据流样本合并为网格重心点;C、离线聚类过程:每隔固定时间间隔gap进入并发处理的离线阶段;利用权重K‑means算法对网格重心点进行聚类;D、离线优化过程:利用多变量MMCKDE算法对聚类后的网格进行优化;多变量MMCKDE算法使用一个新的聚类优化核代替权重K‑means算法得到的每个聚类中全部的网格重心核,缩小网格重心核与聚类优化核之间的距离,聚类优化核渐次逼近全体网格重心核,得到的聚类优化核作为查询点核密度估计的输入。E、离线核密度估计过程:计算m个聚类优化核对查询点核密度的累计,得到最终的数据流核密度估计的结果。

【技术特征摘要】
1.一种基于网格和聚类优化的实时数据流核密度估计方法,其特征在于,包括以下步骤:A、网格预处理过程:将样本数据所在d维实数空间Rd的每个维度进行等宽划分,从而将Rd划分为若干依次相邻且互不相交的超方体网格的集合;B、在线网格维护过程:建立先进先出的在线队列,连续地在队列尾部接收新数据,更新对应网格的特征向量,判断该网格是否进化为密度网格;同时在队列头部丢弃历史数据,更新对应网格的特征向量,判断该网格是否退化为稀疏网格;在网格特征向量的基础上建立网格六元组,将原始数据流样本合并为网格重心点;C、离线聚类过程:每隔固定时间间隔gap进入并发处理的离线阶段;利用权重K-means算法对网格重心点进行聚类;D、离线优化过程:利用多变量MMCKDE算法对聚类后的网格进行优化;多变量MMCKDE算法使用一个新的聚类优化核代替权重K-means算法得到的每个聚类中全部的网格重心核,缩小网格重心核与聚类优化核之间的距离,聚类优化核渐次逼近全体网格重心核,得到的聚类优化核作为查询点核密度估计的输入。E、离线核密度估计过程:计算m个聚类优化核对查询点核密度的累计,得到最终的数据流核密度估计的结果。2.根据权利要求1所述的一种基于网格和聚类优化的实时数据流核密度估计方法,其特征在于,步骤A中,采用简单分箱规则将样本数据所在d维实数空间Rd划分为网格集合式中,gj=(j1,…,ji,…,jd)代表网格序号,δ=(δ1,…,δi,…,δd)代表网格宽度,Zd为d维整数空间。3.根据权利要求2所述的一种基于网格和聚类优化的实时数据流核密度估计方法,其特征在于,所述步骤B中,在每个数据到达时刻,新数据进入队列尾部,该数据对应的网格的特征向量被刷新;同时,丢弃队列头部的历史数据,该数据对应的网格的特征向量被刷新;t时刻进入队列的d维样本数据V可以表示为:V=[v1,…,vi,…,vd,t]vi表示样本数据V中的第i维的值,d维网格的数据映射规则由以下简单分箱函数族确定:Wgj(V,δ)=1if(ji-12)δi<vi≤(ji+12)δi|∀i∈(1,...,d)0otherwise]]>上式表明样本数据V以权值映射到网格gj;当队列尾部增加新数据被映射到相应网格中时,则对该网格的特征向量进行更新,更新操作如下:αgj=αgj+1LSgj,i=LSgj,i+viSSgj,i=SSgj,i+vi2,i∈(1,...,d)]]>其中为映射到网格gj的数据量,是映射到该网格的全体数据的第i维线性和,是映射到该网格的全体数据的第i维平方和;当队列头部丢弃历史数据被映射到相应网格中时,则对该网格的特征向量进行更新,更新操作如下:αgj=αgj-1LSgj,i=LSgj,i-viSSgj,i=SSgj,i-vi2,i∈(1,...,d)]]>映射到网格的全体数据的均值和方差可以由特征向量计算得到:gj,i*=LSgj,i/αgjσgj,i2=(SSgj,i-αgj·gj,i*2)/(αgj-1)]]>式中为网格gj第i维数据的均值,是网格gj第i维数据的方差;4.根据权利要求3所述的一种基于网格和聚类优化的实时数据流核密度估计方法,其特征在于,密度网格的判断条件为其中α为网格的数据量,即网格密度,修正系数ξ∈(0,1),n是在线队列长度,G为非空网格的数量;反之,当该网格为稀疏网格。5.根据权利要求3或4所述的一种基于网格和聚类优化的实时数据流核密度估计方法,其特征在于,所述步骤C中,每隔固定时间间隔gap进入并发处理的离线阶段,该时间间隔的最小值设定为大于处理一次K-means聚类、核参数优化和查询点密度估计花费的时间之和;利用权重K-means算法对网格重心点进行聚类,该过程由两阶段迭代实现;令表示用于划分到m个聚类的G个非空网格重心点的集合,从在线阶段得到的密度网格集合中选取空间位置均匀分布的m个密度网格的重心点作为初始聚类的中心,Sl代表网格集合的第l个聚类;第一阶段以两点间欧氏距离最短为原则将G个网格重心点聚类到m个聚类中心,通过求取以下代价函数的最小值确定:J=Σl=1mΣgj∈Sld(gj*,Sl*)]]>式中代表第gj个网格重心点到第l个聚类中心的欧式距离;第二阶段根据每个聚类集合Sl包含的网格元素的权重和空间位置重新计算m个聚类的重心点,由以下公式确定:Sl*=Σgj∈Slgj*αgj/Σgj∈Slαgj]]>式中代表第gj个网格的权重;权...

【专利技术属性】
技术研发人员:罗剑王伟民祝俞刚
申请(专利权)人:浙江经济职业技术学院
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1