数建 --SAS 软件介绍

SAS 软件介绍

一、概述

SAS: Statistical Analysis System (统计分析系统)

SAS软件有 SAS 公司出品,被誉为国际标准软件

SAS/STAT: 功能最强的多元统计分析程序集

  • 八个大类:
  • 回归分析
  • 方差分析
  • 属性数据分析
  • 多变量分析
  • 判别分析
  • 聚类分析
  • 得分分析
  • 残存分析
  • 26 个过程

二、软件介绍

打开 SAS 软件可以看到三个窗口:

  • Editor 窗口:
    • 编辑窗口,用来编写 SAS 程序
    • 支出多窗口编辑、智能编辑
    • 支持如复制、剪切、粘贴等常规操作
  • log 窗口:
    • 日志窗口,显示程序的运行情况
    • 红色显示错误信息,绿色显示警告信息,黑色为无误
  • output 窗口:输出 窗口,显示输出结果

三、基本语法介绍

  • SAS 程序中除了赋值,表达式、注释和空语句外,其他语句都要以 SAS 命令开头
  • 一行 可以输入多个语句,一个语句也可以多行输入,但每个语句必须以英文半角下分号 ” ;“ 结束
  • 注释语句 以 ” / “开头 ,以 ” / “结尾
  • 变量、数据集命名规则:以字母 或 下划线 开头,由字母、数字 和 下划线构成,英文字母不区大小写
  • 字符型变量后要求 实用 ” $ " 说明符,默认为数值型
  • 行保持标志符 @ 和 @@
    • @ 表示 cards 语句中的数据一行为一条记录
    • 用多条 input 语句读入: input x@ 只能一次输入一个值 即 1 回车,2 回车, ……
    • @@ 表示语句中的数据一行为多条记录
      • 用 一条 input 语句读入:input x@@ ----> 1 2 3 (无需敲入回车)

四 、程序结构

一个完整的 SAS 程序 通常由 数据步过程步 构成。

  • 数据步(data 步 ) 语法结构为

    • data 数据集名 ; (开头)
    • input 变量名1[ ] 变 量 名 2 [ ] 变量名2[ ]2[] 变量名3[ ] … … 变 量 名 n [ ] …… 变量名n [ ]n[] ;
    • 其他数据步语句 ;
    • cards ;
    • 数据行
    • ; (单独占据一行)
    • run ; (结尾 )
  • 过程步 语法结构为:

    • Proc 过程名[data 输入数据集] [选项] ; (开头)
    • 过程语句1 [ /选项] ;
    • 过程语句 2 [/ 选项] ;
    • ……
    • run; (结尾)
  •  data ex;
     a = 2;
     b = a + 3;
     c = a ** 3; /* a的3次方 */
     proc print;
     run;
     
     /* 
     运行结果:
     obs a b c
     1   2 5 8 
     其中 obs 下的 1 表示 a、b、c 均只有一个观测值 
     */
    
  • 运行

    • 快捷键 F8
    • 工具栏 点击图标 (有一个人在跑)

五 、SAS 做假设检验

假设检验:通过 样本均值 推测 总体均值

例如:

  • 血压波动 对10位老年男子和8位青年男子的血压值进行测定, 测得老年男子的血压值分别为133,120,122,114,130,155, 116,140,160,180,青年男子的血压值分别为152,136,128, 130,114,123,134,128,通常认为血压值服从正态分布,试 问老年男子和青年男子的血压值是否存在显著差异
  • 成绩比较 对同一个课堂的两个班级数学建模学习成绩进行比 较,从每班随机抽取10名同学,(1)班成绩分别为83,80,82, 74,90,75,86,80,76,80,(2)班成绩分别为85,76,88, 91,84,81,79,78,83,70,通常认为成绩服从正态分布,试 问两个班级的数学建模成绩是否存在显著差异

流程:

  • 功能:总体均值相等的检验

  • 前提:总体服从正态分布

  • 步骤:

  • 总体方差是否相等
    在这里插入图片描述

  • 总体均值是否相等 在这里插入图片描述

  • 依据:小概率原理 ( 通常 α = 0.05)

