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

一种数据立方体的非层次数据结构摘要方法与流程

2021-12-15 01:24:00 来源:中国专利 TAG:


1.本发明属于数据处理技术领域,尤其涉及一种数据立方体的非层次数据结构摘要方法。


背景技术:

2.数据立方体在气象学、销售和人口统计学等领域无处不在,而数据摘要能够压缩多维数据立方体,并提供观察数据的不同视角,是一项重要的服务。现有的数据摘要方法需要预先设定的数据多维度的层次结构,而许多类型的数据(例如,降雨和温度)并不存在这种结构。
3.多维数据立方体广泛用于存储多属性维度的数据,例如气象数据的位置和时间维度,销售数据的位置和产品等维度,人口统计数据的地点、年龄和性别维度。如图1所示,数据立方体在其维度上定义的网格中包含许多记录。数据立方体可能非常大,这使得存储和分析变得困难。例如,欧洲中期天气预报中心(ecwmf)已经积累了270pb气象数据。
4.数据摘要将数据立方体划分为多个区域,并为数据压缩和挖掘数据信息提供每个区域中记录的近似值。例如,在图2中,具有相同颜色的记录被分配到同一区域,并通过该区域右下角的值进行近似。压缩是通过只存储数据摘要来实现的,它只有5条记录(每条记录一个区域),而不是原始数据立方体的25条记录。摘要还确保同一区域的记录取相似的值,最坏情况的近似误差为1。因此,摘要提供了有关数据的洞察,例如,该区域的左侧部分具有相似的温度(具有相同的颜色)和该区域右下方的温度变化迅速(有3个小的摘要区域)。一些研究还使用数据摘要来有效地回答olap查询。
5.许多研究已经研究了数据立方体的摘要,因为它支持数据压缩和洞察发现。根据它们能否准确重建原始数据立方体,可分为无损方法和有损方法。有损方法更受欢迎,因为它们的摘要大小较小。现有数据摘要算法的一个问题是它们需要预先假定的属性维度层次结构。例如,在图3中,产品维度有2层层次结构,可以在第一层展开为服装和食物,然后服装在第二层进一步扩展为夹克和长裤。现有方法依赖于预设的层次结构来构建数据摘要。例如,(曼哈顿区,服装)可以通过合并夹克和长裤被汇总为一个区域。然而,许多类型的数据,如温度、降雨量、湿度等,并没有预先假定的层次结构,因为它们的维度没有明显的语义(如经度、纬度和时间)。相反,数据摘要应该有助于发现层次结构来回答诸如哪个地区降雨量相似以及温度相似的时间段等问题。
6.无损摘要方法确保可以从摘要中准确地恢复原始数。lakshmanan等人使用商立方体来对数据立方体进行摘要,同时保留上卷和下钻操作的语义。sismanis等人设计了一个名为dwarf的结构,它识别重复的前缀和后缀并将它们组合起来进行压缩。王等人提出了浓缩数据立方体方法,它将多个元组压缩为一个而不会丢失信息。
7.为了使摘要规模更小,一些方法进行有损摘要,其中从摘要重建的记录可能与原始记录不同。有损摘要的一个重要方面是它是否允许控制原始记录和重建记录之间的误差阈值。据我们所知,现有的有损摘要方法都依赖于数据立方体维度的层次结构。
8.agarwal等人考虑了具有误差保证的一维数据的摘要。他们为维度层次结构(如图3所示的树)的不同级别的节点分配权重,并通过其所有祖先的权重之和来近似记录。k算法将agarwal的算法扩展到具有矩阵运算的二维数据。原始数据立方体表示为多个矩阵的加权和。但是,k不能提供最坏情况误差保证。ca算法总结了一个数据立方体在两个时间点上的变化,以识别两个时间点间较大的差异。它首先使用所有维度的层次结构的笛卡尔积构造一个数组(例如,图3中的商品和商店维度)。数组中每个元素的权重是两个时间点差值的绝对值。ca选择权重最大的k个非重叠数组元素作为数据汇总。因此,ca算法允许明确控制摘要大小而不是最坏情况下的误差。ts算法还构建了维度层次结构的笛卡尔积作为第一步。树结构源自笛卡尔积,其中每个节点聚合维度层次结构中的一些属性。例如,图3中的夹克和长裤属性由节点服装聚合。在第一步中,ts将每个内部节点的权重分配为在其子节点中出现频率最高的值。在第二步中,ts通过选择第一步中所做的注释来生成摘要。然而,由ts生成的摘要可能包括差距很大的矩形,这不适合某些分析任务,例如识别具有相似降雨量的连续区域。
9.除了用近似值对数据立方体摘要之外,一些研究还考虑了其他数据摘要任务。el gebaly等人研究了采用二进制值的多维数据的构建摘要。guoyao等人为多维数据开发了一个可扩展的信息规则挖掘程序。一些方法不是摘要记录值,而是使用最小描述长度(mdl)原则来汇总覆盖查询结果的分层区域,以支持对多维数据立方体的olap查询。wen等人实现了一个系统,用于汇总olap查询的数据。


