-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
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 年計算機行業研發和管理經驗,在企業應用和商業分析領域有深厚的技術功底。專注于研發管理和項目實踐,涉及領域包括人工智能、大數據與可視化分析、金融量化分析與自動交易、商業智能與互聯網、大型商業軟件研發管理等。
- >
名家帶你讀魯迅:朝花夕拾
- >
莉莉和章魚
- >
羅曼·羅蘭讀書隨筆-精裝
- >
唐代進士錄
- >
二體千字文
- >
史學評論
- >
上帝之肋:男人的真實旅程
- >
新文學天穹兩巨星--魯迅與胡適/紅燭學術叢書(紅燭學術叢書)