程序

  • 例一:

    • data ex; /* ex为数据集名 */
      input var$ x@@; /*var为字符型变量,x为数值型变量 */
      cards; /*引导数据读入 */
      a 133 a 120 a 122 a 114 a 130 a 155 a 116 a 140 a 160 a 180 
      b 152 b 136 b 128 b 130 b 114 b 123 b 134 b 128
      ; /*单独占一行,结束数据读入 */
      proc ttest; /*ttest命令表示调用假设检验模块 */
      class var; /*class声明分类变量 */
      var x; /*var声明分析变量 */
      run;  /*结束程序 */
      
    • 结果 在这里插入图片描述

  • 例二:

    • data ex; /* ex为数据集名 */
      input var$ x@@; /*var为字符型变量,x为数值型变量 */
      cards; /*引导数据读入 */
      1 83 1 80 1 82 1 74 1 90 1 75 1 86 1 80 1 76 1 80 
      2 85 2 76 2 88 2 91 2 84 2 81 2 79 2 78 2 79 2 78
      ; /*单独占一行,结束数据读入 */
      proc ttest; /*ttest命令表示调用假设检验模块 */
      class var; /*class声明分类变量 */
      var x; /*var声明分析变量 */
      run;  /*结束程序 */
      
    • 结果 在这里插入图片描述

六 、SAS 做方差分析

例子:

  • 药剂处理 用四种不同的药剂处理水稻种子,发芽后观测到苗 高如下,若每种处理下所得到的苗高服从正态分布,试问四种处 理方式所得到的数据有没有显著差异? 1: 19 23 21 13 2: 21 24 27 20 3: 20 18 19 15 4: 2 2 25 27 22
  • 胚乳试验 用小麦种子进行切胚乳试验,设计分3种处理,同期 播种在条件较为一致的花盆内,出苗后每盆选留2株,成熟后测量 每株粒重如下,若每种试验所得数据服从正态分布,试问三种试验 所得结果有没有显著差异? 未切胚乳(8): 21 29 24 22 25 30 27 26 切一半胚乳(10):20 25 25 23 29 31 24 26 20 21 切全部胚乳(6): 24 22 28 25 21 26

流程:

  • 数据格式 : 在这里插入图片描述

  • 功能:总体均值相等的检验

  • 前提:来自正态总体、方差相同

  • 步骤:

    • 提出原假设: 在这里插入图片描述
    • 构造 F 统计量
    • 计算统计量的值 与临界值比较并下结论
  • 依据:小概率原理 ( 通常 α = 0.05)

程序:

  • 例一:

    • data ex; /* */
      do a = 1 to 4; /*4个水平,且这里的字母a 不能随意地更换 */
      do i = 1 to 4; /*每个水平4个样本观测值 */
      input x @@ /* */
      output;end;end; /* 结束循环*/
      cards;
      19 23 21 13 21 24 27 20 20 18 19 15 22 25 27 22
      ;
      proc anova; /*anova命令表示调用方差分析模块 */
      class a;model x = a;means a; /*输出各水平均值 */
      run;
      
    • 结果 在这里插入图片描述

  • 例二:

    • data ec;
      do a = 1 to 3;
      input n @@;
      do i = 1 to n;
      input x @@;
      output;end;end;
      cards;
      8 21 29 24 22 25 30 27 26
      10 20 25 25 23 29 31 24 26 20 21
      6 24 22 28 25 21 26
      ;
      proc anova;
      class a; model x = a;
      means a;
      run;
      
    • 结果在这里插入图片描述

七、SAS做一元线性回归

例子:

  • 物质吸附 某种物质在不同温度下可以吸附另一种物质, 如果温度x(单位:℃)与吸附重量y(单位:mg)的观测值如 下所示: 温度(x) 1.5 1.8 2.4 3.0 3.5 3.9 4.4 4.8 5.0 重量(y) 4.8 5.7 7.0 8.3 10.9 12.4 13.1 13.6 15.3 试问吸附重量与温度间存在怎样的内在关系?
  • 在这里插入图片描述

流程:

  • 一元线性回归模型: y = ax + b 其中 a 为 回归系数, b 为 常数项
  • F检验:
    • 目的:检验 y 与解释变量x 之间的线性关系是否显著
    • 步骤:
      • 1 提出原假设 H0 : a = b = 0,备择假设 H1 : a ,b 不全为0
      • 构造 F 统计量
      • 计算统计量的值 与 临界值比较下结论
  • t检验:
  • 目的:分别检验y 与每个解释变量之间的线性关系是否显著
  • 步骤:
    • 1 提出原假设 H0 : a = 0 H0 : b = 0,备择假设 H1 : a ≠ 0 H1 :b ≠ 0
    • 构造 t 统计量
    • 计算统计量的值与临界值比较并下结论
  • R ^ 2 检验: 拟合优度的检验
    • 意义: 判定系数(R^2)越大,解释变量对因变量的解释程度越高,解释变量引起的变动占总变动的百分比越高,观察点在回归直线附近越密集。

程序(上述案例):

  • data ex;
    input x y @@;
    cards;
    1.5 4.8 1.8 5.7 2.4 7 3 8.3 3.5 10.9 3.9 12.4 4.4 13.1 4.8 13.6 5 15.3 
    ;
    proc gplot; /*画图 */
    plot y * x;  /*y 为纵轴,x为横轴 */
    symbol i = rl v = dot;  /*rl表苏画回归直线,dot表示观测用点表示 */
    proc reg;  /* reg 表示调用回归分析模块*/
    model y = x;  /*y为因变量,x为自变量 */
    run;
    
  • 结果

  • 在这里插入图片描述

  • 在这里插入图片描述

  • 在这里插入图片描述

八、SAS画图

  • 散点图:

    • 程序:

      data ex;
      do x = 0 to 100 by 10; /*以10为步长取样本点 */
      y = sin(x);
      z = exp(x/50);
      output;
      end;
      proc plot; /* 文本格式画图,显示在output 窗口*/
      plot y*x='*' z*x='o'/overlay; /*样本点分别以* 和 o 表示,画在一幅图里 */
      
      run;
      
    • 结果: 在这里插入图片描述

  • 曲线:

    • 程序:

      data ex;
      do x = 0 to 100 by 10; /*以10为步长取样本点 */
      y = sin(x);
      z = exp(x/50);
      output;
      end;
      proc plot; /* 文本格式画图,显示在output 窗口*/
      plot y*x='*' z*x='o'/overlay; /*样本点分别以* 和 o 表示,画在一幅图里 */
      symbol i = join; /*join 表示将点连成线 */
      run;
      
    • 结果:在这里插入图片描述

  • 曲面:

    • 程序:

      data ex;
      do x = -5 to 5 by 0.2;
      do y = -5 to 5 by 0.2;
      z = x * x + y * y;
      output;
      end;
      ebd;
      proc g3d; /*三维画图,显示在graph 窗口 */
      plot y * x = z; /*x,y 代表水平轴,z代表竖直轴*/
      run;
      /* */
      
    • 结果:在这里插入图片描述

  • 频率直方图:

    • 程序:

      data ex;
      inout x @@;
      cards;
      70 72 94 24 57 68 40 99 34 26 48
      105 45 55 73 58 101 94 62 84
      61 40 77 66 98 50 58 76 81 54 75 
      118 69 25 97 76 100 43 60 34
      ;
      proc gchart; /*画频率直方图 */
      vbar x/type = pct; /*vbar 表示纵向直方图,type = pct 表示图高为频率 */
      run; 
      /* */
      
    • 结果:在这里插入图片描述

  • 三维直方图:

    • 程序:

      data ex;
      inout lei$ x @@;
      cars;
      a 70 a 72 a 94 a 24 a 57 a 68 a 40 a 99 
      a 34 a 26 a 48 a 105 a 45 a 55 b 73 b 58
      b 101 b 94 b 62 b 84 b 61 b 40 b 77 b 66 
      b 98 b 50 b 58 b 76 b 81 b 54 b 75 b 118 
      b 69 b 25 b 97 b 76 b 100 b 43 b 60 b 34
      ;
      proc gchart;
      block lei;/*画三维直方图 */
      run;
      /* */
      
    • 结果:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值