1、SAS 统计分析软件 和 Logistic 回归 1 概况: SAS 系统全称为 Statistics Analysis System,最早由北卡罗来纳大学的两位生物统计学研究生编制,并于 1976 年成立了 SAS 软件研究所,正式推出了 SAS 软件。 SAS 是用于决策支持的大型集成信息系统,但该软件系统最早的功能限于统计分析,至今,统计分析功能也仍是它的重要组成部分和核心功能。 SAS 现在的版本为 9.0 版,大小约为 1G。经过多年的发展, SAS 已被全世界 120 多个国家和地区的近三万家机构所采用,直接用户则超过三百万人,遍及金融、 医药卫生、生产、运输、通讯、政府和教育科研
2、等领域。在英美等国,能熟练使用 SAS 进行统计分析是许多公司和科研机构选材的条件之一。在数据处理和统计分析领域, SAS 系统被誉为国际上的标准软件系统,并在 96 97 年度被评选为建立数据库的首选产品。堪称统计软件界的巨无霸。在此仅举一例如下:在以苛刻严格著称于世的美国 FDA 新药审批程序中,新药试验结果的统计分析规定只能用 SAS 进行,其他软件的计算结果一律无效!哪怕只是简单的均数和标准差也不行!由此可见 SAS 的权威地位。 SAS 系统是一个组合软件系统,它由多个功能模块组合 而成,其基本部分是 BASE SAS 模块。 BASE SAS 模块是 SAS 系统的核心,承担着主要
3、的数据管理任务,并管理用户使用环境,进行用户语言的处理,调用其他 SAS 模块和产品。也就是说, SAS 系统的运行,首先必须启动 BASE SAS 模块,它除了本身所具有数据管理、程序设计及描述统计计算功能以外,还是 SAS 系统的中央调度室。它除可单独存在外,也可与其他产品或模块共同构成一个完整的系统。各模块的安装及更新都可通过其安装程序非常方便地进行。 SAS 系统具有灵活的功能扩展接口和强大的功能模块,在 BASE SAS 的基础上, 还可以增加如下不同的模块而增加不同的功能: SAS/STAT(统计分析模块)、 SAS/GRAPH(绘图模块)、 SAS/QC(质量控制模块)、 SAS
4、/ETS(经济计量学和时间序列分析模块)、 SAS/OR(运筹学模块)、 SAS/IML(交互式矩阵程序设计语言模块)、 SAS/FSP(快速数据处理的交互式菜单系统模块)、 SAS/AF(交互式全屏幕软件应用系统模块)等等。 SAS 有一个智能型绘图系统,不仅能绘各种统计图,还能绘出地图。 SAS 提供多个统计过程,每个过程均含有极丰富的任选项。用户还可以通过对数据集的一连串加工 ,实现更为复杂的统计分析。此外, SAS 还提供了各类概率分析函数、分位数函数、样本统计函数和随机数生成函数,使用户能方便地实现特殊统计要求。 2 操作方式: SAS 是由大型机系统发展而来,其核心操作方式就是程序
5、驱动,经过多年的发展,现在已成为一套完整的计算机语言,其用户界面也充分体现了这一特点:它采用 MDI(多文档界面),用户在 PGM 视窗中输入程序,分析结果以文本的形式在 OUTPUT 视窗中输出。使用程序方式,用户可以完成所有需要做的工作,包括统计分析、预测、建模和模拟抽样等。但是,这使得初学者在使用 SAS 时必 须要学习 SAS语言,入门比较困难。 SAS 的 Windows 版本根据不同的用户群开发了几种图形操作界面,这些图形操作界面各有特点,使用时非常方便。但是由于国内介绍他们的文献不多,并且也不是 SAS 推广的重点,因此还不为绝大多数人所了解。 3 SAS 系统基本操作及基本概念
6、 : 3.1 数据集( dataset)和库 : 统计学的操作都是针对数据的, SAS 中容纳数据的文件称为数据集,数据集又包含在不同的库(暂且理解为数据库吧)中。 SAS 中的库分为永久性和临时性两种。顾名思义,存在于永久库中的数据集是永久存在的(只要你不 去删除它),临时库中的数据集则在你退出 SAS后自动被删除。至于 SAS 中库的概念,最简单的理解就是一个目录,一个存放数据集的目录。 数据集的结构完全等同于我们一般所理解的数据表,由字段和记录所构成,在统计学中我们习惯将字段称为变量,在后面的内容中字段和变量我们就理解为同一种东西吧!建立数据集的方法很多,编程操作中有专门的数据读入方法来
7、建立数据集,但需要将数据现场录入,费时费力。如果数据量大,我劝各位还是先以其它方法将数据集建好,否则程序语句的绝大部分会浪费在数据的输入上。 3.2 SAS 程序概述 : 和其 它计算机语言一样, SAS 语言 ( 称 为 SCL 语言 ,SAS Component Language)也有其专有的词汇(即关键字)和语法。关键字、名字、特殊字符和运算符等按照语法规则排列组成 SAS 语句,而执行完整功能的若干个 SAS 语句就构成了 SAS 程序。 SAS 程序包括多个步骤和一些控制语句,一般情况下均包括数据步和过程步,一个或多个、数据步或过程步,它们之间任何形式的组合均可成为一段 SAS 程序
8、,只要能完成一个完整的功能。通常情况下 SAS程序还包括一些全程语句,用以控制贯穿整个 SAS 程序的某些选项、变量或程序运行的 环境。 SAS 程序的语句一般以关键字开始,以一个分号结束,一条语句可占多行( SAS 每看到一个分号,就将其以前、上一个分号以后的所有东东当作一条语句来处理,而不管他们处在多少个不同的行中)。SAS 语句对字母的大小写不敏感,你可以根据个人习惯决定字母的大写或小写。 4. Logistic 回归: Logistic 回归是一类统计模型称为广义线性模型。这一模型包括单一回归,包括普通的回归和方差分析,以及多元统计等变数和对数线性回归。一个很好使用线性模型的例子为莱斯
9、蒂。 Logistic 回归允许一个预测离散 成果,如组成员,来自于一组变量,可能是连续的,离散的,二分,或混合任何这些。一般情况下,因变量是二分变量,如在场 /缺席或成功 /失败。判别分析是用来预测组成员只有两个群体。然而,判别分析只能用连续独立变量。因此,在独立的变量是一个绝对的,或混合的连续和明确情况, Logistic回归是首选。 4.1 模型: 因变量的 logistic 回归通常是二分变量,就是因变量值为 1 是事件发生,值为 0 是事件不发生。这种类型的变量被称为伯努利(或二元)变量。虽然不是常见的,也不是在事件中讨论,应用 Logistic回归也已扩大到情 况下,因变量是两个以
10、上的情况下,这种情况被称为多项式或多级 Tabachnick 和费德尔( 1996 年)使用的术语polychotomous 。 如前所述,独立的或预测变量 Logistic 回归可以采取任何形式。也就是说, Logistic 回归是不作任何假设的分布的独立变量。他们不必正态分布,线性关系或平等的差额在每个组之间的关系,预测和因变量不是一个线性函数的 logistic 回归,代替他的是, Logistic回归函数的使用是对数函数的变换: ( . . . )1 1 2 2( . . . )1 1 2 21x x xppx x xppe e 这 里 =截距项, =自变量的预测系数。 另一种形式的
11、Logistic 回归方程为: () 1 1 2 21 ( )l o g ( ) l o g . . .x ppxx x x x Logistic 回归的目的是正确预测出一个模型,这个模型适用与大哥事件发生概率的预测。为了实现这一目标,建立一个模型,这个模型包括一个因变量和多个自变量,多个自变量被用于预测因变量的结果。在模型建立过程中几个不同的选择被利用。变量在指定的顺序可进入模型由研究员或 logistic 回归可以 测试适合的模式后,每一个系数为增加或删除,呼吁逐步回归。 逐步回归被使用在研究探索阶段,但我们不建议用于理论测试(梅纳尔 1995 年) 。理论测试是测试各个变量之间关系的变数
12、。探索性测试是测试给定观测值各个变量之间的关系,因此,逐步回归的目标是发现因变量与各个自变量之间的关系。 向后逐步回归似乎是首选方法探索分析,在分析,首先是全部或饱和模型和变量排除在模型中的一个反复的过程。合适的模型进行测试后,消除每个变量,以确保该模型仍能充分符合数据 .当没有变量可以从模型中删除时,整个统计分析工作就完成了。 这里是 logistic 回归的两种主要用途。首先是预测组成员。由于 Logistic 回归计算概率或失败之上的概率,分析结果是以优势率形式进行的。例如, Logistic 回归经常被用于流行病学研究,分析结果是在控制其他的风险因素前提下啦预测癌症的发病率。 Logi
13、stic 回归还提供了变量之间关系的只是(例如,吸 10 包烟癌症的发病率将高于你在棉矿中工作的癌症发病率)。这个过程,系数测试几个不同的技术,所有这些将在下文讨论。 4.2 Wald 检验 : Wald 检验是用来测试的统计意义的每一个自变量的系数( B)在该模型中是否 是为 0。 Wald检验计算的 Z是通过以下的公式得出的: .BSEZ Z 值再平方,产生了瓦尔德统计与卡方分布。然而,一些作者已查明了使用 Wald 检验的缺陷。梅纳( 1995 )警告说,系数不变,标准误差增大,降低了 Wald 统计值。莱斯蒂指出,最大似然度对于大规模样本要比使用 Wald 测试更有效。 4.3 最大似然度检验: