CN107506418B - 一种在线流数据近似处理方法及装置 - Google Patents
一种在线流数据近似处理方法及装置 Download PDFInfo
- Publication number
- CN107506418B CN107506418B CN201710701338.3A CN201710701338A CN107506418B CN 107506418 B CN107506418 B CN 107506418B CN 201710701338 A CN201710701338 A CN 201710701338A CN 107506418 B CN107506418 B CN 107506418B
- Authority
- CN
- China
- Prior art keywords
- data
- flow
- sublayer
- sampled
- flow data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种在线流数据近似处理方法,包括以下步骤:对流数据进行数据学习,获得流数据基于二叉树的数据分布情况,根据数据分布情况,对流数据进行采样,得到采样数据,对采样数据进行计算,获得流数据的近似处理结果。对流数据基于二叉树结构进行数据学习,确定流数据的数据分布情况,根据数据分布情况对流数据进行采样,得到采样数据,根据采样数据计算流数据的近似处理结果。基于流数据进行学习所得到的数据分布情况进行采样,使得采样数据符合流数据的数据分布情况,对样本数据进行计算得到的流数据的近似处理结果同样符合流数据的数据分布情况,提高了近似处理的准确性。本发明还公开了一种在线流数据近似处理装置,具有相应技术效果。
Description
技术领域
本发明涉及流数据处理技术领域,特别是涉及一种在线流数据近似处理方法及装置。
背景技术
随着科学技术的发展,大数据分析尤其是实时的流数据的处理,已被广泛关注。在流数据环境中,数据持续到达且需要在一定响应时间内完成处理,数据量是提前未知的。
目前,使用分布式流数据处理模型(DSPS)对流数据进行处理,可以达到较快的处理速度,但这种模型在数据以指数级增长的流数据处理场景中并不适用。所以,在这种场景中为提升处理速度,多是使用近似处理方法。最常用的近似处理方法是对流数据进行采样,得到采样数据,将对采样数据的计算结果作为流数据的近似结果。
现有的近似处理方法中的采样,是基于历史信息来预测的流数据的数据分布情况进行的。在实际应用中,流数据的数据分布往往是多变的,如果通过预测得到的流数据的数据分布情况与流数据的实际的数据分布情况存在偏差,则将导致采样数据的数据分布情况与流数据的实际的数据分布情况也存在偏差,进而导致流数据的近似结果偏差较大,使得流数据的近似结果准确性较低。
发明内容
本发明的目的是提供一种在线流数据近似处理方法及装置,以提高近似处理的准确性。
为解决上述技术问题,本发明提供如下技术方案:
一种在线流数据近似处理方法,包括:
对流数据进行数据学习,获得所述流数据基于二叉树的数据分布情况;
根据所述数据分布情况,对所述流数据进行采样,得到采样数据;
对所述采样数据进行计算,获得所述流数据的近似处理结果。
优选地,所述根据所述数据分布情况,对所述流数据进行采样,得到采样数据,包括:
根据所述数据分布情况和所述流数据的当前流速,对所述流数据进行采样,得到采样数据。
优选地,所述根据所述数据分布情况和所述流数据的当前流速,对所述流数据进行采样,包括:
如果所述流数据的当前流速小于预设第一流速阈值,则分别使用第一随机采样算法和与所述数据分布情况对应的第二随机采样算法对所述流数据进行采样。
优选地,所述根据所述数据分布情况和所述流数据的当前流速,对所述流数据进行采样,包括:
如果所述流数据的当前流速大于预设第二流速阈值,则并行使用与所述数据分布情况对应的第二随机采样算法对所述流数据进行采样。
优选地,通过以下步骤使用与所述数据分布情况对应的第二随机采样算法对所述流数据进行采样:
根据所述数据分布情况,确定所述二叉树的底层中每个子层的权值信息;
根据每个子层的权值信息,确定每个子层可容纳的子样本数量;
针对所述流数据的每个数据项,确定该数据项对应的目标子层;
如果所述目标子层中已存在的子样本数量小于所述目标子层对应的可容纳的子样本数量,则将该数据项加入到所述目标子层中;
如果所述目标子层中已存在的子样本数量等于所述目标子层对应的可容纳的子样本数量,则将该数据项替换所述目标子层中的一个子样本。
一种在线流数据近似处理装置,包括:
数据学习模块,用于对流数据进行数据学习,获得所述流数据基于二叉树的数据分布情况;
采样模块,用于根据所述数据分布情况,对所述流数据进行采样,得到采样数据;
近似结果获得模块,用于对所述采样数据进行计算,获得所述流数据的近似处理结果。
优选地,采样模块,具体用于:
根据所述数据分布情况和所述流数据的当前流速,对所述流数据进行采样,得到采样数据。
优选地,所述采样模块,具体用于:
如果所述流数据的当前流速小于预设第一流速阈值,则分别使用第一随机采样算法和与所述数据分布情况对应的第二随机采样算法对所述流数据进行采样。
优选地,所述采样模块,具体用于:
如果所述流数据的当前流速大于预设第二流速阈值,则并行使用与所述数据分布情况对应的第二随机采样算法对所述流数据进行采样。
优选地,所述采样模块,具体用于通过以下步骤使用与所述数据分布情况对应的第二随机采样算法对所述流数据进行采样:
根据所述数据分布情况,确定所述二叉树的底层中每个子层的权值信息;
根据每个子层的权值信息,确定每个子层可容纳的子样本数量;
针对所述流数据的每个数据项,确定该数据项对应的目标子层;
如果所述目标子层中已存在的子样本数量小于所述目标子层对应的可容纳的子样本数量,则将该数据项加入到所述目标子层中;
如果所述目标子层中已存在的子样本数量等于所述目标子层对应的可容纳的子样本数量,则将该数据项替换所述目标子层中的一个子样本。
应用本发明实施例所提供的技术方案,对流数据进行数据学习,获得流数据基于二叉树的数据分布情况,根据数据分布情况,对流数据进行采样,得到采样数据,对采样数据进行计算,获得流数据的近似处理结果。对流数据基于二叉树结构进行数据学习,确定流数据的数据分布情况,根据数据分布情况对流数据进行采样,得到采样数据,根据采样数据计算流数据的近似处理结果。基于流数据进行学习所得到的数据分布情况进行采样,使得采样数据符合流数据的数据分布情况,对样本数据进行计算得到的流数据的近似处理结果同样符合流数据的数据分布情况,提高了近似处理的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种在线流数据近似处理方法的实施流程图;
图2为本发明实施例中流数据基于二叉树的数据分布情况的示意图;
图3为本发明实施例中一种在线流数据近似处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例中一种在线流数据近似处理方法的实施流程图,该方法包括:
S101、对流数据进行数据学习,获得流数据基于二叉树的数据分布情况。
流数据是一组顺序、大量、快速、连续到达的数据序列,具有以下特征:数据实时到达;数据到达次序独立,不受应用系统所控制;数据规模宏大且不能预知其最大值;数据一经处理,除非特意保存,否则不能被再次取出处理,或者再次提取数据代价昂贵。二叉树可以为完全二叉树、满二叉树或平衡二叉树。如图2所示,该二叉树结构属于每个节点均有两个子树的满二叉树结构。数据分布情况为二叉树的底层中每个子层对应的数据信息,如每个子层对应的权值、数据的最大值、最小值等。
在本实施例中,通过利用二叉树结构将流数据进行分层处理,然后进行数据学习,获得流数据的数据分布情况。
在本发明的一个实施例中,可以预先设置一个参照值作为数据学习的一个参数,该参照值可以为预先设置的,其具体数值可以根据实际情况进行确定和调整,本发明实施例并不限定。例如,当要对流数据进行求平均值的操作时,在本实施例中可以将上一时刻获得的流数据的近似处理结果中所得到的近似平均值作为当前时刻的参照值
请参见图2,可以将分层学习二叉树的高度设为L,具体高度L可以根据实际情况进行确定和调整,本发明实施例并不限定。在二叉树的第一层,根据流数据的取值范围可以分成两个子层,分别为[minimum,middle]和[middle,maximum],其中最大值(maximum)、最小值(minimum)和中间值(middle)可通过常见的方式从当前的流数据中获得,在此不再赘述。
具体的数据学习过程如下:
步骤一、根据参照值首先分析第一层两个子层的权值,分别记为 然后分别用和表示这两个子层对应的平均值。若在每个子层的采样权值相同,则估计的平均值为:
步骤二、根据步骤一,可以得到第一阶段的权值更新过程为:
若令此时
若令此时
其中β的数值可以通过以上公式计算得出。
步骤三、流数据被分成两层并按上述公式计算出各子层的权值,每个被划分的子层向下生成两个子节点。每个子节点的取值范围可以是其父节点的一半,可以按照步骤二的方式计算权值。
步骤四:当将流数据划分到L层时,分层结束。L层的第i个子层Si的数据为Si=[ai,bi],i=1,…,m,L层的第i个子层Si对应的权值为ωi,其中ai,bi为数据项,i为1至m的正整数。
据此,可以得到流数据的数据分布情况为:{{S1,S2,...,Sm},{ω1,ω2,...,ωm}}。
获得流数据基于二叉树的数据分布情况后,可以执行步骤S102的操作。
S102、根据数据分布情况,对流数据进行采样,得到采样数据。
根据数据分布情况,对不断到达的流数据进行采样,以便在流数据中得到能够代表流数据的采样数据。
在本发明的一个实施例中,步骤S102可以包括以下步骤:
根据数据分布情况和流数据的当前流速,对流数据进行采样,得到采样数据。
在实际应用中,流数据的流速实时变化,且变化的范围较大,为了得到更加符合流数据的采样数据,在进行采样时,可以结合流数据的数据分布情况和当前流速对流数据进行采样,得到采样数据。
在本发明的一种具体实施方式中,如果流数据的当前流速小于预设第一流速阈值,则分别使用第一随机采样算法和与数据分布情况对应的第二随机采样算法对流数据进行采样。
在本实施例中,可以预先设置一个第一流速阈值,将流数据的当前流速与该第一流速阈值进行比较,判断针对当前流速的采样算法。第一流速阈值的具体数值可以根据实际情况进行确定和调整,本发明实施例对此并不限定。
当流数据的当前流速小于第一流速阈值时,分别使用第一随机采样算法和与数据分布情况对应的第二随机采样算法对流数据进行采样。第一随机采样算法可以为常见的随机采样算法,在此不赘述。需要说明的是,第二随机采样算法可以为通过步骤S101获得的流数据的数据分布情况对应的随机采样算法。
使用两种算法进行采样时,可以按照先后顺序对流数据进行采样,也可以并行对流数据进行采样,本发明实施例对此并不限定。两种算法各自进行采样的频率以及各种的采样窗口大小可以预先设置,也可以根据实际情况进行确定和调整,本发明实施例并不限制。
在本发明的另一种具体实施方式中,如果流数据的当前流速大于预设第二流速阈值,则并行使用与数据分布情况对应的第二随机采样算法对流数据进行采样。
在本实施例中,可以预先设置一个第二流速阈值,将流数据的当前流速与该第二流速阈值进行比较,判断针对当前流速的采样算法。第二流速阈值的具体数值可以根据实际情况进行确定和调整,本发明实施例对此并不限定。
当流数据的当前流速大于预设第二流速阈值时,则并行使用与数据分布情况对应的第二随机采样算法对流数据进行采样。并行使用与数据分布情况对应的第二随机采样算法对流数据进行采样可以为对流数据进行两次或两次以上的采样,具体的采样次数可以根据实际情况进行调整,本发明实施例对此并不限定。
在本发明的一个实施例中,可以通过以下步骤使用与数据分布情况对应的第二随机采样算法对流数据进行采样:
步骤一、根据数据分布情况,确定二叉树的底层中每个子层的权值信息;
步骤二、根据每个子层的权值信息,确定每个子层可容纳的子样本数量;
步骤三、针对流数据的每个数据项,确定该数据项对应的目标子层;
步骤四、如果目标子层中已存在的子样本数量小于目标子层对应的可容纳的子样本数量,则将该数据项加入到目标子层中;
步骤五、如果目标子层中已存在的子样本数量等于目标子层对应的可容纳的子样本数量,则将该数据项替换目标子层中的一个子样本。
为便于描述,将上述五个步骤结合起来进行说明。
在本实施例中,第二随机采样算法可以为分层随机采样算法。其中分层的具体情况由经过二叉树结构对流数据进行学习得到的数据分布情况来确定。二叉树的高度可以由预先设置一个高度阈值来确定,具体高度阈值可以根据实际情况进行确定和调整,本发明实施例并不限定。
采样的具体过程如下:
根据数据分布情况,检查权值信息是否需要更新,若权值信息需要更新,则更新权值信息,确定二叉树的底层中每个子层的权值信息。根据每个子层的权值信息,确定每个子层可容纳的子样本数量。也就是第二随机采样算法的层数由二叉树的底层的子层数确定,每个子层中的子样本数量根据对应的二叉树中的子层对应的权值信息来确定。
针对流数据的每个数据项,判断该数据项的数值大小,根据该数值大小确定该数据项对应的目标子层。本实施例采用分层随机采样算法作为第二随机采样算法,可以依据数据项的数值大小进行分层,根据数据项的数值大小,确定将其归类为哪一个目标子层。
如果目标子层中已存在的子样本数量小于目标子层对应的可容纳的子样本数量,也就是目标子层中还有剩余空间可以容纳该数据项,则将该数据项加入到目标子层中。
如果目标子层中已存在的子样本数量等于目标子层对应的可容纳的子样本数量,也就是说目标子层此时已经没有可以容纳该数据项的剩余空间,则将该数据项替换目标子层中的一个子样本。使用数据项替换目标子层的一个子样本,可以在目标子层中随机替换一个子样本。例如,以该数据项与目标子层的可容纳数据项之间的比值作为随机替换的概率,根据该概率随机的将原来的一个子样本替换为该数据项;也可以是依照某种排序进行替换,如以时间为顺序,后续到达的数据项替换为距离当前时刻最远的数据项。
S103、对采样数据进行计算,获得流数据的近似处理结果。
对采样数据进行计算,根据得到的计算结果,确定流数据的近似处理结果。具体的计算方式在此不赘述。因为采样数据是从流数据中采样得到的,所以近似的认为采样数据的计算结果便是流数据的近似处理结果。
在本发明的一个实施例中,获得流数据的近似处理结果后,还可以反馈近似处理结果至误差控制模块。反馈消息主要是为了使得流数据的近似处理结果误差较小。例如,该反馈可以用于在步骤S101中对流数据进行学习时,可以参照近似处理结果调整目标子层的权值信息,以便获得的数据分布情况更加符合流数据的实际数据分布情况。
应用本发明实施例所提供的方法,对流数据进行数据学习,获得流数据基于二叉树的数据分布情况,根据数据分布情况,对流数据进行采样,得到采样数据,对采样数据进行计算,获得流数据的近似处理结果。对流数据基于二叉树结构进行数据学习,确定流数据的数据分布情况,根据数据分布情况对流数据进行采样,得到采样数据,根据采样数据计算流数据的近似处理结果。基于流数据进行学习所得到的数据分布情况进行采样,使得采样数据符合流数据的数据分布情况,对样本数据进行计算得到的流数据的近似处理结果同样符合流数据的数据分布情况,提高了近似处理的准确性。
相应于上面的方法实施例,本发明实施例还提供了一种在线流数据近似处理装置,下文描述的一种在线流数据近似处理装置与上文描述的一种在线流数据近似处理方法可相互对应参照。
参见图3所示,该装置包括以下模块:
数据学习模块301,用于对流数据进行数据学习,获得流数据基于二叉树的数据分布情况;
采样模块302,用于根据数据分布情况,对流数据进行采样,得到采样数据;
近似结果获得模块303,用于对采样数据进行计算,获得流数据的近似处理结果。
应用本发明实施例所提供的装置,对流数据进行数据学习,获得流数据基于二叉树的数据分布情况,根据数据分布情况,对流数据进行采样,得到采样数据,对采样数据进行计算,获得流数据的近似处理结果。对流数据基于二叉树结构进行数据学习,确定流数据的数据分布情况,根据数据分布情况对流数据进行采样,得到采样数据,根据采样数据计算流数据的近似处理结果。基于流数据进行学习所得到的数据分布情况进行采样,使得采样数据符合流数据的数据分布情况,对样本数据进行计算得到的流数据的近似处理结果同样符合流数据的数据分布情况,提高了近似处理的准确性。
在本发明的一种具体实施方式中,采样模块302,具体用于:
根据数据分布情况和流数据的当前流速,对流数据进行采样,得到采样数据。
在本发明的一种具体实施方式中,采样模块302,具体用于:
如果流数据的当前流速小于预设第一流速阈值,则分别使用第一随机采样算法和与数据分布情况对应的第二随机采样算法对流数据进行采样。
在本发明的一种具体实施方式中,采样模块302,具体用于:
如果流数据的当前流速大于预设第二流速阈值,则并行使用与数据分布情况对应的第二随机采样算法对流数据进行采样。
在本发明的一种具体实施方式中,采样模块302,具体用于通过以下步骤使用与数据分布情况对应的第二随机采样算法对流数据进行采样:
根据数据分布情况,确定二叉树的底层中每个子层的权值信息;
根据每个子层的权值信息,确定每个子层可容纳的子样本数量;
针对流数据的每个数据项,确定该数据项对应的目标子层,
如果目标子层中已存在的子样本数量小于目标子层对应的可容纳的子样本数量,则将该数据项加入到目标子层中,
如果目标子层中已存在的子样本数量等于目标子层对应的可容纳的子样本数量,则将该数据项替换目标子层中的一个子样本。
为便于理解,以利用本发明实施例所提供的技术方案进行的系列实验进行说明。
在本系列实验中,使用在线学习策略对流数据进行数据学习,获得流数据基于二叉树的数据分布情况,使用动态采样策略对流数据进行采样,得到采样数据。
通过预先获得的数据集模拟在线流数据处理应用,数据文件以bzip2压缩类型存储,大小12.6GB。该数据集以XML(eXtensible Markup Language,可扩展标记语言)形式记录网页信息,读入该文件流,对数据集中网页的信息大小(字节)进行分析。
验证在线学习策略实验一
执行求平均值的操作,在线聚集操作选择性地统计网页信息大小在1字节到15000字节间的网页。利用三角函数中的正弦函数(sin)来控制流数据的速度,模拟流数据实时变化的流速,当验证在线学习策略时,设置处理数据窗口大小为2000。随着时间的变化,数据的分层结果及每层的权值学习情况表1所示:
更新时间 | 0(初始) | 1 | 2 | 3 | 4 | 精确值 |
S1 | 0.25 | 0.4456 | 0.5499 | 0.7788 | 0.8382 | 0.8405 |
S2 | 0.25 | 0.3335 | 0.3559 | 0.1598 | 0.1005 | 0.0978 |
S3 | 0.25 | 0.0904 | 0.0338 | 0.04040 | 0.04040 | 0.0384 |
S4 | 0.25 | 0.1303 | 0.0602 | 0.02087 | 0.02087 | 0.0231 |
表1
根据数据的分布情况和精确值对比分析权值更新的结果,最终将数据分为四层,对应的二叉树高度为3。需要说明的是,这里的精确值为根据完整数据集经过计算后得到的。权值的更新可以结合上一状态的信息和当前窗口下的数据分布情况而进行。通过当前窗口的数据信息计算所划分的各个子层的权值,可以设置一个权值学习阈值Tω,用于判断是否需要更新权值。
分析第三层节点的权值变化情况,可以令初始状态每层权值相等,即均为0.25。随着更新时间的推进,按照数据整体分布的方向逐渐将权值更新。如上表1所示,当权值更新到时间单位为4时,每层的权值分别约为0.8382、0.1005、0.04040、0.02087,而对应的精确值为0.8405、0.0978、0.0384、0.0231,可以看到最终学习的结果与精确值的差异非常小。
验证在线学习策略实验二
考虑权值学习阈值Tω的变化对学习结果的影响,将Tω从0.001增加至0.01,测试数据处理窗口产生的平均误差εw和整体的误差εT,如表2所示:
Tω | 0.001 | 0.002 | 0.005 | 0.008 | 0.01 |
εw(%) | 10.4976 | 9.7827 | 9.0100 | 9.6830 | 10.0670 |
εT(%) | 1.5686 | 1.1076 | 0.5840 | 0.7861 | 0.9848 |
表2
从上表可以得出,当权值学习阈值Tω由小变大时,无论是窗口的误差εw还是整体误差εT都呈现先减少后增加的趋势。也就是说,Tω过小则会导致每层的权值可能会被调整太高,而Tω过大又会导致学习过程的不充分,过早地结束权值学习过程。在具体的实施过程中,可以根据实际情况而调整Tω。
验证动态采样策略实验一
设置不同的采样率和窗口大小,比较第一随机采样算法(Random)和提出的第二随机采样算法(Stratified)对比结果,如表3所示:
采样率 | 0.05 | 0.1 | 0.2 | 0.3 | 0.5 |
Stratified/1000(%) | 14.7527 | 8.9757 | 6.3833 | 4.6904 | 3.9350 |
Random/1000(%) | 25.1555 | 11.5109 | 9.5309 | 8.0918 | 4.2801 |
Stratified/2000(%) | 4.4267 | 3.6772 | 2.2802 | 1.8795 | 1.0102 |
Random/2000(%) | 11.0486 | 5.2858 | 3.5295 | 2.9246 | 2.5921 |
表3
比较执行两种不同的采样算法下的数据处理窗口产生的平均误差εw,数据的采样率从0.05变化至0.5,分别测试了窗口大小为1000和2000两种情况的结果。从上表3可以得出,当窗口大小越大,所获得的数据信息就越多,因而估计的权值就越准确,进一步使得结果的误差越小。当增加采样率从0.05到0.5时,在窗口大小为2000时执行第二随机采样算法,平均误差εw降低了约77%。在同等条件下,第二随机采样算法优于第一随机采样算法。
验证动态采样策略实验二
设置不同的采样率和不同的数据量,可以测试执行动态采样策略后的近似效果,针对大数据集的近似效果如表4所示:
窗口大小 | 1000 | 2000 | 3000 | 4000 |
采样率0.05(%) | 15.8073 | 12.6184 | 10.4040 | 8.7094 |
采样率0.1(%) | 12.3321 | 9.4836 | 8.4483 | 7.8761 |
表4
结合上述在线学习结果,分别执行在不同窗口大小下的动态采样策略,比较窗口平均产生的误差值。从上表4可以得出,当窗口大小越大时,误差逐渐减小。例如,采样率均为0.05,误差从采样窗口大小为1000对应的0.15减少至采样窗口大小为2000对应的0.087。
在窗口大小相同时,采样率越小,误差越大。例如,当窗口大小均为1000时,采样率为0.05时的误差为0.158,而采样率为0.1的误差为0.123。
虽然采样窗口大小不同和采样率不同会导致误差的大小不同,但是从整体上来说,误差的范围都是较小的。因此,无论是从采样率还是采样窗口大小的角度来看,动态采样方法能够进行正常合理的实时近似处理操作。
针对小数据集的近似效果如表5所示:
窗口大小 | 1000 | 2000 | 3000 | 4000 |
采样率0.05(%) | 12.7527 | 4.4267 | 3.1598 | 2.1610 |
采样率0.1(%) | 8.9757 | 3.6772 | 2.5663 | 1.7535 |
表5
从上表5可以得出,当处理小数据集时,近似处理产生的误差小于对大数据集进行近似处理产生的误差。通过比较大小数据集下的误差结果,可以体现出在线学习策略和动态采样策略相结合处理数据在处理小数据集时的效果更为显著。
较小的数据集,意味着每个处理窗口包含的数据量更能体现整体数据的分布情况,因此小数据集下的误差是小于大数据集的。例如,采样率0.1,窗口大小2000时,大数据集下的误差约为0.0948而小数据集下约0.0367。
需要说明的是,以上各个实验依据本发明提供的技术方案,各个实验采用递进的方式描述,每个实验重点说明的都是与其它实验的不同之处,各个实验之间相同或相似部分互相参见即可。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (2)
1.一种在线流数据近似处理方法,其特征在于,包括:
对流数据进行数据学习,获得所述流数据基于二叉树的数据分布情况;
如果所述流数据的当前流速小于预设第一流速阈值,则分别使用第一随机采样算法和与所述数据分布情况对应的第二随机采样算法对所述流数据进行采样;如果所述当前流速大于预设第二流速阈值,则并行使用所述第二随机采样算法对所述流数据进行采样;
对所述采样数据进行计算,获得所述流数据的近似处理结果;
其中,所述第二随机采样算法为:根据所述数据分布情况,确定所述二叉树的底层中每个子层的权值信息;根据每个子层的权值信息,确定每个子层可容纳的子样本数量;针对所述流数据的每个数据项,确定该数据项对应的目标子层;如果所述目标子层中已存在的子样本数量小于所述目标子层对应的可容纳的子样本数量,则将该数据项加入到所述目标子层中;如果所述目标子层中已存在的子样本数量等于所述目标子层对应的可容纳的子样本数量,则将该数据项替换所述目标子层中的一个子样本。
2.一种在线流数据近似处理装置,其特征在于,包括:
数据学习模块,用于对流数据进行数据学习,获得所述流数据基于二叉树的数据分布情况;
采样模块,用于如果所述流数据的当前流速小于预设第一流速阈值,则分别使用第一随机采样算法和与所述数据分布情况对应的第二随机采样算法对所述流数据进行采样;如果所述当前流速大于预设第二流速阈值,则并行使用所述第二随机采样算法对所述流数据进行采样;其中,所述第二随机采样算法为:根据所述数据分布情况,确定所述二叉树的底层中每个子层的权值信息;根据每个子层的权值信息,确定每个子层可容纳的子样本数量;针对所述流数据的每个数据项,确定该数据项对应的目标子层;如果所述目标子层中已存在的子样本数量小于所述目标子层对应的可容纳的子样本数量,则将该数据项加入到所述目标子层中;如果所述目标子层中已存在的子样本数量等于所述目标子层对应的可容纳的子样本数量,则将该数据项替换所述目标子层中的一个子样本;
近似结果获得模块,用于对所述采样数据进行计算,获得所述流数据的近似处理结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710701338.3A CN107506418B (zh) | 2017-08-16 | 2017-08-16 | 一种在线流数据近似处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710701338.3A CN107506418B (zh) | 2017-08-16 | 2017-08-16 | 一种在线流数据近似处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107506418A CN107506418A (zh) | 2017-12-22 |
CN107506418B true CN107506418B (zh) | 2018-08-24 |
Family
ID=60691819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710701338.3A Expired - Fee Related CN107506418B (zh) | 2017-08-16 | 2017-08-16 | 一种在线流数据近似处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107506418B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114647727A (zh) * | 2022-03-17 | 2022-06-21 | 北京百度网讯科技有限公司 | 应用于实体信息识别的模型训练方法、装置和设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345593A (zh) * | 2013-07-31 | 2013-10-09 | 哈尔滨工业大学 | 面向传感器单数据流的聚集异常检测方法 |
CN105045806A (zh) * | 2015-06-04 | 2015-11-11 | 中国科学院信息工程研究所 | 一种面向分位数查询的概要数据动态分裂与维护方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7305483B2 (en) * | 2002-04-25 | 2007-12-04 | Yahoo! Inc. | Method for the real-time distribution of streaming data on a network |
-
2017
- 2017-08-16 CN CN201710701338.3A patent/CN107506418B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345593A (zh) * | 2013-07-31 | 2013-10-09 | 哈尔滨工业大学 | 面向传感器单数据流的聚集异常检测方法 |
CN105045806A (zh) * | 2015-06-04 | 2015-11-11 | 中国科学院信息工程研究所 | 一种面向分位数查询的概要数据动态分裂与维护方法 |
Non-Patent Citations (1)
Title |
---|
密度相关的数据流偏倚抽样;杨宜东等;《应用科学学报》;20060331;第24卷(第2期);第203-207页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107506418A (zh) | 2017-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022083009A1 (zh) | 一种基于异源数据差补融合的定制产品性能预测方法 | |
CN107392255A (zh) | 少数类图片样本的生成方法、装置、计算设备及存储介质 | |
CN104657596B (zh) | 一种基于模型迁移的大型新压缩机性能预测快速建模方法 | |
CN109614631B (zh) | 基于强化学习和迁移学习的飞行器全自动气动优化方法 | |
WO2022206265A1 (zh) | 一种基于深度强化学习的水文预报模型参数率定方法 | |
CN109522602A (zh) | 一种基于代理模型的Modelica模型参数优化方法 | |
CN108804334B (zh) | 一种基于自适应抽样的离散型软件可靠性增长测试与评估方法 | |
CN115437795B (zh) | 一种异构gpu集群负载感知的显存重计算优化方法及系统 | |
CN106250933A (zh) | 基于fpga的数据聚类的方法、系统及fpga处理器 | |
CN112541584B (zh) | 深度神经网络模型并行模式选择方法 | |
CN108615097A (zh) | 一种风速预测方法、系统、设备及计算机可读存储介质 | |
CN108460462A (zh) | 一种基于区间参数优化的区间神经网络学习方法 | |
CN112163671A (zh) | 一种新能源场景生成方法及系统 | |
CN110110402A (zh) | 基于二叉决策图的资源分配系统可达状态的快速求解方法 | |
CN107506418B (zh) | 一种在线流数据近似处理方法及装置 | |
CN114880806A (zh) | 基于粒子群优化的新能源汽车销量预测模型参数优化方法 | |
CN116757057A (zh) | 基于pso-ga-lstm模型的空气质量预测方法 | |
CN114676522A (zh) | 融合gan和迁移学习的气动形状优化设计方法及系统及设备 | |
CN113393051A (zh) | 基于深度迁移学习的配电网投资决策方法 | |
CN107886163A (zh) | 基于agn及cnn的单目标优化问题寻优方法及装置 | |
CN109583560B (zh) | 双变量施肥装置排肥量预测模型的构建方法及装置 | |
CN107038244A (zh) | 一种数据挖掘方法和装置、一种可读介质和存储控制器 | |
CN116292057A (zh) | 一种可变速抽水蓄能机组的控制方法、装置、设备及介质 | |
CN113991752B (zh) | 一种电网准实时智能控制方法及系统 | |
CN113722951B (zh) | 基于神经网络的散射体三维有限元网格优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180824 Termination date: 20190816 |