技术实现要素:

10.现有的数据摘要方法需要预先设定的数据多维度的层次结构,而许多类型的数据并不存在这种结构。有鉴于此,本发明首先定义了非层次化数据结构摘要(nhds)问题,即使用带有误差边界的矩形区域覆盖数据立方体,并使摘要大小最小化。然后证明了nhds问题是np难,并设计了mark and select(ms)算法来寻找一个近似解。ms首先识别出符合条件的矩形,然后在矩形中选择覆盖数据立方体。为了提高效率,本发明证明了只需要计算出部分合格的矩形区域就可以求解,并设计了一种程序来避免检查对结果没有影响的矩形,利用子模块性来节省矩形选择过程中不必要的计算。我们在真实数据集和合成数据集上进行了实验。结果表明,ms在摘要大小、误差和运行时间方面显著优于最先进算法。
11.本发明公开的数据立方体的非层次数据结构摘要方法,包括以下步骤:
12.获取数据立方体d,所述数据立方体存储多属性纬度的数据;
13.将数据摘要任务转换为非层次数据结构摘要问题,即用带有误差边界的矩形区域覆盖数据立方体,并使摘要大小最小化;
14.从数据立方体d中提取一组α近似矩形的集合c,并确保c包含非层次数据结构摘要问题的最优解,获得数据立方体d中每个位置(i,j)的边界f
ij

15.从集合c中选择α近似矩形以贪心算法的方式覆盖数据立方体d,并使用基于堆的优化来提高效率;
16.使用最优的近似矩形来表示数据立方体。
17.进一步地,层次数据结构摘要问题的公式表示如下:
18.给定一个数据立方体d和误差门限α,将数据立方体摘要至矩形集合
使得是一个α近似矩形,∪r
k
=d,且矩形的数量|s|是最小的。
19.进一步地,允许不同的α近似矩形重叠。
20.进一步地,近似矩形中包含记录d
ij
,将α近似矩形的键定义为c
×
a1 b1,其中c是常数,,a1,b1]是矩形的左下点,并预先根据记录的键对α近似矩形进行排序。
21.进一步地,从近似矩形的每一个记录d
ij
出发,通过将其位置(i,j)作为矩形的左下角坐标,扩展出α相似矩形,对于左下角为(i,j)右上角为(a,b)的矩形r,如果满足
[0022][0023]
则该矩形为α相似矩形。
[0024]
进一步地,使用大根堆管理候选α相似矩形,相似矩形的分数被初始化为其大小s
k
=m
k
*n
k
,计数器记录相似矩形的分数在哪次迭代中最后更新,在每次迭代中,从堆中弹出一个矩形并检查其分数是否更新到当前迭代,如果检查通过,则将矩形添加到结果集s;如果检查失败,更新元组的分数和计数器并将其再次推入堆中。
[0025]
本发明摘要规模较小,运行时间较短。
附图说明
[0026]
图1摘要前一片区域的温度;
[0027]
图2摘要后一片区域的温度;
[0028]
图3层次化数据的说明;
[0029]
图4本发明的非层次数据结构摘要方法流程图;
[0030]
图5一个位置的边界图;
[0031]
图6基于堆的贪心选择的说明;
[0032]
图7温度数据集小样本中最坏误差与摘要规模之间的关系;
[0033]
图8湿度数据集小样本中最坏误差与摘要规模之间的关系;
[0034]
图9合成数据集小样本中最坏误差与摘要规模之间的关系;
[0035]
图10温度数据集小样本中运行时间与摘要规模之间的关系;
[0036]
图11湿度数据集小样本中运行时间与摘要规模之间的关系;
[0037]
图12合成数据集小样本中运行时间与摘要规模之间的关系;
[0038]
图13温度数据集小样本中算法摘要后规模与数据规模的关系;
[0039]
图14湿度数据集小样本中算法摘要后规模与数据规模的关系;
[0040]
图15合成数据集小样本中算法摘要后规模与数据规模的关系。
具体实施方式
[0041]
下面结合附图对本发明作进一步的说明,但不以任何方式对本发明加以限制,基于本发明教导所作的任何变换或替换,均属于本发明的保护范围。
[0042]
如图4所示,本发明公开的数据立方体的非层次数据结构摘要方法,包括以下步骤:
[0043]
获取数据立方体d,所述数据立方体存储多属性纬度的数据;
[0044]
将数据摘要任务转换为非层次数据结构摘要问题,即用带有误差边界的矩形区域
覆盖数据立方体,并使摘要大小最小化;
[0045]
从数据立方体d中提取一组α近似矩形的集合c,并确保c包含非层次数据结构摘要问题的最优解,获得数据立方体d中每个位置(i,j)的边界f
ij

