Beta

It’s a beautiful thing when free data meets free algorithm.

最近忙着准备第二届中国 R 语言会议的报告,其中一篇是关于《R 在大规模数据整理及自动化报告方面的应用》,演讲里说到了 LaTeX,于是乎,顺手翻了翻以前的文档。结果非常惊讶地发现汤银才老师 2004 年的时候已经翻译了 pdfscreen,PPower4 的相关文档。这次汤老师在第二届中国 R 语言会议(上海)会有一篇《R 与 Winbugs》的演讲,非常期待。预祝 第二届 R 语言会议成功举办!

R 语言会议报告的摘要附下:

近年来高速发展的计算机技术极大地丰富了数据收集的方式与存储的总量。尤其是商业数据库优良的性能,为数据分析带来了极大的便利性。与此同时,数据规模和数据环境复杂性仍是我们需要面对的巨大挑战。作为当前数据分析领域最为活跃的 R 语言,不但提供了广泛的数据分析方法,而且为我们带来了灵活的扩展、便捷的编程,无疑是数据分析领域最优秀的环境。本文选取了一个侧面,主要介绍了 R 利用 Oracle 数据库进行大规模数据整理,以及利用 LaTeX 环境和 Sweave 技术实现自动化报告的若干技术和应用。

2009年10月20日 REvolution 消息,REvolution 获得来自 North Bridge 和英特尔的 900 万美元的风险投资。最为轰动的是:SPSS 软件的创始人之一,前 SPSS 的 CEO——Norman Nie 正式成为 REvolution 的 CEO!

REvolution 是一家专注销售基于开源统计分析语言 R 开发的统计建模软件的公司,据其自身报道,REvolution 解决了 R 在多线程计算、内存使用、高性能计算等关键性问题,且提供专业的商业统计服务。注: R 也有解决此类问题的包,可参见 HighPerformanceComputing

 国内很多介绍 SPSS 的资料一般都会有提到:

20世纪60年代末,美国斯坦福大学的三位研究生研制开发了最早的统计分析软件SPSS,同时成立了SPSS公司,并于1975年在芝加哥组建了SPSS总部……

而这三位研究生中最主要的一位就是上面所说的 Norman Nie。Nie 从1975 至 1992 年间一直担任 SPSS 公司 CEO,而后一直担任董事会主席和软件设计顾问。

REvolution 的 David Smith 说 Norman Nie:

he is deeply passionate about making Statistics better with R.

今年 SPSS 发生了很多事,比如 SPSS 重塑金身,比如 IBM 花费 12 亿美元收购 SPSS,但我认为 Norman Nie 转向 R 社区最让人兴奋!

visualfunhouse 看到一张视觉欺骗的图,非常有意思。闲话不说了,下面的图片里有一个人,找一找在哪里?

和作者一样,我瞪了5秒居然没找到那个隐形人,很是巧妙。其他类似的图请移步这里visualfunhouse上还有很多有意思的 Body Paint,作者是Liu Bolin(译音)。

R 各个镜像中的 Contributed Packages 越来越多,截至今日,已经达到1950个,单单拉动鼠标把所有的 包名 从 A 到 Z 过一遍也得 10 几秒。随便考你一道:最后一个 R 包是啥?

zoo?

呵呵,我的印象里一直是它,仔细瞧了瞧发现是个叫 zyp 的包。

又一次领略了 R 强大的扩展能力撒?这个特点给我们带来了一些烦恼,因为人类的大脑能够理解的概念是有限的,对于没有任何关联的概念,我们的识别能力一般不超过 7,而且 R 的涵盖范围实在太广。从我们的有限性(7个概念)和 R 的无限性这一角度讲,逐一认识这些包几乎是不可能的!不过还好,至少我们可以可以参考 CRAN 上的 Task Views,大致了解 R 包的使用方向。

我们换个思路,不是从 R 的使用方向上,而是从 R 包的依赖关系上?

这些 R 包并不是相互独立的。比如说,MASS 包依赖于 R (>= 2.5.0), grDevices, graphics, stats, utils 这些基础包;而又会有包依赖于 MASS 包,比如 yihuianimation ,当然还有可能有包依赖于 animation ……

遍历所有的包,我们就看到了一个网络,一个 R 包的网络。

为了简化起见,这里忽略了同其他包没有关系的包(当然并不是完全没有关系,所有的包都和 RR 的基础包有关,如果这样计量的话,会导致所有的包都会指向 R)。

首先截取了这个庞大网络的一部分:

从上图我们可以看到,标记点为215、271的两个包是我们研究的包网络中的两个关键点,这两个包分别是lattice、mvtnorm。

关于这两个包:
  1. lattice:网格绘图的基础包。很多包基于它扩展并不惊讶吧;
  2. mvtnorm:多元正态分布和t分布的概率密度函数、累计分布函数、分位数函数、分布随机数。多元分布的基础。

从 271(mvtnorm)向左上,又会有一个小的聚集。那个小的聚集中心(110),是 fBasics 包,如果各位对金融领域关注的话,应该知道它在其中的地位吧。

当然,由于抽取的是一个子网络,很多的连接都被生硬地隔断,因此出现了大量的孤立点。

如果我们把 CRAN 上的1950个包都放到我们的网络中会是这样:

最后说明:
  1. 第一张图的 包 id 换成 包名称 会导致 演示的视觉效果很差,网页又不支持 pdf 直接显示,只好把带包名的图放这(pdf)。
  2. 带包名的 ,1950 个包的全图就算了吧,单绘图就得 2 分钟,更别提调整参数了 ……

还记得第一次看到水立方时的惊讶么?

是什么这么吸引我们?是有如天空般的颜色?还是那气泡似的形状?

从水立方的外墙结构上看,不但外观美观,而且十分紧凑。水立方外墙为什么会有这样的性质,是因为它上应用了一项最优化的技术,即Voronoi 原理。

Voronoi 图也常常被称为 Dirichlet 格局(Dirichlet tessellation)。通俗讲,其原理是一项从点到面的技术。它的每个多边形只有一个"生成点",而这个多边形上的每个点到"生成点"的距离总是比到其他"生成点"的距离要小(是不是想到了 K-means 算法?)。

在建筑设计上,有设计人员争论这类方法定义为“参数化设计”。认为这种方法不能同传统的、依靠灵感的设计方式相比,因为这种方法高度依赖计算机,只需要简单改变若干参数就能得到设计方案。但这个论断,恰恰忽略了“参数化设计”背后的数学意义。

既然 Voronoi 是一种最优化的算法,那么除在建筑学上给我们带来的美轮美奂的视觉效果外,它在空间统计上同样也有应用。

下面,我根据各个省会城市(包括香港、澳门)的地理位置,利用 Voronoi 原理,计算每个省最佳控制范围(使用红色的线条标记):

虽然理论值(最优)和现实值(行政区划、地理)总有差距,但是,比较一下会发现一些值得探讨的现象:
  • 内蒙古应该好好的规划一下,从东边到西边实在太远了,把西边的划给宁夏可能好点;东边划给北京、东三省;
  • 河北北部,不论是属于北京还是天津都会好些,记得我小的时候,宁可去北京、天津,也不乐意去遥远的省会--石家庄;
  • 青海应该把甘肃的北部包括进去;
  • 上海、香港、澳门有一部分管辖区也也不错么:)

整体上看,大部分省的行政区划还是符合 Voronoi 原理。也就是说,单纯从空间距离的角度来看,我国的行政区划还是比较不错的。,

0%