本书系统介绍了如何用SAS进行编程、分析、优化建模和解决商业问题。全书共四个大部分: SAS编程、SAS统计分析、 SAS优化和SAS商业智能。
SAS编程部分介绍了如何运用SAS进行数据读入、处理和展现。该部分共7章,具体内容如下:第1章介绍SAS系统;第2章介绍SAS数据集的建立;第3-4章介绍对数据集的处理,这些处理包含对单个/多个数据集的行、列以及整个数据集进行加工、处理与合并;第5章介绍SAS数据汇总与展现,包括各类报表和图形制作;第6-7章分别介绍SAS SQL语言编程和使用SAS宏语言在复杂和大规模的数据处理中进行有效的逻辑控制。
第二部分为SAS统计分析部分,包含第8-16章。该部分内容包括:第8章介绍常见的SAS描述性统计分析,包含常见的均值、方差和分位数等基本统计概念;第9章介绍如何进行参数估计和假设实验,重点介绍了SAS的T检验;第10章讲解了方差和协方差分析;第11章主要内容为主成分分析和因子分析以及如何利用SAS实现;第12-15章依次介绍了常见的分析和相应的SAS命令,分别为:聚类分析、判别分析、回归分析和时间序列分析。该部分最后一章介绍了SAS统计分析案例,该案例完整地从商业需求出发,具体讲述了数据处理、模型开发、验证与实施的流程,示范了前面学习的各种统计方法如何应用在实际问题中。
SAS优化部分从优化建模流程出发介绍了优化概念,如何建立优化模型,如何使用SAS 优化软件SAS/OR,并结合案例介绍了优化建模在具体领域内的应用。具体为:第17-18章分别介绍建模流程和线性规划基本原理;第19-20章循序渐进介绍了如何使用SAS/OR;第21章介绍了混合整数线性规划;第22章介绍了SAS/OR在商业领域的应用案例,包括装箱问题、运输问题和资源分配问题。
SAS商业分析部分包括第23-27章。第23-24章介绍了商业分析的一般概念,接着阐述了SAS如何进行商业分析及所提供的产品、技术和解决方案,同时也针对大数据分析给出了相应的论述。第25-27章从项目实施角度探讨了SAS在系统架构设计、用户登陆、授权、数据访问、数据加密等实际问题,以及SAS组件的可用性、负载均衡性和扩展性方法和配置。
封面图
目录
- 前言
- Preface
- 第一篇SAS编程和数据处理
- 第1章Base SAS基础2
- 1.1SAS系统简介2
- 1.2启动SAS软件4
- 1.2.1SAS窗口环境模式4
- 1.2.2非交互模式5
- 1.2.3批处理模式6
- 1.2.4交互式行模式7
- 1.2.5配置文件和AUTOEXEC文件7
- 1.3SAS窗口环境8
- 1.3.1SAS资源管理器10
- 1.3.2程序编辑器10
- 1.3.3日志10
- 1.3.4结果11
- 1.3.5输出11
- 1.4SAS文件和逻辑库11
- 1.5一个简单的SAS程序13
- 1.6SAS Studio17
- 1.7本章小结18
- 第2章读取外部数据到SAS数据集19
- 2.1SAS编程基本概念20
- 2.1.1SAS逻辑库20
- 2.1.2SAS数据集23
- 2.1.3SAS逻辑库和数据集管理31
- 2.1.4SAS系统选项33
- 2.1.5SAS程序结构37
- 2.2通过DATA步读取数据38
- 2.2.1DATA步处理38
- 2.2.2读取外部文本文件中的数据(初级)42
- 2.2.3读取外部文本文件中的数据(高级)52
- 2.3通过IMPORT过程读取外部文件数据62
- 2.4访问关系型数据库系统中的数据65
- 2.5SAS程序错误及处理68
- 2.5.1良好的SAS编程风格68
- 2.5.2常见错误及处理69
- 2.6本章小结73
- 第3章对单个数据集的处理74
- 3.1选取部分变量74
- 3.2操作数据集的观测78
- 3.2.1SAS表达式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.2SAS数组106
- 3.5SAS常用函数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.3SET语句与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.5ODS输出传送系统210
- 5.5.1选择或剔除输出对象211
- 5.5.2创建多种格式输出文件216
- 5.6本章小结223
- 第6章SAS SQL语言224
- 6.1SQL语言概述224
- 6.2使用SQL检索数据225
- 6.2.1SQL的基本结构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.1SAS宏语言概述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.2NLS相关的SAS选项288
- 8.2.1语言/区域选项LOCALE=288
- 8.2.2编码选项ENCODING=290
- 8.2.3时区选项TIMEZONE=295
- 8.2.4语言切换选项296
- 8.3NL格式和NL输入格式297
- 8.4字符串和字符处理函数302
- 8.5文本字符串外部化303
- 8.6本章小结309
- 第二篇SAS统计分析和时间序列预测
- 第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.3MEANS过程的补充334
- 9.3.1统计量列表334
- 9.3.2选项WEIGHT=和WEIGHT语句335
- 9.3.3输出SAS数据集336
- 9.3.4WAYS语句和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.2T分布与T检验348
- 10.2.3TTEST过程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.1TTEST过程、ANOVA过程与GLM过程的区别374
- 11.2.2使用ANOVA过程进行方差分析374
- 11.2.3使用GLM过程进行方差分析376
- 11.3显著因素下的水平间差异检验379
- 11.3.1LSMEANS语句与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.1FACTOR过程与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.3CORR过程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.2LOGISTIC回归模型471
- 16.1.3LOGISTIC回归模型的估计473
- 16.1.4LOGISTIC回归模型的假设条件474
- 16.2运用LOGISTIC过程拟合模型475
- 16.2.1基本语法475
- 16.2.2假设检验477
- 16.2.3参数估计和解释478
- 16.2.4模型评价480
- 16.3LOGISTIC过程的其他语句482
- 16.3.1CLASS语句482
- 16.3.2ODDSRATIO语句483
- 16.3.3UNITS语句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.4SAS时间序列分析软件简介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.1SAS数据挖掘概述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优化建模
- 第19章运筹学概述618
- 19.1运筹学发展简介618
- 19.2优化模型的基本概念621
- 19.3优化模型的分类623
- 19.4优化建模步骤624
- 19.5SAS/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.1PROC 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.4PROC OPTMODEL代码和输出733
- 23.4本章小结737
- 第24章优化建模实例738
- 24.1集装箱问题738
- 24.1.1问题的提出738
- 24.1.2数学模型739
- 24.1.3输入数据740
- 24.1.4PROC 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.5PROC OPTMODEL代码和输出764
- 24.2.6功能与技巧汇总773
- 24.3本章小结773
- 第四篇SAS智能平台架构体系
- 第25章SAS智能平台及行业解决方案776
- 25.1SAS智能平台777
- 25.1.1数据层778
- 25.1.2SAS服务器778
- 25.1.3中间层780
- 25.1.4客户端780
- 25.2SAS商业智能781
- 25.2.1SAS Office Analytics781
- 25.2.2SAS Enterprise BI Server784
- 25.3SAS数据管理和集成790
- 25.3.1SAS数据集成791
- 25.3.2SAS数据质量管理792
- 25.3.3DataFlux数据管理平台792
- 25.3.4SAS主数据管理794
- 25.4SAS商业分析796
- 25.4.1SAS Enterprise Miner796
- 25.4.2SAS Text Miner798
- 25.4.3SAS商业分析解决方案799
- 25.5SAS高性能分析801
- 25.5.1SAS内存分析801
- 25.5.2SAS In-Database804
- 25.5.3SAS网格计算804
- 25.6本章小结805
- 第26章SAS应用的架构规划806
- 26.1SAS应用的架构规划806
- 26.1.1SAS应用的架构806
- 26.1.2SAS Grid Manager架构811
- 26.1.3SAS库内产品架构812
- 26.1.4SAS内存分析产品架构812
- 26.1.5SAS部署在高可用集群中的架构814
- 26.2SAS应用的I/O系统规划815
- 26.2.1SAS应用的I/O特性815
- 26.2.2SAS文件系统考虑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.3SAS加密系统选项844
- 27.4.4PWENCODE过程844
- 27.5安全性审计845
- 27.5.1SAS安全性报告宏 845
- 27.5.2SAS日志模块846
- 27.5.3Web应用程序的日志847
- 27.5.4SAS审计性能测量包848
- 27.6本章小结850
- 第28章SAS智能平台的高可用性851
- 28.1高可用性相关概念851
- 28.2SAS高可用性方法概述853
- 28.2.1高可用集群853
- 28.2.2动态迁移854
- 28.2.3SAS环境备份和恢复854
- 28.3SAS元数据服务器855
- 28.3.1元数据服务器集群 856
- 28.3.2提高元数据服务器可用性856
- 28.3.3公共组件857
- 28.4SAS计算层857
- 28.4.1SAS计算服务器负载均衡857
- 28.4.2SAS网格计算858
- 28.4.3提高计算层组件可用性858
- 28.4.4作业运行选项859
- 28.5SAS中间层860
- 28.5.1SAS Web Application Server集群860
- 28.5.2提高中间层组件的可用性861
- 28.6数据层862
- 28.7本章小结863