一种多维数据的分析方法与流程

文档序号:11707677阅读:424来源:国知局

本发明涉及可视分析领域中的多维数据可视分析领域,特别涉及一种多维数据的分析方法。



背景技术:

多维数据分析被公认为是一件极具挑战的事情。为了攻克这一难题,很多用于评估多维数据质量的技术相继被提出。有方法将数据投影到二维散点图上,并利用映射结果构建凸包,α包和最小生成树,之后通过所得图像的形状来评估数据的质量;有方法不仅从图像空间上评估质量,也在数据空间中分析相关性和类别等属性。基于数据类型(如类别型,顺序型和数值型)的方法来完成这一工作。

关于数据研究工具,如r,python和sql在数据分析方面各有专长。r是一种被广泛使用的统计计算语言。python虽然不是专门为数据分析而生,但是它的一些扩展库如numpy和scipy都可以用于数据计算。sql的数据编辑和查询功能可以辅助分析人员提取并处理数据库中的数据。除此之外,timeseer是一款数据描述工具,它的主要功能是针对时间型数据构建二维分布。

多视图技术不需对数据进行任何变形就可以从多方面展现多维数据。在可视化领域中,使用多视图来展现多变量数据集这一技术也一直受到人们的重视。很多优秀的可视化系统,如vistrails、improvise和mosaicjs都涉及多视图联动技术。同样作为对多视图联动技术在多维数据方面的实践,将多维数据展示和可视化结合起来的研究也变得越来越重要。



技术实现要素:

本发明公开了一种多维数据的分析方法,更利于发现数据中变量间的数据分布关联性,发现数据值的对应关系,从而发现变量冗余性等,为进一步的数据分析提供依据和支持。

一种多维数据的分析方法,包括以下步骤:

(1)将多维数据集的每个维度和每两个维度组合作为数据视图,单独计算出数据的分布并绘制出相应的图表;

(2)将步骤(1)的每个数据视图的分布和每对数据视图的联合分布转化为数据视图之间的信息感知关系;

(3)根据步骤(2)的信息感知关系,判断步骤(1)中的数据视图是否满足四元组条件,并在满足的情况下提取四元组;

(4)解析步骤(3)得到的四元组构建为表达数据视图信息感知关系的树结构。

为了使本发明方法的适用范围更广,优选的,步骤(1)中,多维数据集包括多个类别型维度、多个数值型维度和多个时间型维度。

为了更好地展示数据视图之间的信息感知关系,优选的,步骤(2)中,计算数据视图之间的信息感知关系的公式如下:

其中:

d(a)和d(b)分别代表数据视图a和数据视图b的值域;

p(a,b),p(a)和p(b)分别是数据视图a和数据视图b的联合概率分布和各自的边缘概率分布。

为了更好的满足条件,优选的,步骤(3)中,根据步骤(2)的信息感知关系,判断步骤(1)中的数据视图是否满足四元组条件,并在满足的情况下提取四元组的具体步骤如下:

3-1、从数据视图a、b、c和d的关系数组i(a;b)、i(a;c)、i(a;d)、i(b;c)、i(b;d)和i(c;d)中找到互信息最大和第二大的值,并记录对应的下标;

3-2、当步骤3-1中得到的最大和第二大的值的下标之和为5(即下标组合为0和5、1和4、2和3)时,数据视图a、b、c和d满足四元组条件;

为了使树结构能够更好的展示数据图形之间的关系,优选的,步骤(4)中,解析步骤(3)得到的四元组构建树结构的具体步骤如下:

4-1、解析四元组生成一个图结构,所述图结构的节点代表数据视图,边代表数据视图之间的关系;

4-2、边的权重由对应的数据视图在所有四元组中属于的同组个数和不同组个数决定;例如,步骤3-2中,最大值和第二大值的下标组合为1和4,则满足四元组条件,由于数组对应的值为i(a;c)和i(b;d),构成四元组(ac|bd),其中数据视图ac、bd为同组,ad、ab、bc、cd为不同组。

4-3、根据步骤4-2得到的边的权重将步骤4-1得到的结构图分割为两个子图;

