统计分析S语言的优点和发展背景

S语言是由贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。它的丰富的数据类型,特别有利于实现新的统计算法,其交互式运行方式及强大的图形及交互图形功能使得我们可以方便的探索数据。资深分析师Catherine最近撰文详细介绍了S语言的优点和背后的发展历史。

Catherine首先分析了S语言诞生之前的统计分析状况:

计算机总是善于计算方面的工作。当然,前提是你已经写完并且把一个程序调试到能够实现你所想要的算法。但是在20世纪60年代和70年代,计算机在 现实数据方面表现很差劲,尤其是在图像显示方面。由于这些技术的限制加上在统计理论的发展趋势,人们不得不把统计实践以及对统计人员的训练集中于建模和假 设性的测试上。在这种假设的环境下,研究者先建立精心设计的实验(在农业技术站),之后猜想假设(通常是农业)适合模型,然后再运行测试用例,进行验证。 像SPSS这种基于电子表格菜单驱动式程序反映了这种做法。事实上,SPSS和SAS Analytics的第一个版本由可以从一个程序(Fortran或者其他)调用的子程序组成,进而可以安装和测试模型的工具箱。

John Tukey抛弃了探索性数据分析(EDA)的概念,这就像一块巨石穿过一个玻璃屋顶,进入形式化和理论支撑的框架中。如今,很难想象当初对数据集的分析居 然可以不用箱线图来检查偏差和异常,或者不用通过与分位数图对比来检查一个线性模型的残差的常态。这些想法都源自Tukey,如果没有他们,就不会有今天 统计学的入门课程。当然也并不总是这样。

关于EDA(探索性数据分析),Catherine认为这不仅仅是一种方法更是一种理论。这种方法的关键是遵循以下的几条经验法则:

  • 在可能的情况下,用图形来辨别感兴趣的功能。
  • 分析是递增的。即尝试一种模式,然后再基于这种模式的基础上适应另一种模式。
  • 使用图形检查模型假设。在出现异常的地方,做出备注。
  • 使用稳健的方法,以防止偏离分布假设。

Tukey的方法掀起了一股使用新的图形化方法和稳定性估计进行开发的潮流。这也同时激发了一个新的软件开发框架的发展,并且这种软件框架比探索方法更具有适用性。

S语言是由约翰·钱伯斯和他的同事在贝尔实验室开发的,最初把它作为一个个平台,进行统计分析,尤其是杜克排序。S语言的第一版是在1976年开发 的,最初它仅仅被用于实验室内部。但是知道1988年,S语言遇到了类似如今格式的一些事情。这时,S语言依然对贝尔实验室以外的的用户可用。这门语言的 每一个方面都适合“新模式”的数据分析:

  • S语言与编程环境共同运作,是一种解释型语言。S的语法很类似C,但是S语言存在一些小困难。例如,S具有的内存管理和变量声明的功能,因此用户不必编写或调试这些东西。S语言的编程开销较低,这使得数据集的分析可以更快速的在更短的时间内完成。
  • 从S诞生之初,S允许创建高级图形,你可以向任何打开的图形窗口添加功能。你可以很容易地突出感兴趣的点,查询这些点的价值,添加平滑散点图等。
  • 直到1992年面向对象特性才被加入到S中的。在编程语言中,对象通过构建数据和函数来满足用户的要求。人的思想总是面向对象的,统计推 理,尤其是如此。统计人员经常与频率表、时间序列、矩阵、不同的数据类型、模型打交道。在任何情况下,原始数据被赋予属性和期望:例如,时间序列由观测数 据和时间点组成。对于每一种数据类型,标准的统计和描述是必须的。对于一个时间序列,我可能会做一个时间序列图和相关图,对于一个拟合模型,我可能会绘制 拟合度和残差。对于所有这些概念,S都可以创建相应的对象,并且你可以创建多个你想要的对象。对象使得从问题的概念到问题的代码实现变得非常简单。

Catherine指出:

原来的S语言严格遵循杜克的EDA,以至于到达了在S语言中只能做EDA相关的事情,否则其他事情用S做起来都很笨拙的程度。这是一门有态度的语 言。例如,虽然S附带一些有用的内部功能,它缺乏一些最明显的特征功能而你期望统计软件来来拥有这些功能。现在还没有任何一种能够处理两个样本或者实际假 设性检测的功能。但尽管如此,假设检验有时候是一件正确的事情。1988年,总部位于西雅图的Statistical Science注册了S的许可证,并把S语言的增强版本,S-PLUS,移植到DOS和后来的Windows®上。实事求是地了解客户想要什 么,Statistical Science把经典统计的功能添加到S-PLUS中。方差分析(ANOVA),t检验,和其他模型等功能被添加到其中。S语言面向对象的本质就是:任何 的拟合模型的结果本身就是一个S对象。适当的函数调用提供配合,残差,和假设检验的P值。模型对象,甚至可以包含中间计算分析步骤,如设计矩阵的QR分 解。

在11月1日开幕的QCon全球企业开发大会(上海站),参与者将有机会聆听与统计分析相关的专题讲师的经验分享:

  • 大数据应用 从大数据创业公司和互联网公司的创新数据产品角度来了解大数据的最新应用。
  • 大数据处理技术 关注大数据处理和分析的最新技术和工具以及未来的技术走向。
  • 推荐系统 探讨推荐系统的系统、架构、算法和策略,分享各大公司在应用推荐系统时的工程技术和实战经验。
This entry was posted in Achitecture. Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s