O(1) 的小乐

Job Hunting

公告

记录我的生活和工作。。。
<2011年2月>
303112345
6789101112
13141516171819
20212223242526
272812345
6789101112

统计

  • 随笔 - 182
  • 文章 - 1
  • 评论 - 41
  • 引用 - 0

留言簿(10)

随笔分类(70)

随笔档案(182)

文章档案(1)

如影随形

搜索

  •  

最新随笔

最新评论

阅读排行榜

评论排行榜

浅谈多元数据的可视化技术

多元数据是最常见的数据类型。人们经常都要作出一系列的决定,比如吃什么,买什么新手机,去哪里旅游,住什么旅馆,等等。这类决策往往是基于多元数据的分析:食物中热量有多高,碳水化合物多少,是否含有反式脂肪,三聚氰胺等添加剂等;相机的价格,像素多少,光圈大小,焦距范围,能否红外拍摄,等等。多元数据的分析还能帮助我们发现一些数据间的联系,并进行预测。

对于简单的多元数据,最常见的可视化方法是散点图(scatterplot)。比如,对于二维数据,通常的方法就把它们直接画成二维坐标上的一系列点,从而可以看出数据变化趋势。对于更高维的数据,一种方法是把数据的每种属性用不同的图形,颜色,纹理等,表示在二维坐标上。比如下面的图是由www.gapminder.org生成的,用来显示了世界上国家的财富和人均寿命的关系。横轴是人均收入,纵轴是平均寿命,每个国家表示一个圆,圆的大小表示该国的人口,圆的颜色对应于所在的区域。这样一张图表达了一个国家的4个属性。左边的图是基于1980年的数据,而右边的图是基于2009年的数据。图中那个大大的红圆就是我们中国,我们可以很直观的看出这30年中国的发展还是很给力!网站上还能生成动画,演示各个圆的位置变换,像中国那么大的圆还能动那么快,也是独一无二的。

对于有更多属性的数据,用上面的方法就往往不能显示了。常见的方法是用散点图矩阵(scatterplot matrix),如果数据有N维(N个属性),所有的属性两两组合就生成N x N个二维散点图。把这些图排列成N x N的矩阵。这样可以观察任意两个属性间的关系。比如下面这张图就显示了汽车的主要属性间的散点图【1】。其中MPG代表了汽车的油耗(每加仑油能开的旅程),从图里我们看出,发动机马力越大MPG越小,车越重MPG越小,年龄越大MPG越小,等等。

【1】M. O. Ward. Xmdvtool: Integrating multiple methods for visualizing multivariate data. In Proceedings of IEEE Conference on Visualization, 1994.

 

散点图可以很好的显示少量属性的数据。但是,即使用散点图矩阵也无法解决属性更多的情况,而且每个小图只能显示2个属性间的联系,多个属性间的关系并不是很 直观。这种局限性主要来自将数据投影在了二维直角坐标系上。人们提出一系列的方法来解决这个局限性,而其中最著名的是1981年Alfred Inselberg 提出的平行坐标系(Parallel Coordinates)。这种方法把各个属性表示成一系列的平行的轴,组成一个平行坐标系,每条数据就表示成这个坐标系里的一条直线。比如我们有这样一 组数据

可以方便的表示成这样的平行坐标

平行坐标系的优势在于发现大规模数据间的属性联系。比如再回到前面的汽车的数据,用平行坐标可以表示成【1】
多个属性间的联系比散点图要清晰。比如可以清楚看出来Cylinder多的车,MPG相对小,但是马力大;Cylinder小的车,MPG相对大,但是马力 小。在平行坐标里,我们还可以方便的进行交互式删选数据,方便观察,比如下面的图,我们可以看一下,Cylinders多,MPG小,马力大的车的其他属性怎么样。
当数据过多的时候,平行坐标系里的线就会很多,数据间的联系就看不清楚了,就像下面的左图。一种解决方法是把线画成半透明,这样主要的线的趋势就会随着线的数目的增加而清晰,像下面的右图【2】。当数据很大的时候,主要的趋势的分析通常是数据的分析的第一步。

再回到我们前面第一个例子,虽然看上去学历和收入成反比,但是如果我们有更多的数据,像汽车的例子一样,平行坐标也可以给我们更清楚显示收入和学历,年龄等等的关系,所以还在读高学位的朋友先不要灰心啊。

【1】M. O. Ward. Xmdvtool: Integrating multiple methods for visualizing multivariate data. In Proceedings of IEEE Conference on Visualization, 1994.
【2】 Chad Jones, et al. An Integrated Exploration Approach to Visualizing Multivariate Particle Data. Computing in Science & Engineering, Volume 10, Number 4, July/August, 2008, pp. 20-29

 

作为多元数据可视化的主要两种方法,散点图和平行坐标各有优缺点。散点图通常只能显现两个属性间的联系,但是每条数据都表示成一个点,从而减少了总的像素数 量和视觉复杂度;平行坐标能显示多个属性间的联系,但是每条数据(多条属性)表示成一条线,增加了像素的数量,当数据量很大的时候,复杂度就大大增加,而无法显示数据间的联系。2009年北大的袁晓如教授在IEEE VisWeek 上发表了篇文章【1】,提出了一种技术将两种方法结合在一块。基本的想法是在平行坐标里的轴之间显示散点图,从而使原来在平行坐标里看不清的数据趋势用散点图表示。像下面的左图显示的是平行坐标图,而右图结合了散点图。

在两个平行轴之间画散点图的基本思路是把右边的轴旋转90图,这样与左边的形成直角坐标系,散点图的绘制和解读也就与传统的一致。画散点图的区域中原来的直线变成穿过散点图的曲线,这样保持了原来平行坐标里的连接关系,也支持通过线来进行数据筛选的功能。这种新的技术也用到了前面所说的汽车数据的例子,有兴趣的话找这篇论文读一读吧。

【1】 Xiaoru Yuan, et al. Scattering Points in Parallel Coordinates. IEEE Transactions on Visualzation and Computer Graphics, November/December 2009 (vol. 15 no. 6)

 

在科学计算可视化的时候,看到了这篇blog,文章讲解得非常好!作者也是非常牛的!特此转载到此!

http://www.vizinsight.com/2010/12/%E6%B5%85%E8%B0%88%E5%A4%9A%E5%85%83%E6%95%B0%E6%8D%AE%E7%9A%84%E5%8F%AF%E8%A7%86%E5%8C%96%E6%8A%80%E6%9C%AF%EF%BC%88%E4%B8%8B%EF%BC%89/

 

大家可以去顶一下这个blog

http://www.vizinsight.com/

posted on 2011-02-27 21:37 Sosi 阅读(1039) 评论(0)  编辑 收藏 引用 所属分类: Courses


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


统计系统