SAS系统学习之初探
以前在学校接触过SAS,跟着课程学习并将SAS用于统计理论的实现,学习期间断断续续,不成系统。2013年有幸参与SAS在高校举办的首次数据分析大赛,并获得“团体十强”的荣誉,之后很长一段时间都没有投入到SAS的学习和应用,有愧于这样的荣誉。经过一段时间的思考,决定来一次疯狂的系统性学习,主要参考夏坤庄的《深入解析SAS—数据处理、分析优化与商业应用》和高惠璇老师的SAS系列手册。
数据分析与挖掘过程:
1)数据源的问题,即根据某些分析对象或业务逻辑,如何将所需的数据进行收集、整合
2)数据探索,当数据准备妥帖后需要进一步探索数据的完整性和准确性,即数据的缺失情况、异常情况、分布情况等需要进行探索
3)数据建模,只有在数据得到“干净”的保证下,才可以对其进行建模,而建模又是一个学问很深的水,需要理论知识与数据业务的搭配
4)模型验证,模型验证是至关重要的,训练集良好不代表测试集也好,所以需要综合考虑多种方案,选择最佳的方案和组合
5)模型部署,当模型成熟,并得到验证后,就可以将其部署到真实的生产环境中,用于解决分类、预测等问题
而以上正是SAS数据分析与挖掘的应用流程。
SAS中常用的模块
SAS/BASE:核心模块。数据管理、交互环境管理、语言处理、调用其他模块
SAS/STAT:覆盖几乎所有实用数理统计分析方法
SAS/EM:数据挖掘
SAS/ETS:时间序列分析
SAS/GRAPH:图形软件包,产生各种图表
SAS/IML:功能强大面向矩阵运算的编程语言
建立SAS的逻辑库
在数据准备之前,需要为其布置一块物理地址存放数据,即需要建立一个逻辑库用于存放外部数据。具体步骤如下:
1)先在硬盘上建立需要存放SAS数据集的目录
2)在编辑窗输入Libname命令(Libname SASLabname 'Path'),并提交命令
LIBNAME MyData 'G:\学习\每天坚持写一点点代码\SAS\SAS系统学习\SAS Data';
这样,一个自定义的逻辑库就建立完毕,如果SAS Data文件夹中有SAS数据集的话,逻辑库MyData中就会显示出响应的数据集;如果将外部数据转换为SAS数据集,并存放到MyData逻辑库中,对应的物理路径下的SAS Data文件夹也会存在该数据集。
创建一个简单的SAS数据集
DATA Mydata.student;
INPUT id name $ sex $ score;
CARDS;
101 张三 男 98
102 李四 男 87
103 兰兰 女 95
;
RUN;
PROC PRINT DATA=Mydata.student;
RUN;
通过这个简单的DATA步就可以创建一个数据集,同时我将该数据集存放在了刚刚建立的逻辑库Mydata中。
注意,当一个物理位置下的空间不够时,定义多个物理位置的SAS逻辑库就非常有用了,这样在前面的物理路径空间用尽时,SAS会将写入的文件存储到其他物理路径中。具体操作如下:
LIBNAME MyData ('G:\学习\每天坚持写一点点代码\SAS\SAS系统学习\SAS Data'
‘C:\SAS Data’);
这样就将一个逻辑库的物理地址指定到了两个硬盘中。
下期将开始介绍SAS变量、SAS数据集及基本语法。