[0046]
从集合c中选择α近似矩形以贪心算法的方式覆盖数据立方体d,并使用基于堆的优化来提高效率;
[0047]
使用最优的α近似矩形来表示数据立方体。
[0048]
以下详细描述本发明的步骤。首先本发明正式定义了非层次化数据结构摘要(nhds)问题。本实施例只描述了二维情况,因为扩展到更高维度的过程很简单,本实施例对此不作限制。
[0049]
对于一个二维数据立方体d={d
ij
},1≤i≤m,1≤j≤n(即m*n大小的数据立方体),其中每一个元素d
ij
∈d记录了一个数据单元(例如某地区的降雨量或温度)。我们定义数据立方体中一个矩形区域为r=rec(a1,b1,a2,b2),其中1≤a1≤a2≤m,1≤b1≤b2≤n。(a1,b1)是矩形区域的左下角,(a2,b2)是右上角。我们说d
ij
∈r当且仅当i∈[a1,a2],j∈[b1,b2]。如果存在一个值w满足|d
ij

w|≤α,则我们称r是α近似矩形。
[0050]
nhds问题是尽可能简洁地将数据立方体总结成α近似矩形。本发明给出它的形式定义如下。
[0051]
定义1(非层次化数据结构摘要)给定一个数据立方体d和误差门限α,将数据立方体摘要至矩形集合使得是一个α近似矩形,∪r
k
=d,且矩形的数量|s|是最小的。
[0052]
本发明使用α近似矩形作为数据摘要的基本单位,因为它符合我们的数据压缩和洞察发现的目标。α近似矩形提供了一个近似度的门限,当d
ij
∈r时,w用于记录近似后的数值,如果我们使用小的α,则误差也会较小。同一α近似矩形中的记录有因此,α近似矩形是具有相似记录值的连续区域,例如,具有相似降雨量的区域和具有相似温度的海洋区域。将数据立方体摘要为α近似矩形提供了有关气象学和海洋学等领域数据的深入了解。例如,可以识别具有相似记录值的连续区域。此外,还可以观察记录在哪些区域是稳定的(该区域由面积大的α近似矩形覆盖)以及在哪些区域记录变化迅速(该区域由面积小的α近似矩形覆盖)。
[0053]
请注意,在nhds问题中,本发明允许不同的α近似矩形重叠。当记录d
ij
被覆盖它的任何α近似矩形近似时,这仍然保留了α误差界限。此外,每个α近似矩形仍然是具有相似记录的连续区域。相比之下,对于ts算法,矩形可以包含具有非常不同值的记录。有了α近似矩形的集合s,我们可以在不检查原始数据立方体的情况下快速查找记录的近似值。我们将α近似矩形的键定义为c
×
a1 b1(c>n是一个常数,[a1,b1]是矩形的左下点)并预先根据它们的键对α近似矩形进行排序。对于记录d
ij
,我们可以使用二分查找找到键不大于c
×
i j的α近似矩形,并检查它们是否包含d
ij
按其键的降序排列。根据经验,我们观察到,当我们从右下点接近d
ij
的矩形开始时,这个检查过程会很快终止。
[0054]
定理1:nhds问题是一个np难的问题
[0055]
证明:我们通过将nhds问题简化为集合覆盖问题来证明定理1,集合覆盖问题是
karp的21个np完全问题之一。给定一个误差阈值α,我们可以首先从数据立方体d中得到所有可行的α近似矩形的集合那么nhds问题就等价于集合覆盖问题:每个记录d
ij
是集合d中的一个元素,u中每个矩形r
k
是d的子集,包含它的一些数据单元,nhds问题是从u中选择最小数量的子集,使得d中的所有元素被覆盖。
[0056]
由于无法在多项式时间内获得nhds问题的精确解,本发明开发了一种名为mark and select(ms,标记选择算法)的近似算法。
[0057]
在这一部分,我们将我们的ms算法作为nhds问题的解决方案。ms算法由两个阶段组成,即标记阶段和选择阶段。标记阶段从数据立方体d中提取一组α近似矩形的集合c,并确保c包含nhds问题的最优解。选择阶段从c中选择α近似矩形以贪心算法的方式覆盖数据立方体d,并使用基于堆的优化来提高效率。
[0058]
标记阶段:
[0059]
在引入标记算法之前,我们讨论了nhds问题的一些性质,并定义了一些关键概念。
[0060]
性质1.将d中所有α近似矩形表示为从u中选择出的对于nhds问题的最优解表示为s
*
。令为u的子集,满足为u的子集,满足使得将从c中选择出的nhds问题的最优解表示为有
[0061]
在性质1当中,对于两个矩形r
k
和r
l
,如果有则我们称r
l
包含r
k
,即性质1成立是因为我们可以在不增加基数的情况下,将解由s
*
转化为我们只需要对于每一个r
k
∈s
*
,任意选择r
l
∈c使得并将r
l
放入集合
[0062]
定义2(边界).对于一个矩形集合它的边界满足使得并且有有或
[0063]
根据性质1,在所有α近似矩形的边界找到nhds的最优解就足够了。另外,边界f是保持此属性的最小基数集合。这是因为f已经满足了有或如果我们从f中移除一个矩形,那么必然会有一个矩形r
k
∈u,我们不能在f中找到它的子集。因此,我们的标记算法是为了找到所有α相似矩形的边界f。为此,我们从每一个记录d
ij
出发,通过将其位置(i,j)作为矩形的左下角坐标,扩展出α相似矩形。对于左下角为(i,j)右上角为(a,b)的矩形r,如果满足
[0064][0065]
则该矩形为α相似矩形。
[0066]
对于一个位置(i,j),我们可以找到一个集合u
ij
包含很多由该位置扩展出来的α相似矩形。然而根据以上分析,对于每个位置,我们只需要保留u
ij
的边界f
ij
就足够了。如图5所示,当2α=1且初始位置为左下角时,实线矩形在边界集合中,因为它们在不违反误差门限的条件,不能够继续扩展。然而,虚线矩形不在边界集合中,因为它被实线矩形所包含。对于一个包含α相似矩形的集合u
ij
,我们可以使用算法1来找到边界f
ij
,其复杂度为ο(|u
ij
|log(|u
ij
|))。在算法1当中,u
a
[i]表示按矩形右上角x轴坐标a
k
降序排列时u中第i个右上
角。u
a
[i].b表示第i个右上角的y轴坐标。我们使用f
ij
=reduce(u
ij
)来表示寻找u
ij
边界的过程。
[0067]
算法1伪代码
[0068][0069]
较为简单的解决方案是从(i,j)原点出发去扩展寻找α相似矩形,因为rec(i,j,i,j)保证是α相似矩形。然而,下面的性质能够使我们通过(i

1,j)和(i,j

1)的扩展结果,从(a,b)开始(a>i,b>j),对(i,j)进行扩展。
[0070]
性质2.如果r1=rec(i

1,j,a,b)或r2=rec(i,j

1,a,b)是一个α相似矩形,那么r=rec(i,j,a,b)也是一个α相似矩形。
[0071]
性质2成立是因为且有α相似矩形的子集也是α相似矩形。综上所述,我们在算法2当中介绍了标记过程,在算法3当中介绍了扩展过程。
[0072]
算法2标记算法伪代码
[0073]
输入:m行n列的2维数据立方体
[0074]
输出:the frontier f
ij for each record d
ij ∈d
[0075]
[0076][0077]
在算法2当中,对于每一个位置(i,j),我们记录了集合f
ij
中所有边界α相似矩形的右上角。f
ij
初始值为(i,j)本身。然后,对于每个位置(i,j),我们使用初始f
ij
作为起点(4

7行),从中扩展α相似矩形。当我们完成一个位置的扩展后,我们只保留它的边界(第9行)。使用位置(i,j)的边界f
ij
,我们还更新位置(i 1,j)和(i,j 1)的扩展种子,以降低后面扩展的复杂性。
[0078]
算法3扩展算法伪代码extend(i,j,a,b)
[0079]
输入:the lower

