2015-10-02 22:02:46来源:中国循环杂志阅读:22次
一个统计软件的丰富和发展在很大程度上承载了统计学科的发展和进步,不过统计软件的发展和计算机技术的发展和革新密不可分。
最早的统计软件,或许可以追溯到1957年的BMDP,其全称为BiomedicalPackage,望其名便知这是一个从生物医学需求出发的统计软件。BMDP被SPSS收购后,便销声匿迹,但自BMDP之后,各种统计软件层出不穷,有基于图形用户界面(Graphical User Interface,GUI)者,如SPSS,也有基于命令行界面(Command Line Interface,CLI)者,如SAS、R及Stata;有通用型功能者,如SPSS、SAS、R及Stata,也有专用型功能者,如RevMan、MedCal,SigmaPlot等;有早已或正在消逝者,如BMDP、S-PLUS,也有正在孕育或还在成长者,如R、Julia等。
如果要给统计软件划分时代话,或许下面几个阶段可以用来做简要概述:
大型机时代
最早的统计软件诞生在大型机时代,基于的操纵系统都是诸如IBM mainframes等大型机系统,如BMDP,以及后来为人们所熟知的SPSS和SAS。SPSS和SAS 几乎都是20世纪60年代出现的,不过从诞生起,两者的目标定位就不同。SPSS采用GUI,侧重社会科学研究人员使用;而SAS则采用CLI,面向统计专业人员。GUI和CLI者两种形式各有优劣,GUI通过点击菜单式操作完成数据处理和统计分析,对于非统计人员来说,易操作,但重复性差,也不便留痕和记录,此外菜单式的界面选项能容纳的统计过程和选项有限,无法跟进学科的发展;CLI通过命令行或者编程语言完成数据处理和统计分析,适合统计专业人员,作业过程灵活,对于自动化和重复性作业有明显优势。不过,为了均衡,现在很多通用型CLI统计软件都增加了GUI方式,如Stata,而GUI统计软件也增加了CLI方式,如SPSS。
微机时代
20世纪80年代,得益于微机的发展,一部分大型机时代的统计软件也开始发布PC 版本,如SPSS和SAS。于此同时,一些原本就基于PC设计的新一代统计软件也相续出现,例如Data Desk、JMP以及Stata。Data Desk和JMP一开始都是为Macintosh系统开发,注重图形、可视化、以及解释性数据分析。Data Desk如今已了无踪迹,JMP现在是SAS公司的二号拳头产品,已面向市场推出多种版本。Stata最先也是基于CLI完成统计分析,直到2003年加入了GUI功能,不过从其诞生伊始,就强调可扩展性及用户贡献代码。例如Stata里非常著名的Meta命令包就是由用户开发和贡献的。
互联网时代
现在是互联网极为活跃的时代,也是大数据兴起和飞速发展的时代,数据已经成为一种宝贵的资源,数据分析师,数据科学家成为炙手可热的职位。在这样的环境下,开源统计环境R,开源编程语言 Python等开始大放异彩。R 的前身其实可以追溯到贝尔实验室的统计编程语言S,最初S语言仅供科研机构免费使用,直到AT&T将其卖给Insightful公司,并发行了商业版软件S-PLUS。R语言是S 语言的一种方言,S语言的代码几乎可以不加修改在R软件里运行,因此很多学者和用户很快从S-PULS转向R。R的社区非常活跃,各种拓展包几乎可以完成任何各种统计计算任务,最新的统计方法也会不断体现于R包中。不过,R语言毕竟是由统计学家开发的语言,始终算不是一种真正的编程语言。但是Python确实一种名副其实的编程语言,Python的各种类库也使得各种任务的实现变得异常方便,特别是在网络数据抓取,机器学习等方面,而且由于其普适性和在工程化方面的优势,Python语言无论是在学术界还是在工业界都成为了新宠。
古语有言曰“工欲善其事必先利其器”,诚然。一个合适的统计分析软件可以让我们的统计分析工作起到事半功倍的效果,而一个蹩脚的统计分析软件则有可能浪费我们大量宝贵的时间和资源。如何选择合适的统计分析软件,您有何高见?
由于统计软件的更替很快,领域也各有侧重,因此仅对目前市面上流行的通用型统计软件,如SPSS、Stata、SAS和R从软件属性、安装、数据读取、数据操作、统计分析、结果展现等方面做一些比较。限于个人的偏好、经验以及见识,概括的内容可能会比较主观,可能也不甚准确,仅以此为基础,为软件的选择者提供一个概括性的参考。如果您对这个话题还有更多的兴趣,推荐UCLA的教授Michael N. Mitchell的分析报告 《Strategically using General Purpose Statistics Packages:
A Look at Stata, SAS and SPSS》。
常用通用型统计软件特性比较
SPSS | Stata | SAS | R | |
支持平台 | Windows Mac OS Linux | Windows Mac OS Linux | Windows Linux | Windows Mac OS Linux |
开源 | 商业软件 非开源 | 商业软件 非开源 | 商业软件 非开源 | 自由软件 开源 |
界面特性 | GUI | CLI | CLI | CLI |
编程语言 | SPSS syntax,语法古怪,使用者甚少 | Ado,算不上编程语言,由命令行组成 | SAS语言,编译语言,较为古怪 | R语言,脚本语言,简洁灵活 |
安装 | 安装较便捷 | 安装较便捷 | 安装繁琐 | 安装便捷 |
数据处理 | 缺乏优势 | 缺乏优势 | 优势明显 | 优势明显 |
统计分析 | 满足基本统计需求 | 优势明显,在医学领域也有丰富的特定命令 | 优势明显,统计算法权威,稳定性好 | 优势明显,统计方法丰富,更新快速 |
数据展现 | 默认绘图基本可以满足,较为美观 | 默认绘图丰富,样式精美 | Graph模块绘图繁琐,外观有待改进 | ggplot2绘图精美,优势明显 |
交互性 | 弱 | 弱 | 弱 | 强 |
拓展性 | 弱 | 较好 | 弱 | 好 |
局限性 | 留痕和重复性差 | 命令行语法,不算是真正编程语言 | 笨重,缺乏灵活,编程语法古怪 | 大数据集处理受限于内存,各种包的质量不齐 |
学习成本 | 学习资料不多,但由于菜单图形界面操作容易,学习成本低 | 学习资料不多,CLI 学习需要一定的编程技巧,但学习成本不高 | 学习资源丰富,官方文档质量高,但SAS语法较为古怪,学习成本高 | 学习资源丰富,脚本语言学习成本不高 |
如何选择合适的统计分析软件,或许这个问题没用统一的标准答案。但是,无论如何,下面这些方面的考虑值得参考:
研究目的
统计分析软件的选择应该同研究目相适应。例如,如果是做新药临床试验,考虑到法规部门的要求,如可重复性、留痕等,SAS 将是一个不二的选择;如果只是想做传统的Meta分析,Cochrane专用的软件RevMan即可,但是如果想做更复杂的Meta分析,Stata或者R或许是更好的选择。
团队资源
统计软件的选择应结合研究团队的人力(统计人员)、财力等资源做考虑。如果团队的统计师熟悉的是SAS软件,却将Stata软件作为研究项目的主要统计工具,可能会欠妥。如果团队的资金紧张,却购买昂贵的SAS及其模块,也并非明智之举。
软件特性
主要是指,作为一种主要的统计分析工具,其在数据读取、数据操作、统计分析、以及结果展现等方面的特性。此外软件是基于GUI还是CLI也很重要。大部分的研究项目是需要留痕,需要反复修改和利用的,因此,CLI方式的软件比GUI方式的软件更适合。
实际研究工作中,研究团队在选择统计软件时除了可以参考以上几点外,还需注意,仅仅依靠一种统计软件或许也不是十分明智的做法,在一些具体或者特别的问题上,一些专用的软件也是需要的。如Meta分析的RevMan软件,如小而美的绘图软件GraphPad Prism等。
概而言之,统计软件的选择,较好的策略是:依据研究目的,团队资源以及软件特性综合考虑,选定一种通用软件作为研究团队最主要的统计分析工具,在碰到具体问题和需求时再以一些专用软件做相应的补充和辅助。
除了大而全的通用型统计软件,一些小而专的医学统计软件,在某些特定的场合,也能发挥重要作用。常用的小而专的医学统计软件,一般都配备了基本的统计分析模块,丰富强化了医学领域里某些常用的统计方法,此外,他们基本都内置了精美的统计图形模板,医学期刊里的统计图形,大多出自其手。
以下是MedCacl、SigmaPlot、GraphPad Prism以及Origin的简要介绍。
软件名称 | 软件特点简要介绍 |
MedCacl | 专为医学统计设计,除了常规的描述性统计图表、相关、回归、T检验、秩和检验、方差分析、生存分析、Meta分析外,在方法的比较和评估(如Bland-Atlman,Deming回归等)、一致性评价(如ICC、CCC、Kappa等)以及ROC分析方面有一定优势。更多信息可见:https://www.medcalc.org/ |
SigmaPlot | 从SigmaPlot 11开始整合了自家的统计分析软件SigmaSatat,包含了基本统计描述,组间比较、重复测量方差分析、率和比例相关检验、回归分析、生存分析、主成分析、相关分析等。SigmaPlot以科学绘图出名,内置近30多种2D图形,近10种3D图形,而且可对坐标轴,参考线,文本、图例等图形元素做丰富的设置。更多信息可见:http://www.sigmaplot.com/ |
Graphpad Prism | 生物统计、曲线拟合和科学绘图软件。Graphpad Prism的初衷也是为医学院校和医药公司的生物学家研制,统计部分内置了十多种比较过程,常规的线性拟合和相关分析,比较突出的是软件内置了近20多种曲线拟合过程。此外,软件的定制的绘图功能也是相当丰富美观,很多医学期刊的图形就出自其手。更多信息可见:http://www.graphpad.com/ |
Origin | Origin是面向科学家和工程师的软件,分析方面以曲线拟合和峰值分析为特点,也包含了常规的描述性统计、参数、非参统计、多元统计、生存分析等。同时内置100个绘图模板,也是绘制学术期刊图形常用的软件之一。更多信息可见:http://www.originlab.com/ |
如果不喜欢大而全的统计软件,试试这些小而专的软件吧。不过,他们都不是免费的。
爆照:
MedCal
SigmaPlot
GraphPad Prism
Origin
P.S.:部分图片来自网络。
祝十一国庆假日快乐!
公众号:StatsThinking
邀请您推荐给身边的朋友吧!