Sunday, July 10, 2005

我也谈谈我对SAS的看法

近日读到网络上有人对SAS的评价,认为有很多缺点,主要归纳如下:
界面不友好;无纯交互式界面,如R,matlab之类的;编程语法太有“个性”。

我认为:

界面上,SAS最早是为基于UNIX系统的大型计算机系统开发的,所以其界面很丑,最关键是移植到WINDOWS系统后还不思悔改,不过8.0以上版本我个人觉得已经好多了。其实界面主要是要简洁,我觉得这一点SAS做的还是不错的(我个人喜欢MATLAB的界面)。

处理方式上,SAS需要编程序,因为SAS的目标用户群是从事专业统计和数据处理的人员,因此首先要求编程来操作的方式对于这些人来讲是不高的要求,其次,并且对于专业的数据分析应用,我个人认为用编程序的方式更好,因为控制能力更强,处理能力更高,特别是很多分析都是一系列统计过程的综合,必须要进行编程。我对SAS唯一感到不满意的是缺乏交互式环境,进行简单的统计运算比较麻烦。此外,SAS特有的编程语法使得实现新算法不容易。不过考虑到SAS不是为开发算法,而是为了直接应用已经发表的算法,人家卖的就是算法,因此个人觉得还是合理的。在开发统计算法的时候,特别是对于那些复杂的算法需要特别的,高速的数值处理方法,因此通过SAS/C借口,借用C语言开发算法核心才是专业的处理方式。

另外,SAS超强的数据处理能力是任何别的软件无法比拟的。一般商业应用中,数据量都是GB,甚至TB级别的,我接触的小型数据集一般都是百万个记录级别的,每个纪录有超过1500个变量,更别谈那些大型数据库了。SAS特殊的数据处理方法使得其在处理这类超大型数据集时效率非常高,是别的软件不可比拟的。而要对这么大量的信息进行分析,是非常复杂,系统的工作,有必要以编程序的方式进行规范化的操作。至于SAS得奇怪语法问题,每种第四代语言(4GL)都有其特殊的规定,不足为怪。另外,正是因为SAS奇特的语法才养活了全世界数以10万记的SAS编程员和SAS CONSULTANTS。

对于交互式运行,我认为可以用SAS/MACRO将PROC打包,用SAS/AF提供图形界面,单独提供一个模块。

最后,借助CATALOG文件,我认为可以实现PSEDO-OOP编程。由于SAS的STATEMENTS属于FREE-STYLE型,使得SAS的程序很不容易标准化;每个人对同样一种类型的任务有多种实现方式。实际上,任何任务都可以分解为标准化的更细小的任务,如果借助CATALOG文件,用MACRO将分类标准化的任务打包,就可以大大提高SAS编程的效率,并具有一定的商业应用价值,特别是对于CONTRACTOR。

如果只是进行简单的统计或者计量经济学分析,用SPSS,或者EVIEWS足以。

0 Comments:

Post a Comment

<< Home