left point(i,j)and extension start point(a.b)with a>=i and b>=j
[0080]
输出:the frontier that can be extended for(i,j)from(a.b)
[0081][0082][0083]
算法3以递归方式对位置(i,j)以(a,b)为起点进行扩展。根据max
dij∈r d
ij

min
dij∈r d
ij
≤2α,函数extend(i,j,a,b)检查r=rec(i,j,a,b)是否是α相似矩形,并在检查通过时返回true。checked(a,b)用于记录我们之前是否对位置(i,j)在(a,b)位置进行了扩
展(有可能在其他种子或者算法3的递归调用中使用了相同的种子)。如果我们不能将rec(i,j,a,b)扩展为更大的α相似矩形,则算法返回(a,b)作为最远点(第2

3行)。否则,扩展将继续扩展到更大的α相似矩形矩形(第4

9行)。
[0084]
选择阶段:
[0085]
在标记阶段,我们获得数据立方体d中每个位置(i,j)的边界f
ij
。我们将这些α相似矩形收集到一个候选集u=∪
ij
f
ij
中,现在的问题是如何在u中选择一些矩形覆盖数据立方体d。为此,我们使用选择阶段并在介绍算法之前引入一些符号。
[0086]
定义3对于一个数据立方体d和d中α相似矩形的集合定义s的价值v(s)为s中所包含矩形区域的数据单元的数量,即
[0087][0088]
算法4贪婪α

