第一篇 SAS编程和数据处理 2
第1章 Base SAS基础 2
1.1 SAS系统简介 2
1.2 启动SAS软件 4
1.2.1 SAS窗口环境模式 4
1.2.2 非交互模式 5
1.2.3 批处理模式 6
1.2.4 交互式行模式 7
1.2.5 配置文件和AUTOEXEC文件 7
1.3 SAS窗口环境 8
1.3.1 SAS资源管理器 10
1.3.2 程序编辑器 10
1.3.3 日志 10
1.3.4 结果 11
1.3.5 输出 11
1.4 SAS文件和逻辑库 11
1.5 一个简单的SAS程序 13
1.6 SAS Studio 17
1.7 本章小结 18
第2章 读取外部数据到SAS数据集 19
2.1 SAS编程基本概念 20
2.1.1 SAS逻辑库 20
2.1.2 SAS数据集 23
2.1.3 SAS逻辑库和数据集管理 31
2.1.4 SAS系统选项 33
2.1.5 SAS程序结构 37
2.2 通过DATA步读取数据 38
2.2.1 DATA步处理 38
2.2.2 读取外部文本文件中的数据(初级) 42
2.2.3 读取外部文本文件中的数据(高级) 52
2.3 通过IMPORT过程读取外部文件数据 62
2.4 访问关系型数据库系统中的数据 65
2.5 SAS程序错误及处理 68
2.5.1 良好的SAS编程风格 68
2.5.2 常见错误及处理 69
2.6 本章小结 73
第3章 对单个数据集的处理 74
3.1 选取部分变量 74
3.2 操作数据集的观测 78
3.2.1 SAS表达式 78
3.2.2 选取部分观测 84
3.2.3 操作所选取的观测 88
3.2.4 分组与排序 92
3.3 创建新变量 96
3.3.1 数据集选项RENAME=和RENAME语句 96
3.3.2 赋值语句创建新变量 97
3.3.3 对多个观测求和 99
3.4 循环和数组 103
3.4.1 循环 103
3.4.2 SAS数组 106
3.5 SAS常用函数 109
3.5.1 函数语法 109
3.5.2 数值函数 110
3.5.3 字符操作函数 110
3.5.4 数值与字符转换函数 113
3.5.5 与日期时间相关的函数 115
3.6 将数据集写出到外部文件 116
3.7 本章小结 119
第4章 对多个数据集的处理 120
4.1 数据集的纵向串接 120
4.1.1 使用SET语句实现纵向串接 120
4.1.2 使用APPEND过程实现纵向串接 127
4.1.3 SET语句与APPEND过程的比较 129
4.2 数据集的横向合并 130
4.2.1 不使用BY语句实现横向合并 130
4.2.2 使用BY语句实现横向合并 133
4.2.3 使用数据集选项IN=操作观测 140
4.3 数据集的更新 141
4.4 数据集的更改 143
4.4.1 单个数据集的更改 143
4.4.2 两个数据集的更改 145
4.5 数据集处理的一点补充 146
4.5.1 使用数据集选项END= 146
4.5.2 使用自动变量FIRST.与LAST 148
4.5.3 使用SET语句中的选项POINT=和NOBS= 149
4.5.4 使用多个SET语句 150
4.5.5 使用HASH对象处理多个数据集 151
4.6 本章小结 156
第5章 数据汇总与展现 157
5.1 通过PRINT过程制作报表 157
5.1.1 制作简单报表 157
5.1.2 制作增强型报表 161
5.1.3 改进报表显示 163
5.2 通过TABULATE过程制作汇总报表 168
5.2.1 制作基本汇总报表 168
5.2.2 制作高级汇总报表 172
5.2.3 改进报表显示 175
5.3 通过GPLOT过程制作图形 180
5.3.1 制作散点图 180
5.3.2 制作连线图 184
5.3.3 制作多幅图形 188
5.3.4 制作气泡图 195
5.4 通过GCHART过程制作图形 196
5.4.1 制作柱状图 196
5.4.2 制作分组柱状图 203
5.4.3 制作饼图 206
5.5 ODS输出传送系统 210
5.5.1 选择或剔除输出对象 211
5.5.2 创建多种格式输出文件 216
5.6 本章小结 223
第6章 SAS SQL语言 224
6.1 SQL语言概述 224
6.2 使用SQL检索数据 225
6.2.1 SQL的基本结构 225
6.2.2 使用SQL对列进行操作 226
6.2.3 使用SQL对行进行操作 227
6.2.4 使用SQL对报表加工与生成数据集 232
6.2.5 子查询 233
6.3 使用SQL对表进行横向合并 234
6.3.1 使用SQL对表进行内连接 234
6.3.2 使用SQL对表进行外连接 236
6.4 使用SQL对表进行纵向合并 237
6.4.1 使用关键字EXCEPT对表进行纵向合并 238
6.4.2 使用关键字INTERSECT对表进行纵向合并 240
6.4.3 使用关键字UNION对表进行纵向合并 241
6.4.4 使用关键字OUTER UNION对表进行纵向合并 243
6.5 使用SQL管理表 245
6.5.1 使用SQL复制、创建与删除表 245
6.5.2 使用SQL插入行 247
6.5.3 使用SQL删除部分行 248
6.5.4 使用SQL修改表的列 249
6.5.5 使用SQL更新列的值 250
6.6 本章小结 252
第7章 SAS宏语言 253
7.1 SAS宏语言概述 253
7.2 宏变量 254
7.2.1 宏变量的定义 254
7.2.2 宏变量的调用 255
7.2.3 宏变量的查看 257
7.2.4 宏变量的分类 258
7.2.5 宏变量的删除 259
7.3 宏函数 259
7.3.1 在宏语言中调用SAS函数 259
7.3.2 用宏函数处理算术与逻辑表达式 260
7.3.3 常见的处理文本的宏函数 261
7.4 宏 263
7.4.1 宏的定义与调用 263
7.4.2 宏的存储 264
7.4.3 宏的参数 266
7.4.4 宏与宏变量 269
7.5 宏语言与其他SAS语言 272
7.5.1 宏语言的编译过程 272
7.5.2 宏语言与DATA步 274
7.5.3 宏语言与SQL语言 277
7.6 宏编程 278
7.6.1 条件语句 278
7.6.2 循环语句 280
7.7 本章小结 283
第8章 开发多语言支持的SAS程序 284
8.1 多语言支持的基本概念 284
8.1.1 语言/区域 285
8.1.2 字符集和编码 285
8.2 NLS相关的SAS选项 288
8.2.1 语言/区域选项LOCALE= 288
8.2.2 编码选项ENCODING= 290
8.2.3 时区选项TIMEZONE= 295
8.2.4 语言切换选项 296
8.3 NL格式和NL输入格式 297
8.4 字符串和字符处理函数 302
8.5 文本字符串外部化 303
8.6 本章小结 309
第二篇 SAS统计分析和时间序列预测 312
第9章 描述性统计分析 312
9.1 基本概念 313
9.1.1 总体、个体和样本 313
9.1.2 简单随机抽样 313
9.1.3 连续变量和分类变量 313
9.1.4 参数、统计量和自由度 314
9.1.5 随机变量及概率分布 314
9.2 描述性统计量 318
9.2.1 描述数据集中趋势 319
9.2.2 描述数据离散程度 320
9.2.3 描述数据分布形态 322
9.3 MEANS过程的补充 334
9.3.1 统计量列表 334
9.3.2 选项WEIGHT=和WEIGHT语句 335
9.3.3 输出SAS数据集 336
9.3.4 WAYS语句和TYPES语句 338
9.4 本章小结 340
第10章 参数估计与假设检验 341
10.1 参数估计 341
10.1.1 点估计 341
10.1.2 区间估计 343
10.2 假设检验 346
10.2.1 基本原理 346
10.2.2 T分布与T检验 348
10.2.3 TTEST过程 350
10.2.4 单样本均值T检验 352
10.2.5 独立双样本均值T检验 354
10.2.6 配对样本均值T检验 360
10.3 非参数假设检验 362
10.4 分布拟合假设检验 365
10.5 本章小结 368
第11章 方差分析 370
11.1 方差分析的基本原理 370
11.1.1 方差分析的模型 370
11.1.2 方差分析的基本思想 371
11.1.3 方差分析的假设 373
11.2 单因素试验的方差分析 374
11.2.1 TTEST过程、ANOVA过程与GLM过程的区别 374
11.2.2 使用ANOVA过程进行方差分析 374
11.2.3 使用GLM过程进行方差分析 376
11.3 显著因素下的水平间差异检验 379
11.3.1 LSMEANS语句与MEANS语句的区别 379
11.3.2 利用LSMEANS语句进行水平差异分析 380
11.4 双因素试验的方差分析 382
11.4.1 双因素试验概述 382
11.4.2 利用GLM过程对不均衡数据进行方差分析 383
11.4.3 有交互作用因素的方差分析 385
11.5 本章小结 386
第12章 主成分分析与因子分析 387
12.1 主成分分析概述 387
12.1.1 主成分分析的基本思想 387
12.1.2 主成分的定义、计算与确定 389
12.1.3 主成分分析难点探讨 390
12.2 使用SAS实现主成分分析 392
12.2.1 FACTOR过程与PRINCOMP过程的比较 392
12.2.2 使用PRINCOMP过程进行主成分分析 392
12.2.3 使用FACTOR过程进行主成分分析 396
12.3 因子分析概述 399
12.3.1 公共因子与特殊因子 399
12.3.2 因子分析的计算过程 400
12.3.3 因子分析与主成分分析比较 401
12.4 使用SAS实现因子分析 402
12.5 本章小结 407
第13章 聚类分析 408
13.1 聚类分析的概述 408
13.1.1 聚类分析方法介绍与比较 408
13.1.2 相似性的度量 409
13.2 划分法与层次法 412
13.2.1 使用过程FASTCLUS实现K均值聚类法 412
13.2.2 使用过程CLUSTER实现层次法 416
13.3 本章小结 422
第14章 判别分析 423
14.1 判别分析概述 423
14.1.1 判别分析的基本概念及应用 423
14.1.2 判别分析的假设条件 424
14.1.3 判别分析常见的方法 424
14.2 判别分析在SAS中的实现 426
14.2.1 使用过程DISCRIM实现一般判别分析 427
14.2.2 使用过程CANDISC实现典型判别分析 432
14.2.3 使用过程STEPDISC实现逐步判别分析 436
14.3 本章小结 440
第15章 回归分析 441
15.1 变量关系探索 442
15.1.1 皮尔逊相关系数 442
15.1.2 相关性检验 444
15.1.3 CORR过程 444
15.2 线性回归 448
15.2.1 基本原理 449
15.2.2 假设检验 451
15.2.3 模型拟合 453
15.2.4 模型选择 457
15.2.5 模型预测 464
15.3 自变量间的共线性诊断 466
15.4 本章小结 468
第16章 LOGISTIC回归分析 470
16.1 基本原理 470
16.1.1 线性概率模型 470
16.1.2 LOGISTIC回归模型 471
16.1.3 LOGISTIC回归模型的估计 473
16.1.4 LOGISTIC回归模型的假设条件 474
16.2 运用LOGISTIC过程拟合模型 475
16.2.1 基本语法 475
16.2.2 假设检验 477
16.2.3 参数估计和解释 478
16.2.4 模型评价 480
16.3 LOGISTIC过程的其他语句 482
16.3.1 CLASS语句 482
16.3.2 ODDSRATIO语句 483
16.3.3 UNITS语句 484
16.4 建立模型 491
16.4.1 自变量与Logit值的关系 491
16.4.2 自变量的互动作用 494
16.4.3 模型选择 494
16.5 本章小结 500
第17章 时间序列分析 501
17.1 时间序列基本概念 501
17.1.1 了解时间序列 501
17.1.2 时间序列的数字特征 503
17.1.3 常见平稳和非平稳模型 506
17.1.4 SAS时间序列分析软件简介 511
17.2 平稳时间序列分析 511
17.2.1 数据准备 512
17.2.2 平稳性和白噪声检验 516
17.2.3 模型识别 521
17.2.4 参数估计和诊断检验 532
17.2.5 预测 537
17.3 趋势时间序列分析 546
17.3.1 确定性时间趋势 546
17.3.2 随机时间趋势 550
17.3.3 运用ARIMA过程建立趋势模型 554
17.3.4 异常点检测 564
17.3.5 运用其他过程建立趋势模型 565
17.4 季节时间序列模型 574
17.4.1 确定性季节因素 574
17.4.2 随机季节模型 578
17.4.3 季节性诊断 579
17.5 本章小结 585
第18章 SAS数据挖掘的一般流程 586
18.1 SAS数据挖掘概述 586
18.2 确定业务问题和数据准备 587
18.2.1 确定业务问题 587
18.2.2 数据准备 588
18.3 数据抽样、探索与加工 590
18.3.1 数据抽样 590
18.3.2 数据探索 591
18.3.3 数据加工 601
18.4 数据建模 605
18.4.1 模型的建立 605
18.4.2 模型的评估 609
18.4.3 模型的实施 614
18.5 本章小结 615
第三篇 SAS优化建模 618
第19章 运筹学概述 618
19.1 运筹学发展简介 618
19.2 优化模型的基本概念 621
19.3 优化模型的分类 623
19.4 优化建模步骤 624
19.5 SAS/OR简介 627
19.6 一个简单的OPTMODEL程序 627
19.7 本章小结 631
第20章 线性规划 632
20.1 数学模型 632
20.1.1 问题的提出 632
20.1.2 线性规划问题 634
20.1.3 图解法 636
20.2 单纯形法 638
20.2.1 线性规划问题的标准型 638
20.2.2 单纯形法的导出和运用 641
20.2.3 两阶段单纯形法 645
20.3 对偶理论和灵敏性分析 649
20.3.1 对偶问题的导出 649
20.3.2 对偶问题的基本性质 650
20.3.3 对偶单纯形法 651
20.3.4 对偶问题的经济解释 653
20.3.5 灵敏性分析 656
20.4 内点法 657
20.5 本章小结 658
第21章 运用PROC OPTMODEL建立线性规划模型 659
21.1 基本概念 659
21.1.1 参数 659
21.1.2 索引和索引集 660
21.1.3 数据类型 660
21.1.4 名称 661
21.1.5 表达式 661
21.1.6 标识表达式 662
21.1.7 函数表达式 662
21.1.8 索引集的补充 662
21.2 基本结构 664
21.3 建立模型 667
21.3.1 参数的声明 667
21.3.2 变量的声明 671
21.3.3 目标函数的声明 672
21.3.4 约束条件的声明 672
21.3.5 求解器的调用 673
21.3.6 数据输出 673
21.4 读取SAS数据集 678
21.5 创建SAS数据集 686
21.6 本章小结 688
第22章 PROC OPTMODEL程序设计 689
22.1 PROC OPTMODEL中的流程控制方法与集合运算 689
22.1.1 常见的流程控制方法 689
22.1.2 常见的集合运算处理 695
22.2 模型的更新 702
22.2.1 使用预求解器 702
22.2.2 决策变量的增加、固定与限制 704
22.2.3 约束的改变与放松 709
22.3 网络流模型 712
22.3.1 网络流模型概述 712
22.3.2 使用OPTMODEL求解网络流模型 714
22.4 本章小结 717
第23章 整数线性规划和混合整数线性规划 718
23.1 整数线性规划和混合整数线性规划概述 718
23.1.1 分支定界法 719
23.1.2 割平面法 722
23.2 使用PROC OPTMODEL求解混合整数线性规划 725
23.3 使用0-1变量建模 728
23.3.1 问题的提出 728
23.3.2 数学模型 728
23.3.3 输入数据 731
23.3.4 PROC OPTMODEL代码和输出 733
23.4 本章小结 737
第24章 优化建模实例 738
24.1 集装箱问题 738
24.1.1 问题的提出 738
24.1.2 数学模型 739
24.1.3 输入数据 740
24.1.4 PROC OPTMODEL代码和输出 741
24.1.5 功能与技巧汇总 747
24.2 运输排程问题 748
24.2.1 问题的提出 748
24.2.2 数学模型 751
24.2.3 输入数据 755
24.2.4 数据验证 759
24.2.5 PROC OPTMODEL代码和输出 764
24.2.6 功能与技巧汇总 773
24.3 本章小结 773
第四篇 SAS智能平台架构体系 776
第25章 SAS智能平台及行业解决方案 776
25.1 SAS智能平台 777
25.1.1 数据层 778
25.1.2 SAS服务器 778
25.1.3 中间层 780
25.1.4 客户端 780
25.2 SAS商业智能 781
25.2.1 SAS Office Analytics 781
25.2.2 SAS Enterprise BI Server 784
25.3 SAS数据管理和集成 790
25.3.1 SAS数据集成 791
25.3.2 SAS数据质量管理 792
25.3.3 DataFlux数据管理平台 792
25.3.4 SAS主数据管理 794
25.4 SAS商业分析 796
25.4.1 SAS Enterprise Miner 796
25.4.2 SAS Text Miner 798
25.4.3 SAS商业分析解决方案 799
25.5 SAS高性能分析 801
25.5.1 SAS内存分析 801
25.5.2 SAS In-Database 804
25.5.3 SAS网格计算 804
25.6 本章小结 805
第26章 SAS应用的架构规划 806
26.1 SAS应用的架构规划 806
26.1.1 SAS应用的架构 806
26.1.2 SAS Grid Manager架构 811
26.1.3 SAS库内产品架构 812
26.1.4 SAS内存分析产品架构 812
26.1.5 SAS部署在高可用集群中的架构 814
26.2 SAS应用的I/O系统规划 815
26.2.1 SAS应用的I/O特性 815
26.2.2 SAS文件系统考虑 816
26.3 本章小结 818
第27章 SAS智能平台安全管理 819
27.1 身份标识 819
27.1.1 用户 819
27.1.2 组 822
27.1.3 角色 823
27.2 认证 824
27.2.1 认证机制 824
27.2.2 凭证管理 826
27.2.3 认证到元数据服务器 832
27.2.4 认证到计算服务器 833
27.2.5 认证到数据服务器 833
27.2.6 单点登录 833
27.3 授权 834
27.3.1 元数据授权 834
27.3.2 访问元数据文件夹 838
27.3.3 访问数据 838
27.3.4 访问SAS对象 839
27.3.5 数据的细粒度控制 842
27.4 加密 843
27.4.1 加密提供方 843
27.4.2 加密ODS PDF文件 844
27.4.3 SAS加密系统选项 844
27.4.4 PWENCODE过程 844
27.5 安全性审计 845
27.5.1 SAS安全性报告宏 845
27.5.2 SAS日志模块 846
27.5.3 Web应用程序的日志 847
27.5.4 SAS审计性能测量包 848
27.6 本章小结 850
第28章 SAS智能平台的高可用性 851
28.1 高可用性相关概念 851
28.2 SAS高可用性方法概述 853
28.2.1 高可用集群 853
28.2.2 动态迁移 854
28.2.3 SAS环境备份和恢复 854
28.3 SAS元数据服务器 855
28.3.1 元数据服务器集群 856
28.3.2 提高元数据服务器可用性 856
28.3.3 公共组件 857
28.4 SAS计算层 857
28.4.1 SAS计算服务器负载均衡 857
28.4.2 SAS网格计算 858
28.4.3 提高计算层组件可用性 858
28.4.4 作业运行选项 859
28.5 SAS中间层 860
28.5.1 SAS Web Application Server集群 860
28.5.2 提高中间层组件的可用性 861
28.6 数据层 862
28.7 本章小结 863