-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
SAS技术内幕:从程序员到数据科学家 版权信息
- ISBN:9787302502784
- 条形码:9787302502784 ; 978-7-302-50278-4
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>>
SAS技术内幕:从程序员到数据科学家 本书特色
SAS公司官方推荐学习用书免费提供本书配套源程序下载 循序渐进掌握数据分析要义和精髓从数据中获取洞见与智慧 北京大学信息科学技术学院博士生导师、教授 张铭国务院发展研究中心研究员 刘云中艾德思奇(adSage)董事长 唐朝晖SAS中国研发中心总经理 刘政慧科集团技术产品中心技术副总裁 李嘉《SAS编程演义》作者 谷鸿秋北京冲和资产管理有限公司量化投资总监 付春光致远互联高级副总裁 杨祉雄华为供应链管理部数据科学家 林建伟SAS中国销售总监兼合作伙伴与渠道负责人 陈云凯 联袂诚意推荐SAS公司官方推荐 免费提供源程序下载 北京大学 教授 张铭 国务院发展研究中心 刘云中 SAS中国 刘政 华为数据科学家 林建伟 SAS编程演义 谷鸿秋 推荐业内大咖联袂推荐《SAS技术内幕:从程序员到数据科学家》是值得一读的数据分析技术入门佳作。这本书是数据分析领域资深专家为融合程序员和统计分析人员的不同视角而编写的,给读者在计算机程序设计世界和数据分析世界之间架起一座桥梁……罗马不是一天建成的!但阅读本书将使普通的程序员也能快速入门SAS语言并以*简洁的方式掌握SAS编程核心,实现向优秀数据科学家的华丽转身! 北京大学信息科学技术学院博士生导师、教授 张铭本书把复杂的数据分析科学以*简单的应用和实例介绍给读者,是一本难得的告诉你用SAS将数据变为知识,将知识变为决策的好书! 国务院发展研究中心研究员 刘云中SAS是数据分析、数据挖掘和人工智能的领军平台。本书集结了作者多年从事数据分析和商业智能研究与实践的经验。用SAS平台深入浅出地给程序员介绍了数据挖掘的基础与精髓,帮助他们成为数据分析的真正专家,非常推荐! 艾德思奇(adSage)董事长 唐朝晖现在很多企业都开始进入数据分析领域,由于没有现成的、足够多的数据分析人员,企业只能让现有的软件开发人员承担这些责任。然而,软件开发人员与数据分析人员的思维是有差异的,也就是确定性的结果和概率性的结果的差异。如何帮助这些软件开发人员成为合格的双重人才,需要一定的知识补充和理论指导。巫银良先生根据自己丰富的从业实践与行业观察总结出来的这本书正好填补了这一空白,值得推荐! SAS中国研发中心总经理 刘政当我看到标题的一刻,心想这可能又是一个专门针对程序员讲解编程的书。但当我打开书,慢慢品读的时候,有的是惊喜;在书中,可以看到与数学概念相关的历史、公式,计算机技术以及SAS 编程的有机融合。我一口气读下来,没有感到晦涩和枯燥,这是一本值得推荐的好书。 华为供应链管理部数据科学家 林建伟
SAS技术内幕:从程序员到数据科学家 内容简介
本书共27章,分为上下两卷:上卷介绍SAS编程基础与使用方法,是广大程序员快速掌握SAS编程技术的简明开发教程;下卷阐述数据分析的关键基础知识并提供相应SAS代码实现,目的是激发读者兴趣,跨越传统编程与数据分析的鸿沟,从程序员华丽转身为数据科学家。书中演示代码力图简洁清晰地解释相关概念,追求大道至简。本书兼顾编程技术与数据分析,期许程序员、信息处理与统计分析人员以及对数据分析科学感兴趣的读者都能从本书中获益良多,循序渐进地掌握数据分析的要义和精髓,从数据中获取洞见与智慧。
SAS技术内幕:从程序员到数据科学家 目录
第1章 SAS语言入门 002
1.1 语言概述 005
1.2 编程环境 010
1.3 SAS Studio编程 016
第2章 数据集与DATA步 032
2.1 SAS 逻辑库 032
2.2 SAS 数据集 036
2.3 DATA 步 041
2.3.1 内嵌数据行或外部数据文件 043
2.3.2 通过已有 SAS 数据集生成 048
2.3.3 通过 PROC IMPORT 或 PROC SQL 生成 051
2.4 DATA 步的运行机制 054
2.4.1 编译阶段 055
2.4.2 运行阶段 056
2.5 DATA 步语句快速索引 057
第3章 变量与表达式 062
3.1 常量与变量 062
3.1.1 变量长度与缺失值 063
3.1.2 数值常量 065
3.1.3 日期/时间/日期时间常量 067
3.1.4 字符常量 067
3.2 表达式 068
3.2.1 运算符 068
3.2.2 运算符优先顺序 072
3.2.3 WHERE 语句特定运算符 072
3.2.4 赋值语句 073
3.2.5 累加赋值语句 074
3.2.6 RETAIN 语句 075
SAS技术内幕:从程序员到数据科学家
3.3 SAS数组 077
3.3.1 数组名称 079
3.3.2 数组元素变量列表 079
3.3.3 数组长度 080
3.3.4 隐式下标变量 080
3.3.5 多维数组 081
3.3.6 临时数组 082
3.3.7 数组排序 083
3.3.8 注意事项 084
第4章 流程控制 087
4.1 DO-END语句块 087
4.2 分支控制 088
4.2.1 IF-THEN 分支控制 088
4.2.2 ELSE-IF 多分支控制 090
4.2.3 SELECT-WHEN 多分支控制 090
4.3 循环控制 091
4.3.1 指定次数的循环:DO-TO-BY 091
4.3.2 指定条件的循环:DO-WHILE 与 DO-UNTIL092
4.3.3 指定集合的循环:DO-OVER 093
4.4 特殊的流程控制语句 094
4.4.1 跳出循环语句:LEAVE 094
4.4.2 继续循环语句:CONTINUE 094
4.4.3 返回语句:RETURN 095
4.4.4 中止执行语句:STOP 与 ABORT 095
4.4.5 跳转语句:GOTO 与 LINK 096
第 5章 函数封装 099
5.1 LINK-RETURN 技术 101
5.2 SAS宏函数封装 103
5.3 FCMP函数 105
5.4 系统函数速查 110
第6章 SAS宏 113
6.1 宏变量 114
6.1.1 命名 114
6.1.2 作用域 114
6.1.3 系统宏 115
6.1.4 宏代码调试 117
目 录
XIII
6.1.5 宏表达式 117
6.2 宏函数 119
参数定义 120
6.3 逻辑控制 121
6.3.1 宏语句块 121
6.3.2 条件分支 121
6.3.3 循环控制 121
6.4 系统宏函数 122
第7章 DS2 124
7.1 程序结构 126
7.1.1 变量声明与类型 126
7.1.2 程序实体作用域 129
7.1.3 变量数组与标准数组 130
7.1.4 系统方法与用户自定义方法 131
7.2 数据程序 136
7.3 包程序 137
7.4 线程程序 143
第8章 代码组织 149
8.1 静态文件包含 149
8.2 程序中动态扩展代码 151
8.3 动态执行外部命令 153
第9章 文件读写 157
9.1 二进制文件读写 157
9.2 文本文件读写 159
9.3 顺序读取多个文件 162
9.4 并行读取多个文件 165
9.5 共享缓冲区读写 166
第10章 按位运算 168
10.1 按位运算 168
10.2 实现方法 169
10.3 按位运算应用 173
第11章 扩展SAS功能 177
11.1 通过 Module调用外部 DLL函数 177
11.2 用 C 语言开发用户函数库 182
11.2.1 准备64位 C 编译环境 182
SAS技术内幕:从程序员到数据科学家
11.2.2 开发用户自定义动态库 183
11.3 PROTO 编写 C 代码或注册外部 DLL 184
第12章 数据结构——数组 187
12.1 数组 187
12.1.1 DATA步数组 187
12.1.2 FCMP 数组 189
12.1.3 DS2 数组 192
12.1.4 SAS宏数组 193
12.2 数组应用:高精度数值计算 194
第13章 数据结构——队列与堆栈 196
13.1 队列 196
13.1.1 函数版实现与示例 196
13.1.2 宏版实现与示例 199
13.2 堆栈 202
函数版实现与示例 202
第14章 数据结构——链表 206
14.1 基础知识 206
14.2 如何在 SAS 代码中内嵌 C 语言代码 207
14.3 单向链表和双向链表 209
14.4 链表应用:约瑟夫斯问题 216
第15章 数据结构——二叉树 221
15.1 PROTO 实现与封装 221
15.2 FCMP二叉树实现 227
15.3 二叉树应用:算术表达式求值 231
第16章 数据结构——矩阵运算 235
16.1 FCMP 矩阵运算 236
16.2 DS2 矩阵运算 243
16.3 矩阵应用:线性方程组求解 246
16.4 矩阵应用:非线性方程组求解 248
第17章 数据结构——图 255
17.1 深度优先和广度优先遍历 256
17.2 *短路径问题 260
17.2.1 Dijkstra算法 261
17.2.2 Bellman-Ford 算法 263
17.2.3 Floyd-Warshall 算法 265
目 录
下 卷
第18章 统计学基础 270
18.1 数据特征度量 270
18.1.1 集中趋势度量 272
18.1.2 离散趋势度量 274
18.1.3 分布特征度量 277
18.1.4 置信区间、置信水平与 p-值 279
18.2 统计学上的变量类型 280
18.3 基本数据处理 283
18.3.1 排序与排名 284
18.3.2 数据转置 285
18.3.3 堆叠与拆分 286
18.3.4 过滤数据 287
18.3.5 随机抽样 289
18.3.6 基本统计量 290
18.4 基本图形图表 292
18.5 SAS 产品与过程步概览 303
18.5.1 SAS核心产品功能简介 305
18.5.2 Base SAS 过程步速查 309
18.5.3 SAS/STAT过程步速查 318
第19章 大数定律与中心极限定理 327
19.1 大数定律 327
19.1.1 弱大数定律 327
19.1.2 三种大数定律 329
19.1.3 图形化证明 330
19.1.4 强大数定律 333
19.2 中心极限定理 334
19.2.1 大数定律与中心极限定理关系 335
19.2.2 图形化证明 336
19.2.3 实际用途 340
第20章 统计分布 342
20.1 均匀分布 342
20.2 离散型统计分布 345
20.2.1 伯努利分布 345
SAS技术内幕:从程序员到数据科学家
20.2.2 二项分布 347
20.2.3 几何分布 353
20.2.4 负二项分布 357
20.2.5 超几何分布 360
20.2.6 泊松分布 362
20.3 连续型统计分布 365
20.3.1 正态分布 365
20.3.2 对数正态分布 373
20.3.3 指数分布 376
20.3.4 卡方分布 379
20.3.5 学生t-分布 381
20.3.6 F分布 387
20.3.7 柯西分布 390
20.3.8 贝塔分布 392
20.3.9 伽马分布 395
20.3.10 爱尔朗分布 397
20.3.11 韦布尔分布 399
20.3.12 三角分布 400
20.3.13 Table 分布 401
附录:各统计分布之间的关系 403
第21章 方差分析 404
21.1 假设检验 404
21.2 方差分析 406
21.2.1 学生t-检验 406
21.2.2 单因子方差分析 408
21.2.3 双因子方差分析 418
第22章 数据标准化 421
22.1 常用标准化方法 421
22.2 SAS数据标准化 424
22.3 自定义数据标准化 429
第23章 主成分分析与因子分析 433
23.1 主成分分析 434
23.1.1 主成分分析原理 435
23.1.2 主成分分析的具体步骤 436
23.2 因子分析 443
目 录
23.2.1 因子分析原理 443
23.2.2 巴特利球度检验和 KMO 检验 443
23.2.3 因子分析的具体步骤 445
第24章 相关分析与回归分析 450
24.1 变量关系 450
24.2 相关分析 451
24.2.1 线性相关性度量 451
24.2.2 非参数关联度量 452
24.2.3 定量数据的相关分析 455
24.2.4 类别数据的相关分析 457
24.3 回归分析 460
第25章 聚类分析 467
25.1 聚类度量 469
25.1.1 距离系数 469
25.1.2 相似性/相关系数 471
25.1.3 SAS实践 473
25.2 聚类形成方法 475
25.2.1 一次形成分类系统 475
25.2.2 K-均值聚类 477
25.2.3 逐步形成分类系统 485
25.2.4 R 型聚类分析 491
25.3 自己实现聚类算法 494
25.3.1 K-均值方法 494
25.3.2 逐步形成分类系统 501
附录:聚类度量的自定义实现 509
第26章 神经网络 512
26.1 神经元模型 513
26.2 神经网络 517
26.2.1 训练神经网络 519
26.2.2 反向传播算法 519
26.3 SAS 代码实现与范例 524
第27 章 π高精度求解与探索分析 536
27.1 π值计算 537
27.1.1 蒙特卡罗方法 543
27.1.2 蒲丰投针方法 544
SAS技术内幕:从程序员到数据科学家
27.1.3 微积分方法 545
27.1.4 幂级数方法 546
27.1.5 幂级数高精度方法 548
27.1.6 梅钦类公式高精度方法 550
27.1.7 迭代方法——贝拉公式 554
27.2 π值分析 557
27.2.1 数字分布规律 558
27.2.2 可视化探索 561
附录 564
参考文献 598
SAS技术内幕:从程序员到数据科学家 节选
SAS技术内幕:从程序员到数据科学家 个RUN 语句,但只有在遇到 QUIT 语句时 SAS 才释放系统资源返回当前SAS 会话。 ●全局语句:在 DATA 步或PROC步之外,SAS还包括若干全局语句,通常用于指 定全局选项或者其他全局性的功能。比如 TITLE语句就可用来指定后续PROC 步 输出报告的标题文字,其中TITLE# (#为数字,如TITLE2)全局语句可用来指 定特定级别的标题,*多可达11级。如果希望在输出的图表中关闭特定级别的 报表标题,用户可以无参数调用TITLE 语句来实现。比如程序 1-2 可设置报表 输出的标题。 程序1-2 全局语句 title "The title of my first report"; /*设置输出报告的标题*/ title2 "Author:Yinliang Wu"; /*设置第二级的报告标题*/ title; /*关闭报告标题*/ 各种SAS 选项语句也属于全局语句,功能上类似于操作系统的环境变量,不过它 用来指定当前SAS 会话有关的系统设置,如程序1-3 用于设置当前会话(Session)的 语言区域属性(Locale)为英文,此时后续的过程步都会受此选项影响输出英文语言 的报告。 程序1-3 全局语句 options locale=en_US;/*设置会话的语言区域属性*/ ●DATA 步:数据步负责为后续数据步或过程步准备待分析的数据,它是SAS语言 核心的组成部分之一。其基本语法为 data mydata; ; run; 比如程序1-4 创建一行具有5 列的数据表,其中Name 和Sex 是字符型变量,其他 3 个为数值型变量。它与系统数据集sashelp.class 的表结构类似。 程序1-4 DATA步范例 data mydata; input Name $ Sex $ Age Height Weight; datalines; LEON M 30 175 83.5 run; ●PROC步:SAS过程步是执行特定任务的一系列SAS语句的集合,它以 PROC 语 句开始,一般到下一个 RUN语句结束;如前所述,某些PROC 如PROC SQL 允许 有多条RUN语句提交代码到DBMS内执行,但只有当该PROC*后一个QUIT语 句运行后才会释放资源返回SAS会话环境。每个过程步都有自己特定的SAS 语 句,也有很多过程步共享相同的SAS 语句和参数选项,如几乎所有的过程步都 有data= 参数用来指定待处理的输入数据集名称(见程序1-5)。 程序1-5 PROC步范例 proc contents data=mydata; run; proc print data=mydata; var name height; run; 参数data=mydata是proc contents和proc print两个过程步语句都有的选项,用来指 定过程步的输入数据集。如果过程步没有指定data=参数,则系统默认使用当前SAS 会话中*后使用或生成的那个数据集,该数据集的名称也存在于当前会话的系统宏变 量&SYSLAST。 ● 程序注释:代码注释通常用于标注不可执行的文本,如描述程序的功能,或出于生 成文档的目的在代码中添加说明性文本。注释还可用来在调试代码过程中将已经 调试好的SAS代码暂时隔离,当代码运行时注释中的代码会被编译器自动忽略,但 SAS注释依然会被写入SAS日志文件。 鉴于SAS宏本质是文本替换,需要特别注意的 一点是在MACRO宏代码中应尽量使用块注释,谨慎使用行注释以免导致不期望的宏 展开,宏代码中使用行注释应中以 %* 开始,分号结束。SAS块注释和行注释如下。 (1)块注释:SAS 语言支持C/C++和 Java 等语言广泛使用的块注释,它以 /*开 始,以后续*近的*/号结束,注释可以包含分号以及任何长度的文本,也可以跨行(见 程序 1-6)。但SAS代码不支持嵌套使用块注释。 程序1-6 块注释 /* * 块注释1… */ proc contents data=mydata; run; (2)行注释:行注释以星号“*”开始,结束于*近的一个分号“;”处。虽然它可 注释多行文本,但它总是以*近的一个分号(包括引号中的分号)结束;其设计初衷用 于调试过程中注释掉单行语句,跨多行的文本建议使用块注释以免产生意想不到的结果。 (见程序 1-7)。 程序1-7 行注释 * 行注释1…; proc contents data=mydata; * 行注释2…; * 行注释3…; run; 虽然SAS代码在格式上具有很强的灵活性,但良好的代码风格能提高代码的可读性 和可维护性。因此,一般情况下请遵循如下SAS代码格式化规范,使SAS代码具有较 强的可读性。 (1)全局语句、DATA / PROC步语句、步结束语句RUN / QUIT 等语句应开始于 **列,而其他子语句通常采用逐级缩进,以显示层次结构关系。 SAS技术内幕:从程序员到数据科学家 (2)SAS 步与步之间通常用空行分隔,以表示SAS 代码的编译边界,方便代码错 误调试。 (3)当单行代码因参数较多导致长度较大时,应折行处理,并在该语句的结束分 号后加上一个空行。 总的来说,SAS 的DATA 步和PROC 步是SAS 语言对数据分析工作的精妙抽象和 完美封装,数据步主要解决待分析的数据结构和数据准备问题,而过程步解决特定分析 方法和流程的实现和封装;这两种SAS 步就像数据结构和算法设计,大体上分别负责数 据结构和算法逻辑实现。只有当需要更加复杂的自定义数据处理和分析算法时,才需要 后面章节中将会讲到的各种函数封装进行扩展。 1.2 编程环境 SAS 编程需要使用什么样的开发环境?其实它跟其他计算机语言一样,可用任何纯 文本编辑器编写SAS 代码,如 Windows 平台的记事本,NotePad+ + 或者UltraEditor 工具。 也可以使用UNIX 上的vi 来编辑代码,不过需要注意的是Windows 平台使用回车换行符 CRLF 而Unix 平台使用换行符LF 进行文本换行。用文本编辑器生成的SAS 代码文件,其 文件编码(File Encoding )需要与SAS 运行时的会话编码(Session Encoding )匹配,否则可 能出现不期望的乱码或程序行为。这并不是SAS 语言编程特定的文件处理问题,而是所有 编程语言都会面临的源代码文件编码和编译器读取文件的所采用的编码之间的匹配问题。 在SAS 执行环境中检查当前SAS 会话编码,可使用PROC OPTIONS 过程步检查(见 程序 1-8),它会输出当前SAS 系统使用的默认语言区域设置以及字符集编码信息。 程序1-8 检查当前SAS会话的Locale/Encoding 设置 proc options option=(locale encoding); run; 对于用户用文本编辑器编写好的SAS 代码,如何用命令行方式编译运行SAS 代码? 对于已经安装好SAS 环境的机器,用户只需要调用sas.exe 然后指定-sysin 命令行参数 将SAS 代码文件的全路径传递给SAS 即可。默认SAS 代码运行后生成的日志文件会输 出到当前路径,用户也可以使用命令行参数-log 进行指定。比如: C:\>"C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -sysin C:\temp\helloworld.sas -log C:\temp\helloworld.log SAS 默认使用配置文件为C:\Program Files\SASHome\SASFoundation\9.4\sasv9.cfg, 也就是当前机器上安装SAS 时生成的默认配置。检查该文件的内容可发现它默认指向 了SAS 安装目录下面的某个语言特定的配置文件。比如在中文环境上安装的SAS,该 sasv9.cfg 文件的内容如下,表示默认使用中文配置来建立SAS 会话环境并运行SAS 代码。 -config "C:\Program Files\SASHome\SASFoundation\9.4\nls\zh\sasv9.cfg" 如果用户想在中文的环境上运行特定配置的SAS,如希望用纯英文版SAS执行用 户代码,用户只需要在运行SAS代码时直接指定特定配置文件即可。检查该环境运行的 SAS日志文件将会发现所有的输出内容变成了英文文本。 C:\>"C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -config "C:\Program Files\SASHome\SASFoundation\9.4\nls\en\sasv9.cfg" -sysin C:\temp\helloworld.sas -log C:\temp\helloworld.log 同理,如果想用英文版SAS执行代码但程序中又要支持处理中文数据,用户则可以 使用SAS安装目录中的 nls\1d\sasv9.cfg 配置文件;如果想用Unicode版本的SAS来运 行代码,则需要使用 nls\u8\sasv9.cfg 配置文件。
SAS技术内幕:从程序员到数据科学家 作者简介
巫银良 SAS 中国研发中心技术总监,北京大学信息科学技术学院客座教授。主要负责SAS 中国研发中心大数据与可视化分析技术、可视化数据挖掘与机器学习,商业智能和移动应用等产品线的项目管理。 毕业于北京大学,获理学学士和硕士学位。拥有近 20 年计算机行业研发和管理经验,在企业应用和商业分析领域有深厚的技术功底。专注于研发管理和项目实践,涉及领域包括人工智能、大数据与可视化分析、金融量化分析与自动交易、商业智能与互联网、大型商业软件研发管理等。
- >
自卑与超越
自卑与超越
¥17.1¥39.8 - >
推拿
推拿
¥12.2¥32.0 - >
二体千字文
二体千字文
¥16.8¥40.0 - >
名家带你读鲁迅:故事新编
名家带你读鲁迅:故事新编
¥13.0¥26.0 - >
小考拉的故事-套装共3册
小考拉的故事-套装共3册
¥36.7¥68.0 - >
罗曼·罗兰读书随笔-精装
罗曼·罗兰读书随笔-精装
¥17.4¥58.0 - >
苦雨斋序跋文-周作人自编集
苦雨斋序跋文-周作人自编集
¥6.9¥16.0 - >
人文阅读与收藏·良友文学丛书:一天的工作
人文阅读与收藏·良友文学丛书:一天的工作
¥19.2¥45.8
-
4.23文创礼盒A款--“作家言我精神状态”
¥42.3¥206 -
4.23文创礼盒B款--“作家言我精神状态”
¥42.3¥206 -
一句顶一万句 (印签版)
¥40.4¥68 -
百年书评史散论
¥14.9¥38 -
1980年代:小说六记
¥52.8¥69 -
中图网经典初版本封面-“老人与海”冰箱贴
¥20¥40