loss矩形选择
[0089]
输入:the set u=of{r
k
}
kk=1
candidateα

loss rectangles
[0090]
输出:a set s of a

loss rectangles covering all records in the data cube d
[0091][0092]
4:calculate score s
k
=v(s∪r
k
)—v(s)
[0093]
5:find the rectangle r with the largest score
[0094]
6:s=s∪r,u=u—r
[0095]
根据定义,当v(s)=m*n(数据立方体的规模)时,d中所有的数据单元都被覆盖。因此,一个直观的解决方法就是使用算法4去选择矩形。算法4采用贪心策略在每次迭代中选择一个矩形添加到结果s中。矩形r
k
对当前结果s的贡献定义为s
k
=v(s∪r
k
)

v(s),并在每一次迭代选择具有最大贡献的矩形。尽管很简单,算法4提供了理论保证,因为价值函数v(s)是子模性的,如以下定理所述。
[0096]
定理2对于两个α相似矩形的集合s与s’,以及一个α相似矩形r,我们有
[0097]
1.对于任意s和r,v(s∪r)

v(s)>0
[0098]
2.v(s∪r)

v(s)≥v(s

∪r)

v(s

)
[0099]
证明:定理2的第一部分显然成立。对于第二部分,定义证明:定理2的第一部分显然成立。对于第二部分,定义观察发现d1=v(s∪r)

v(s),d2=v(s

∪r)

v(s

)。因为因此我们有|d1|≥|d2|.
[0100]
由于子模块性,算法4提供的解决方案s满足以下性质。
[0101]
定理3假设选择了l个矩形使v(s)的值最大化,假设最优解为算法4中最开始选出的l个矩形为s
l
,则有
[0102]
算法5堆的延迟α

