FYI: 用SAS/Graph做仪表盘(Dashboard)

 未分类  FYI: 用SAS/Graph做仪表盘(Dashboard)已关闭评论
11月 301999
 

dashboard

以前提到过,SAS一个员工做了一份给圣诞老人用的dashboard,在YouTube也能找到。最近Support.sas.com公布了一批Dashboard示例,比较有意思,不妨一看:

http://support.sas.com/kb/26/134.html

具体的:

  • Slider chart dashboard:
  • Bullet graph indicator:
  • Bullet graph dashboard:
  • Dial meter indicator:
  • Dial meter dashboard:
  • Bar chart indicator:
  • Bar chart dashboard:
  • Telesales dashboard:
  • Web marketing analysis dashboard:
  • del.icio.us Tags: ,,

    SQL——在Oracle SQL*Plus里工作(1):基础篇

     数据库和数据仓库  SQL——在Oracle SQL*Plus里工作(1):基础篇已关闭评论
    11月 301999
     
    自己整理出来的东西,做备忘最好。他人的东西,无论多详整,都不会像下面的东西让我记起更多。

    1.使用演示帐号scott进入SQL*Plus,密码是tiger,这里帐号和密码不区分大小写。或者,你用其他任何一个账户登录SQL*Plus,再敲入连接scott的命令 connect scott/tigerscott账户下有一些简单的练习数据,在oracle的安装路径里,你找到一个叫adminscott.sql的脚本,可以查看端倪。这里面有三张常用的表:员工表emp、部门表dept和工资表salgrade。

    2.一个最简洁的sql语句由select*  from  表的名字  组成,即,sql至少要包括select和from两个字句。有时你要在sql下演示,比如说只是把大写字母A转化成小写a(函数lower(‘A’)),你看上去不需要数据库提供的任何表,但语法还需要一个from字句。此时可以用Oracle提供的一张虚表dual,如select  lower(‘A’)  from dual。

    3.改变系统默认格式——日期:alter session set nls_date_language=’american’ 。

    4.显示变量标签:select empno as "emp number",ename name from emp。两种方式,用空格隔开方便些,加as好读些。

    5.连接运算符||和distinct关键字。

    6.限制性查询where:比较运算符between and 、in、 like。

    7.like运算符的通配符:%代表零个或多个字符,_代表一个(只是一个)字符(_不是-)。

    8.定义转义符(escape):where ename like ‘IT\_%’ escape ‘\’。’\'是c语言中的转义符。_本是通配符。

    9.如果使用order by排序语句,要把它放在sql的最后。默认是按升序。

    10.desc[ribe],描述表的结构。

    11.set line[size]调整显示屏的显示宽度,默认是80。同样有set pagee[size]。

    12.行编辑命令: 

      A[PPEND] text : 在缓冲区行的末尾加上text的文本。

      C[HANGE]/old/new:将当前行中old替换为new

      C[HANGE]/text: 从行中删除text文本

      CL[EAR] BUFF[ER]:清除缓冲区里所有的行

      DEL : 删除当前行

      DEL *:删除当前行

      DEL n * : 删除从n行到当前行。

      DEL LAST:删除最后一行。

      DEL m n:删除范围为:m到n行。

      DEL * N:从当前行向后删除到n行。

      I[NPUT]:在当前行后插入任意数量的命令行;添加一或者多行到缓冲区

      INPUT text :添加包含的文本。

      L[IST]:列出缓冲区里所有的行。

      LIST n :列出第n行。

      LIST * :列出当前行。

      LIST LAST :列出最后一行。

      LIST m n LIST * n:

          n:指定第n行为当前行

          n text:用text的文本的内容替代第n行

          o text:在第一行之前插入text指定的文本

    13.保存脚本:save d:\…,保存结果spool d:\… spool off,载入:get d:\…,编辑:ed d:\…,运行:@ d:\…。

    Technorati Tags: , ,

    心酸之路——S-Plus(被)并购大事记

     未分类  心酸之路——S-Plus(被)并购大事记已关闭评论
    11月 301999
     
    0. 史前史:S语言(见John
    Chambers
     
    1976-1980,诞生于AT&T的贝尔实验室(Bell Labs)
     
    ,贝尔实验室也是命途多舛。这个时候它还是AT&T门下。后来AT&T遭分拆,朗讯(Lucent)分立出来,接手了贝尔。再后来,阿尔卡特(Alcatel)收购朗讯,贝尔就成了Alcatel-Lucent
    Bell Labs,不提。
     
     
    1987-1988年,位于西雅图的华盛顿大学的统计学教授,Douglas Martin,创办Statistical
    Sciences公司(StatSci),商业版的S软件面世(当时还不叫S-Plus)。
     
     
    1993-1994,StatSci获得S语言的特许许可证(exclusive
    license),并和MathSoft公司(创立于1984年)合并,成为其中的一个数据分析部门,Data Analysis Products Division
    (DAPD)。
     
     
    2001年,Mathsoft把它下属的一个部门,Engineering and Education Products
    Division
    (EEPD),卖给这个部门经理,自己改名为Insightful,继续从事S-Plus的研发和销售。2002年,Insightful从贝尔实验室买下了S语言的所有权
     
    ,以后这个Engineering and
    Education公司就叫MathSoft了,有一个在工程界很有名的科学计算软件,MathCad。2006年,Mathsoft公司卖给了PTC(Parametric Technology Corporation)。
     
     
    2008年,Tibco收购Insightful

    太史公曰:S-Plus系出名门,产品做得也不赖,到现在居然潦倒如此,不但几易其主,还有伤主之嫌(但愿S-plus和接手它的公司能够走出历史的怪圈)。在同门,声势比不过R,在商业软件领域,又远远被SAS、SPSS甩开,甚至想跟Stata一样独善其身而不得,噫。

    Excel债券计算函数

     金融计算  Excel债券计算函数已关闭评论
    11月 301999
     

    26个(参考王小民,2003),见下:

    计算指标 定期付息债券 到期付息债券 其他债券种类
    价格 price priceMat oddfPrice,oddlPrice, tbillPrice, priceDisc
    收益率 yield yieldMat oddfYield, oddlYield, tbillYield, yieldDisc
    利息 accrint accrintM  
    天数 coupDayBs, coupDaySnc, coupDayS    
    日期 coupPcd, coupNcd    
    期数 coupNum    
    其他 duration, mDuration intRate, received disc, tbillEq

    其中,在“其他债券种类”一栏中,

    1. oddf表示odd (short or long) first period,即首期付息日不固定
    2. oddl表示odd (short or long) last coupon period,即末期付息日不固定
    3. tbill是Treasury bill,即国库券

    附:关于金融函数的参数(argument),如disc(settlement,maturity,pr,redemption,basis),大致可以分为以下三类:

    价格、收益率和利率

    1. 价格(pr)
    2. 面值(par)
    3. 清偿价值(redemption)—债券到期后兑付的价格
    4. 收益率(yld)
    5. 利率(rate)

    日期

    1. 发行日(issue)
    2. 交易日(settlement)
    3. 到期日(maturity)
    4. 首期付息日(first_coupon)
    5. 末期付息日(last_coupon)

    日期基准

    1. 计息次数(frequency)—按年支付,1;半年,2;季度,4
    2. 日计数基准(basis)—美国基准(默认),30/360,0;每月实际天数/每年实际天数,1;每月实际天数/360,2;每月实际天数/365,3;欧洲基准,30/360,4,它将31日计入下一月

    更多可以参考:

    1. Excel联机帮助:函数参考—财务
    2. Microsoft Office Online: Microsoft Office Excel—Financial Functions
    3. 王小民编著《Excel 2002高级应用——金融财务》,机工,2003

    SAS和蒙特卡罗模拟(2):随机数基础

     未分类  SAS和蒙特卡罗模拟(2):随机数基础已关闭评论
    11月 301999
     

    **************************************************************************************************************************

    SAS和蒙特卡罗模拟(1):开篇》——简介,通过例子建立起蒙卡的直观概念;参考软件包及书目

    **************************************************************************************************************************************************

    SAS for Monte Carlo Simulations (2): Random Numbers

    最简单、最基本、最重要的随机变量是在[0,1]上均匀分布的随机变量。一般地,我们把[0,1]上均匀分布随机变量的抽样值称为随机数,其他分布随机变量的抽样都是借助于随机数来实现的。以下谈的都是所谓“伪随机数”(Pseudo Random Numbers)。产生随机数,可以通过物理方法取得(很久很久以前,兰德公司就曾以随机脉冲源做信息源,利用电子旋转轮来产生随机数表),但当今最为普遍的乃是在计算机上利用数学方法产生随机数。这种随机数根据特定的迭代公式计算出来,初值确定后,序列就可以预测出来,所以不能算是真正的随机数(就成为“伪随机数”)。不过,在应用中,只要产生的伪随机数列能通过一系列统计检验,就可以把它们当成“真”随机数来用。

    现在大多软件包内置的随机数产生程序,都是使用同余法(Congruential Random Numbers Generators)。“同余”是数论中的概念。

    0.预备知识:同余

    捡回小学一年级的东西:"4/2=2"读作“4除以2等于2”,或者,“24等于2”。还有求模的符号mod(number,divisor),其中,number是被除数(在上式中,为4),divisor是除数(上式中的2)。这样的约定对SAS和Excel都通用,如mod(4,13)=4,mod(13,4)=1。

    现在我们可以开讲“同余”了。设m是正整数,用m去整数a、b,得到的余数相同,则称“a与b关于模m同余”。上面的定义可以读写成,对整数a、b和正整数m,若mod(a,m)=mod(b,m),则称“a与b关于模m有相同的余数(同余)”,记做a≡b(mod m)(这就是同余式)。举个例子,mod(13,4)=1,mod(1,4)=1,则读成13和1关于模4同余,记做13≡1(mod 4)。当然,同余具有对称性,上式还可以写成1=13(mod 4)。

    a≡b(mod m)的一个充要条件是a=b+mt,t是整数,比如13=1+3*4。a=b+mt可以写成(a-b)/m=t,即m能整除(a-b)。

    这些就够了。更多基础性的介绍,可以参考《同余(数据基础)》。

    1.乘同余法

    同余法是一大类方法的统称,包括加同余法、乘同余法等。因为这些方法中的迭代公式都可以写成上面我们见过的同余式形式,故统称同余法。常用的就是下面的乘同余法(Multiplicative Congruential Generator.)。符号不好敲,做些约定,如R(i)就是R加一个下标i。

    乘同余法随机数生成器的同余形式如下:R(i+1)=a*R(i) (mod m)。这个迭代式可以写成更直观的形式,R(i+1)=mod[a*R(i),m],其中初值R(0)称为随机数种子。因为mod(x,m)总是等于0到m-1的一个整数,所以最后把R(i+1)这个随机序列都除以m,就可以得到在[0,1]上均匀分布的随机数。下面用电子表格演示一遍,假设随机数种子R(0)=1,a=4,m=13:

      A B C D E
    1 i R(i) a*R(i) mod[a*R(i),m] mod[a*R(i),m]/m
    2 0 1 =B2*4 =mod(C2,13) =D2/13
    3 1 =D2 =B3*4 =mod(C3,13) =D3/13
    4 2 =D3 =B4*4 =mod(C4,13) =D4/13

    fyi: 数据挖掘软件大评比

     未分类  fyi: 数据挖掘软件大评比已关闭评论
    11月 301999
     
    去年年底(2008年11月),德国一家技术咨询公司,mayato,发布了一篇数据挖掘挖掘软件的评估报告,考察了以下12种产品:
     
    传统的数据挖掘套件(Classic suites):
    SAS Enterprise Miner
    5.3
    SPSS Clementine 12
     
    开源数据挖掘软件(Open Source):
    RapidMiner 4.2
    KNIME
    1.3.5
    Weka 3.4.13
     
    自动化数据挖掘软件(Self-Acting):
    KXEN Analytic Framework
    4.04
     
    专门化的数据挖掘软件(Specialized):
    Viscovery SOMiner
    5.0
    prudsys Discovery 5.5 / Basket Analyzer 5.2
    Bissantz Delta Master
    5.3.6
     
    BI产品内置的数据挖掘软件(BI Vendors):
    SAP NetWear 7.0 Data Mining
    Workbench
    Oracle 11g Data Mining
    Microsoft SQL Server 2005 Analysis
    Services
     
    最近数据挖掘市场呈现出多元化的态势,除了传统的数据挖掘厂商SAS、SPSS的产品外,又有各种专有用途的数据挖掘软件,加上开源软件和BI产商提供的数据挖掘功能,这个市场看着是红红火火,给各种层次的用户提供了灵活的选择空间。mayato这篇报告的题目就叫做
    Data
    Mining Software 2009: Successful Analyses at Affordable Prices

    (November 2008)。
     
    可惜mayato这次的评估不够深入,所用的标准也嫌太过粗糙。在对Enterprise Miner (SAS),
    Rapidminer (Rapid-I), Analytic Framework (KXEN), and NetWeaver Data Mining
    Workbench (SAP)这四种产品进行了所谓thoroughly的评估后,它的结果是,Analytic Framework
    (KXEN)综合排名第一,Enterprise Miner (SAS)紧接其后,然后是SAP NetWeaver Data Mining
    Workbench和Rapidminer。
     
    这次KXEN排名第一,我们并不感到吃惊(mayato是KXEN的合作伙伴)。不过,KXEN处理数据的速度的确非常值得称道。KXEN号称自动化数据挖掘软件(Self-Acting),客户定制调优的空间比较小,在默认选项下,其他软件在运行速度上就吃亏不少了。最后提一下,这次评估,KXEN在速度上占优,而SAS在性能上最为突出。
     
    总的来说,这份评估过于简单,只能作为参考。不过它所展现的(以及遗漏的)数据挖掘软件市场,还是让人比较兴奋的(这次评估,当然有非常多的遗漏,如重要的Teradata
    Warehouse Miner、IBM的DB2 Intelligence
    Miner、Angoss、Unica等)。

    分类模型的性能评估——以SAS Logistic回归为例(3): Lift和Gain

     未分类  分类模型的性能评估——以SAS Logistic回归为例(3): Lift和Gain已关闭评论
    11月 301999
     

    书接前文。跟ROC类似,Lift(提升)和Gain(增益)也一样能简单地从以前的Confusion Matrix以及Sensitivity、Specificity等信息中推导而来,也有跟一个baseline model的比较,然后也是很容易画出来,很容易解释。以下先修知识,包括所需的数据集:

    1. 分类模型的性能评估——以SAS Logistic回归为例(1): 混淆矩阵
    2. 分类模型的性能评估——以SAS Logistic回归为例(2): ROC和AUC

    *更多,见

    http://cos.name/2009/02/measure-classification-model-performance-lift-gain/

    白话统计(1):平均数、中位数、众数

     统计备忘录  白话统计(1):平均数、中位数、众数已关闭评论
    11月 301999
     

    ********************示例数列为4、4、5、7、10********************

    定义1. 各项累加之和除以项数,所得之数值,叫做平均数(6)。

    定义2. 众数是出现次数最多的那一项的数值(4)。

    定义3. 中位数是这样一个项的数值(或两项之平均数):它(或该两项)的数值大于或等于其余一半项的数值,而小于或等于另外一半项的数值(5)。

    注1:平均数受每个改变的牵动,中位数和众数却只受某些改变的牵动。由于这个原因,平均数常常被认为是“敏感的”,是“反映整个分布的”。

    注2:当分布含有少数在一端远离的极端项时,平均数的敏感性,对它的代表性反而可能是不利的。

    注3:中位数不受少数极端值的影响。

    注4:众数显示最大频率,而最大频率是最普遍化的同义语。

    一、平均数的两个性质

    物理模型:设想一块实验板,其上有4至10的等距刻度。假定5个一磅重的砝码置于板上,砝码的位置为4、4、5、7、10。现在假设有一支点,令该实验板连同其上的砝码在支点上保持平衡,并设该实验板本身无重量。几经失败之后,我们设想找到了平衡点。

     

    image

     

     

     

     

    结果,支点在各项的平均数之下。任何项的集合的平均数都是那些项的平衡点,而且平均数是唯一的平衡点。

    考虑支点左边每个砝码与支点(平均数)的距离。最左端的两个砝码与平均数相距2个单位,第三个相距1个单位,总和是5个单位。同样,支点右边的砝码与支点的距离也是5个单位。正是这个等量平衡了实验板。左右两边砝码与平均数的距离之和总是相同的,也即平均数两边的距离“相抵”。

    为了得到上面的距离,从各项减去平均数。有负号的是平均数左边砝码得到的结果,有正号的是右边砝码得到的结果。前面提到,把负号抹去,左边各项的和等于右边各项的和(距离“相抵”)。留住负号,则所有项的和等于0 ,Σ[x-mean(x)]=0,即,与平均数之差的和恒等于0。总结一下:

    定理1:在任何分布中,各项对平均数的差之和等于0。反之,若分布中各项对某数的差数之和等于0时,该数即为此分布的平均数。

    又考虑对平均数的差数平方:

    各项 平均数6做参考点 差数 差数平方
    4 6 -2 4
    4 6 -2 4
    5 6 -1 1
    7 6 1 1
    10 6 4 16
        总和 26

    SAS Logistic回归:一个完整例子

     未分类  SAS Logistic回归:一个完整例子已关闭评论
    11月 301999
     

                                                    SAS Logistic回归:代码及输出报告详解

    这篇将作为五一后一个讲稿的阅读材料之一,先整出来就搁这。如果没有耐心读下去,你可以立即转到以下的参考资料,该篇所有的知识都来自它们:

    1. Cody, R.F. and Smith, J.K. Applied Statistics and the SAS Programming Language,4th ed..NJ:  Prentice-Hall,1997.这书已经出第五版了,北大图书馆只有这第四版。非常容易上手的一本书,前半部分用input和datalines让读者专心做统计,后半部分从导入导出数据开始阐述SAS的通用编程语言。这本书用的是SAS8.这里我们只关注它第九章Multiple-Regression Analysis的最后Logistic Regression部分。我这篇的例子即来于此,有简化;
    2. SAS OnlineDoc V8, 或者SAS OnlineDoc V9, 是要花功夫熟悉它们的结构了。以前我四处下载了数G的电子书,现在才发觉还是它们好使。体例上V8和V9一样,你找到SAS/STAT–>SAS/STAT User’s Guide–>The LOGISTIC Procedure, 就可以跟着学习了,文字都非常简明。

    Logistic回归处理因变量是分类型变量如“0、1”的情形。一下就假设你至少对它模模糊糊有些印象,比如说我们用p表示正例(如输出变量为“1”)的概率,那么p/(1-p)就被称作odds ratio,对p做logit变换记做logit(p),它等于log(p/(1-p),我们回归方程的形式就如logit(p)=log(p/(1-p)=a+bx,你可以把它理解成向量形式。

    假设我们有一个数据,45个观测值,四个变量,包括:

    1. age(年龄,数值型);
    2. vision(视力状况,分类型,1表示好,0表示有问题);
    3. drive(驾车教育,分类型,1表示参加过驾车教育,0表示没有) 和
    4. 一个分类型输出变量accident(去年是否出过事故,1表示出过事故,0表示没有)。我们的目的就是要考察前三个变量与发生事故的关系。

    为了保持程序的可读性,以下我就直接在代码中一行一行敲入数据,在实际工作中,超过20个观测值的数据就要写程序导入了。另外,/*   */之间的语句都是注释,SAS运行时会把它们忽略掉:

    —————————————————————————————————————————-

    /*

    前三行,首先data步,建立一个叫logistic的临时数据集,它在work临时文件夹里。一般推荐用记事本把程序保存起来;input语句表示一下是几个变量;从datalines开始就一行一行输入数据,每个单独的数据之间用空格隔开,每个观测值各占一行。需要注意的是,datalines和下面的数据之间不要有空行,否则SAS会认为出现了一个缺失值。数据输入完毕,以分号结束,这个分号一定要另起一行。

    */

    data logistic;
        input accident age vision drive;
    datalines;
    1 17 1 1
    1 44 0 0
    1 48 1 0
    1 55 0 0
    1 75 1 1
    0 35 0 1
    0 42 1 1
    0 57 0 0
    0 28 0 1
    0 20 0 1
    0 38 1 0
    0 45 0 1
    0 47 1 1
    0 52 0 0
    0 55 0 1
    1 68 1 0
    1 18 1 0
    1 68 0 0
    1 48 1 1
    1 17 0 0
    1 70 1 1
    1 72 1 0
    1 35 0 1
    1 19 1 0
    1 62 1 0
    0 39 1 1
    0 40 1 1
    0 55 0 0
    0 68 0 1
    0 25 1 0
    0 17 0 0
    0 45 0 1
    0 44 0 1
    0 67 0 0
    0 55 0 1
    1 61 1 0
    1 19 1 0
    1 69 0 0
    1 23 1 1
    1 19 0 0
    1 72 1 1
    1 74 1 0
    1 31 0 1
    1 16 1 0
    1 61 1 0
    ;

    /*

    以下两行我们不妨称作过程步甲。过程步以proc开头,加上要实现功能的名字,这里是logistics,接下来是要引用的数据。值得注意的是那个desending选项。SAS的Logistic回归方程log(odds)默认的形式是处理那个变量值比较小的,这里是accident=0,但我们要考察的是发生事故accident=1的情况,加上desending降序排列,它就处理accident=1的log(odds)了。再model引导的就是回归方程的形式,写成“因变量=自变量1    自变量2   自变量3”的样子。最后以run结束语句,与proc对应。

    */

    proc logistic data=logistic descending;
         model accident=age vision drive; run;

    /*

    运行以上程序,就要跑出一大堆结果了。但在处理多元回归时,语句很难得会只像过程步甲一样简洁。以下过程步乙只加入一个变量选择选项forward。SAS在处理自变量选择上采用了5个技术,这里只简单提一下3个常用的技术。

    1.forward——前向选择,变量一个个进入回归方程,按照一些卡方标准,最显著的也就是最好的变量最先进入,然后就是次最好的,以此类推。某个变量一旦进入,就不再退出;

    2.backward——后向剔除,一开始全部变量都进入回归方程,又按照一些标准,把最不好的变量一一剔除;

    3.stepwise——逐步回归,这个跟forward有些类似,不同的是,stepwise在变量进入以后还有一个backward后向剔除的过程,而在forward里,变量一旦进入,就不再退出。

    */ 

    proc logistic data=logistic descending;
       model accident=age vision drive  /
                    selection=forward;run;

    —————————————————————————————————————————-

    用上面这个过程步乙替代过程步甲,再运行一遍。这两个过程步的输出结果大同小异,只是过程步乙多了个forward选项。以下用的是过程步乙的输出结果,其中黑体字是输出结果本身,我做的注释语句以红笔描出,包括数字编号。 

                     (1)  The SAS System 10:47 Tuesday, May 4, 2007 1

                                 The LOGISTIC Procedure

                                   Model Information

    Data Set                                         WORK.LOGISTIC
    Response Variable                          accident
    Number of Response Levels            2
    Number of Observations                 45
    Model                                              binary logit
    Optimization Technique                 Fisher’s scoring

     

                                 Response Profile                                     
    Ordered  Value     accident          Total Frequency

           1                        1                             25
           2                        0                             20

    Probability modeled
    is accident=1.

    (1) 给出了本模型的基本信息,意思大多自明。需要注意的是Response Profile 中,accident=1排在首位。前面我们说过,SAS的Logistic回归方程log(odds)默认的形式是处理那个变量值比较小的,加上descending选项后,accident=1就排在首位了。

                          (2)   Forward Selection Procedure

    Step 0. Intercept entered:

                              Model Convergence Status

    Convergence criterion (GCONV=1E-8) satisfied.

                              Residual Chi-Square Test

    Chi-Square              DF                Pr > ChiSq

      10.7057                   3                     0.0134

     

    Step 1. Effect vision entered:

                                  Model Convergence Status

    Convergence criterion (GCONV=1E-8) satisfied. 
                                   Model Fit Statistics                                               
    Criterion     Intercept Only     Intercept and Covariates
    AIC                 63.827                   59.244
    SC                   65.633                   62.857
    -2 Log L           61.827                  55.244

                           Testing Global Null Hypothesis: BETA=0
    Test                       Chi-Square    DF    Pr > ChiSq
    Likelihood Ratio      6.5830         1         0.0103
    Score                       6.4209         1         0.0113
    Wald                        6.0756         1         0.0137

                           Residual Chi-Square Test
    Chi-Square            DF      Pr > ChiSq
          4.9818              2         0.0828

    Step 2. Effect drive entered:
                         Model Convergence Status
                      Convergence criterion (GCONV=1E-8) satisfied.                      

                             Model Fit Statistics
    Criterion      Intercept Only     Intercept and Covariates
    AIC                  63.827                     56.287
    SC                   65.633                     61.707
    -2 Log L           61.827                     50.287

     

                     Testing Global Null Hypothesis: BETA=0
    Test                        Chi-Square     DF   Pr > ChiSq
    Likelihood Ratio         11.5391        2      0.0031
    Score                          10.5976        2      0.0050
    Wald                            8.5949         2      0.0136
                 

                     Residual Chi-Square Test
    Chi-Square     DF   Pr > ChiSq
         0.1293        1     0.7191

    NOTE: No (additional) effects met the 0.05 significance level for entry into the model.

    (2) 给出了自变量进入模型的次序。先是截距项Step 0了,不管它。Step 1 vision第一个进入模型,附带了很多评估它对因变量预测能力的指标。-2 Log L 和Score 用来检测自变量是否显著。-2 Log L中的L就是Likelihood Ratio,它的p值是0.0103Score  的p值是0.0113,都小于0.05,故vision是一个很显著的解释变量。还有,AIC(Akaike Information Criterion)和SC(Schwarz Criterion)两个信息量标准用来比较不同的模型,它们数值越小,模型变现就越好,这个接下来我们看step2 drive变量进入模型后的情况。 我们可以看到模型的表现变好了,因为这是AICSC的值变小了,-2 Log L 和Score对应的p值也更小。

                    (3)   Summary of Forward Selection
    Step    Effect Entered        DF      Number In      Score Chi-Square        Pr > ChiSq
    1            vision                    1           1                      6.4209                        0.0113
    2            drive                     1            2                     4.8680                         0.0274

     (3) 总结了我们模型使用的前向选择方法,包括自变量进入模型的次序,以及每个自变量的卡方值和p值。

                        (4) Analysis of Maximum Likelihood Estimates
    Parameter   DF   Estimate    Standard Error  Wald Chi-Square   Pr > ChiSq
    Intercept     1      0.1110               0.5457           0.0414                 0.8389
    vision           1      1.7137               0.7049           5.9113                 0.0150
    drive            1     -1.5000               0.7037           4.5440                 0.0330

    (4) 给出了模型参数的估计,据此可以写出改回归方程的形式是log(odds of having an accident)=log(p/(1-p))=0.1110+1.7137*vision-1.5000*drive。我们知道,odds=p/(1-p),有p=odds/(1+odds)。假设有个哥们,视力没问题但没有受过驾车教育(vision=0,drive=0),代入方程,有log(odds)=0.1110,再odds=exp(0.110)=1.1174,p=1.1174/2.1174=0.5277,即我们说这人发生事故的概率为0.5277;又另一个,视力有问题同样没受过驾车教育(vision=1,drive=0),同样的步骤得log(odds)=1.8249,odds=exp(1.8249)=6.2022,p=6.2022/7.2022=0.8612,即这人发生事故的概率为0.8612(视力多重要)。

                     (5) Odds Ratio Estimates
    Effect       Point Estimate               95% Wald Confidence Limits
    vision            5.550
                                   1.394           22.093
    drive             0.223                               0.056            0.886

     (5) 是对比率Odds Ratio的估计。这里对vision的odds ratio的点估是 5.550 ,这个比率由odds(having an accident|vision=1,drive=0)比odds(having an accident|vision=0,drive=0)得来,根据(4) 的计算,就是6.2022/1.1174=5.550.还有,对vision来说,95% 的置信区间不包括1,说明vision是一个非常显著的解释变量(比率的置信区间不包括1,就跟p值小于0.05一样是一个规则)。

                     (6) Association of Predicted Probabilities and Observed Responses
    Percent Concordant             67.2               Somers’ D 0.532
    Percent Discordant              14.0               Gamma 0.655
    Percent Tied                        18.8                Tau-a 0.269
    Pairs                                     500                  c 0.766

    (6) 这个东西就有些复杂,大概说些预测概率与观测道德因变量间的关联性,我们看到一致性比率Percent Concordant 为67.2 %,不一致性比率Percent Discordant 为14.0%,说明预测值与观测值在现有水平上有较强的关联性,回归模型有很强的预测能力。

    最后注意到,上面我们用过程步乙得出的输出结果没有age这个自变量,用过程步甲得出的输出有,这不是因为年龄在这个预测模型中不重要,而是上面以数值型面目出现的年龄在是否出现事故的两组人中分布不均匀,为了解决这个问题,把年龄分组就是,不多说了。