4-4、将步骤4-3中结构被破坏的四元组删掉,更新数据视图之间的边权重,重新执行图结构的分割算法,在图结构无法分割或边权重不存在不同组数据视图的时候结束,得到最后的结构图作为树结构。

优选的,还包括如下步骤:

(5)通过力引导树来对步骤(4)的树结构进行可视化,得到的布局中的所有节点都是数据视图。

优选的,步骤(5)中,通过不同的可视化布局来展现数据视图的不同维度,类别型信息采用直方图,数值型信息采用折线图,时间型数据采用日历图和二维数据采用散点图。

本发明的方法可以集成python的数据处理库和可视化视图,从而更好地解释了维度之间的关系,设置维度扫描仪可以在一维、二维、三维和四维上分别进行探索。

本发明的有益效果:

本发明的多维数据的分析方法,通过具有表现力的交互方式来帮助分析人员全面地预览整个多维数据集以及深入探索多个数据视图,提出了一个关于视图匹配和组织的策略。

附图说明

图1为本发明方法的流程示意图。

具体实施方式

下面以报警数据的案例,结合附图详细描述本发明方法,使本发明的目的和效果将变得更加明显。

如图1所示,本实施例提供一种多维数据探索方法,包括如下步骤:

步骤1:视图提取。

找到一个多维数据集,将它的每个维度和每两个维度组合作为数据视图,单独计算出数据的分布。本实施例中的报警数据一共有16个维度,包括8个类别型维度、6个数值型维度和2个时间型维度。对于类别型维度统计每个类别的数据量;对于数值型维度,合理地将数据分段,统计每个段的数据量;时间型维度类似于数值型,先分段,再统计每个分段的数据量;对于两个维度组合的数据视图,数据是各自维度(分段)值的组合的统计,如维度x的值有1和2,维度y的值有3和4,那么组合维度的值就有(1,3)、(2,3)、(1,4)和(2,4),分别统计这4组值的数据量。

步骤2:计算关系矩阵。

将每个视图的分布和每对视图的联合分布转化为视图之间的信息感知关系。这里可以用互信息值来代表信息感知关系,并据此计算出相应的关系矩阵。两个视图的互信息定义如下:

其中,d(a)和d(b)分别代表视图a和视图b的值域。p(a,b),p(a)和p(b)分别是它们的联合概率分布和各自的边缘概率分布。对所有视图对计算互信息值。

以本实施例中的报警数据为例,a和b就是步骤一中提取的任意两个数据视图,可以是单维度视图或二维视图。而a和b分别是a和b视图中所对应的值,如步骤一中的1、2和4。边缘概率分布由步骤一中统计得到的单视图分布除以总数据量决定,联合概率分布则是视图组合中所有值的统计量总数据量决定。

步骤3:构建四元组。

四元组是一种四个数据分两组的结构(表示为ab|cd),在同组中的数据(ab或cd)比在不同组中的数据(ac、ad、bc、bd)之间有更高的相关性。构建四元组算法描述了判断数据视图abcd是否满足四元组条件,并在满足的情况下提取四元组的过程。

算法首先从从关系数组(i(a;b);i(a;c);i(a;d);i(b;c);i(b;d);i(c;d))中找到互信息最大和第二大的值,并记录对应的下标;

如果这四个数据视图满足四元组条件,那么只有这两个值的下标之和为5才能保证对应的两组视图集合没有交集。

具体算法如下:

输入:对于数据视图a、b、c、d和对应的关系数组relations=[i(a;b);i(a;c);i(a;d);i(b;c);i(b;d);i(c;d)],和阈值k输出:如果满足四元组条件则返回该四元组:

1:得到关系数组relations中的最大值和对应的下标,分别记为maxrelation和maxindex;

2:计算第二大值的下标:secondmaxindex=5–maxindex;

3:得到第二大值:secondmaxrelation=relations[secondmaxindex];

4:qualified=true;

5:for关系数组中除最大值和第二大值外的其它值do;

6:if如果存在一个关系值大于k_secondmaxrelationthen;

7:qualified=false;

8:break;

9:endif;

10:endfor;

11:return如果qualified=true满足,返回对应的四元组。

步骤4:构建树结构。

采用qmc算法通过两步递归得到树结构。qmc算法首先解析四元组生成一个图结构,图的节点代表视图,边代表视图之间的关系。边的权重由对应视图在所有四元组中属于同组个数和不同组个数决定。然后执行图的分割算法,根据边的权重将这个图分割为两个子图。分割完成后将结构被破坏的四元组删掉,更新视图之间的边权重,重新执行图分割算法。算法在图结构无法分割或边权重不存在不同组视图的时候结束。

完成树结构的构建后,为了更好地分析树结构中的多维数据,还可以进行以下步骤的操作:

步骤5:研究高维数据。

通过力引导树来对分类树进行可视化,该布局中的所有节点都是数据视图。为了避免显示内容的重叠和遮挡,在对整棵树进行概览的时候,选择只显示每个视图的缩略图。用户可以通过选择来查看缩略图中的具体细节,比如图中的数据值等。

采用不同的可视化布局来展现数据的不同维度,比如用于展现类别型信息的直方图,用于展现数值型信息的折线图,用于展现时间型数据的日历图和用于展现二维数据的散点图等等。当一个缩略图被鼠标悬浮时,一条连接该视图到根节点的路径被用绿色高亮出来。除此之外,如果这个缩略图不在叶节点上,那么连接与它相关的叶节点的路径也被高亮。

步骤6:更深层次的数据探索。

用户还可以通过以下交互进行更深层次的数据探索:

关系构建:当用户选中两个视图的时候,系统自动生成一个以两个视图中的所有维度为轴的平行坐标图,可以用来进行维度比较等。

生成了橙色平行坐标图包含与报警事件类型相关的4个维度,蓝色平行坐标图包含大量的集中出现的空数据;平行坐标图表达了district_or_sector和zone_or_beat两个维度之间的关系有一定的相关性。

时间聚合:用户可以对与时间型数据相关的视图进行不同时间段的聚类操作,比如按年、月、日等等。

将时间维度的数据按小时聚合后的结果,能够看出数据在一天中不同时段的分布。

刷选联动:当用户在一个视图中刷选了一些数据后,其他视图中的这部分数据也被高亮出来,所有蓝色小图的红色被高亮部分。

视图变换:对每种类型的数据,都提供多种可视化方式以供选择,比如可以把经纬度相关的视图变换到地图视图中。

除此之外,用户还可以使用一些辅助控件进行灵活的数据研究:

维度总览控件:在这里,数据集的所有维度及它们的数据类型和基本统计结果都被一一列出。其中数据类型通过小缩略图来表示。当这个维度被鼠标悬浮,它的统计信息被自动展示出来,比如数值型数据的分位数值,时间型数据的时间跨度和类别型数据的种类数量等。

视图选择控件:该控件用于选择或取消选择一个或一组试图。用户可以点击表示维度的方块矩阵,并给相应位置的方块着上预定义的颜色。其中白色代表普通视图,黑色代表隐藏视图,其他颜色用于高亮视图。用户可以通过点击对角线上的方块选择对应的一维视图,点击非对角线上的方块选择相应的二维视图。除此之外,一维视图还可以通过拖拽矩形框选来进行选择。

摘要快照控件:分析人员对当前树结构的总结或备注将被保留在这里。在创造了很多快照的时候,最新的快照或者被分析人员解锁的那一个快照会被激活。

通过列出了3个分组的快照,分别对照原图中第一组、第二组和第三组的视图组,快照中保留了用户对这些视图组的总结,第一组视图和报警事件类型相关,第二组视图中的数据包含大量的集中出现的空数据,第三组视图和报警的地点相关。

通过这一系列的探索,用户可以发现与第一组视图和第三组视图中数据具有一对多的关系,很可能包含一定冗余性,用户在实际分析的时候可以将组内数据等价看待。而第二组数据由于包含大量空数据,对实际分析价值相对较小。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1