loss的矩形选择算法伪代码
[0103]
输入:the set u={r
k
}
kk=1
of candidate a

loss rectangles
[0104]
输出:a set s of a

loss rectangles covering all records in d
[0105][0106]
定理3表明,算法4产生的解在每一步都实现了价值函数的较大值。这一证明来自价值函数的子模块性。然而,算法4的一个问题是它的高复杂性,因为它需要在每次迭代中计算所有矩形的分数s
k
。结合定理2中的性质2,我们设计了一个堆的延迟计算进行优化选择过程算法5,避免了算法4中不必要的分数计算。大根堆用于管理候选α相似矩形,矩形r
k
的分数被初始化为其大小s
k
=m
k
*n
k
。计数器c
k
记录了r
k
的分数在哪个迭代中最后更新。在每次迭代中,算法5从堆中弹出一个矩形并检查其分数是否更新到当前迭代。如果检查通过,则将矩形添加到结果集s;如果检查失败,我们更新元组的分数和计数器并将其再次推入堆中。在第i次迭代时,堆中的一些元组可能在第j次迭代中更新了过时的分数s
k
(j<i),但这不影响算法5的正确性。
[0107]
图6为基于堆的贪心选择(延迟计算)的说明。元组(a,b)表示选择d个矩形时计算出的该矩形的得分为c。当前全局迭代计数为3,并且选择了堆顶部的元组,因为它的计数器也是3(这意味着分数是最新的)。但是,堆中可能存在分数过时的矩形。例如,(5,2)表示已经选择2个矩形时当前α近似矩形的计算得分为5,而(2,1)表示已经选择1个矩形时当前α近似矩形的计算得分为2。由于以下性质,算法5是正确的。
[0108]
性质3在算法5的执行过程当中,将选择前i个矩形时的结果记为s
i
,r
k
分数为s
k
[i]=v(s
i
∪r
k
)

v(s
i
),根据定理2的性质2,我们有当j<i时,s
k
[i]≤s
k
[j]。将算法5选出的第i 1个矩形定义为r
l
,它满足对于堆中的所有的r
k
,s
l
[i]≥s
k
[j],因为r
l
是堆顶元素。因此,对于堆中的所有矩形,我们有s
l
[i]≥s
k
[i]因为s
l
[i]≥s
k
[j]且s
k
[j]≥s
k
[i]。
[0109]
实验评估:
[0110]
本部分进行大量的实验来评估本发明的ms算法。实验使用了三个数据集,温度、湿
度和合成数据。温度数据记录了2020年12月1日0:00的全球温度。数据集为两个维度,分别以经度和纬度为x轴和y轴。在两个轴的间距为0.25度的网格上测量温度,因此数据集有(360/0.25)*(180/0.25)=1,036,800记录。湿度数据包含2020年12月1日12点[0
°
e,180
°
e]和[0
°
n,90
°
n]的空气湿度。网格间距也是0.25度,因此数据集的大小为(180/0.25)*(90/0.25)=259,200。合成数据是根据1000个城市60年的降雨数据生成的。我们使用位置作为x轴,时间作为y轴,并随机生成每个月的测量值。因此,数据集的大小为1,000*60*12=720,000。
[0111]
将本发明的ms算法与ca算法进行比较,因为这两种算法都使用包含相似记录的矩形来汇总数据立方体。我们没有与k和ts进行比较,因为它们的摘要可能包括包含非常不同记录的矩形,这可能不适合可视化和分析任务。例如,用不同的矩形进行摘要,就很难观察到具有相似温度或湿度的连续区域。由于ca需要每个轴上的层次结构,我们使用平衡二叉树手动为每个轴构建层次结构,该树使用网格上的点作为叶子,从而使ca能够生成任何形状和大小的矩形。由于ca需要输入中的正值和负值,我们将原始记录转换为比率,然后取对数。请注意,ms允许指定最坏的误差阈值(即α),而ca则不允许。
[0112]
性能指标:我们使用摘要规模、运行时间和相似误差为主要性能指标。摘要大小是摘要中矩形的数量,而近似误差是数据记录与其由数据摘要提供的近似值之间的比率。我们关注最坏情况下的误差(即最大误差),因为它提供了一个误差阈值。为了计算记录的近似值,ms使用覆盖该记录的α近似矩形的关联的值w。在ca中,摘要节点的值是其叶节点的总和。因此,我们将摘要节点的值在其叶节点之间平均划分,以计算近似的数据结果。ms和ca都是使用java8实现的。所有实验均在配备intel core i5

10200h 2.4ghz cpu和16gb内存的机器上进行。
[0113]
摘要规模与最坏误差:我们比较了图7

图9中ca和ms的最坏误差。由于ca会在原始数据集上运行很长时间,因此我们对每个数据集有6000条记录的样本进行了此实验。结果表明,随着摘要大小的增加,两种算法的最坏误差趋于减少。在相同的摘要大小下,ms始终提供比ca更小的最坏误差。对于所有3个数据集,ca的最坏误差可能是ms的2倍以上。此外,ms的最坏误差随着摘要大小的增加也比ca减少得更快。对于湿度数据集,随着摘要大小的增加,ca的最坏误差几乎保持不变。ms在最坏误差方面优于ca,因为ms是在固定最坏误差的情况下,最小化摘要规模的。
[0114]
摘要规模与运行时间:在图10

图12中,我们比较了ca和ms在3个数据集的小样本上的运行时间(按照与图5相同的程序生成)。结果表明,在生成相同大小的摘要时,ca的运行时间比ms长1

3个数量级。此外,ca的运行时间随摘要大小超线性增加,而ms的运行时间在不同摘要大小下几乎不变。这是因为ca使用昂贵的动态编程过程来检查数据层次结构的所有可能分区,并且人工二进制层次结构对于小样本数据已经很深了。我们还观察到ca具有很高的内存消耗,并且在数据集很大时很容易出现内存不足。
[0115]
摘要后规模与数据规模:在图13

图15中,我们通过对每个数据集规模的1/16、1/8、1/4、1/2和1进行采样,绘制了ms算法的摘要大小和数据大小之间的关系。我们还为每个数据集使用了3个不同的最坏误差阈值α,这些阈值是通过缩放数据集的标准偏差来设置的。结果表明,在相同的α下,摘要大小几乎随数据大小线性增长。这是因为随着数据大小的增加,需要更多的矩形来覆盖记录。在数据大小相同的情况下,摘要大小与误差阈值α成反
比。这是因为更大的α允许一个矩形覆盖更多的记录,因此所需的矩形数量减少。结果还表明,ms提供了很大的压缩比,例如,在温度数据上,α=0.03,压缩率约为41倍(即1036k/25k)。
[0116]
堆优化的效果:本发明使用了基于堆的优化来提高ms算法选择阶段的效率。我们在表1中报告了有和没有堆优化的ms运行时间。结果表明,堆优化显着减少了运行时间,并且加速比可以超过一个数量级。这是因为在选择阶段有许多候选α相似矩形要考虑,并且在每次迭代中计算所有这些矩形的分数都很昂贵。堆优化可以只计算一些矩形的分数,从而提高效率。
[0117]
表1ms算法和未带堆优化的ms算法运行时间比较(单位:秒)
[0118][0119]
本发明研究了在维度上没有预设层次结构的数据立方体的摘要,这对于需要从数据中发现层次结构的场景很重要。我们首先定义非层次化数据结构摘要(nhds)问题,该问题需要最坏误差保证并最小化摘要大小。由于nhds问题是np

hard,我们设计了mark and select(ms)算法来寻找近似解。ms首先识别对误差要求进行分层的候选矩形,然后在矩形中进行选择以覆盖数据立方体。为了实现高效率,我们证明只识别一些符合条件的矩形是足够的,设计了一个高效的矩形识别程序,并使用基于堆的优化来避免矩形选择的不必要计算。实验结果表明,ms提供的摘要规模较小,运行时间较短。
[0120]
本发明的有益效果是摘要规模较小,运行时间较短。
[0121]
上述实施例为本发明的一种实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何背离本发明的精神实质与原理下所做的改变、修饰、代替、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献