第 2 章:學習資源

此章節主要介紹 SAS 官方所提供學習資源

基本介紹

首先根據 Gartner 的文章提到至 2020 年將會有 50% 的組織缺乏足夠的人工智慧和資料素養技能來實現商業價值,當資料分析和人工智慧的應用越來越普及的情況下,資料作為一種通用語言,資料和分析領導者必須將資料素養 (Data literacy) 作為數位轉型的推動關鍵,並且隨著資料和分析成為數位轉型的核心部分時,資料成為組織資產,則員工將必須具備溝通和理解資料對話的基本能力,簡而言之說明資料的能力將成為大多數日常工作的一個不可或缺的資料素養,並且憑藉資料素養將能夠讓我們積極參與其中,而 SAS 的口號知識就是力量 (The Power to Know) 即是最適當的描述,更重要的是 SAS 推動分析的未來,將會透過軟體創新、教育和專家服務,以及在未來三年內投入 10 億美元用於在人工智慧強大基礎進行更深入的研發,其中包括進階分析,機器學習,深度學習,自然語言處理,電腦視覺和預測優化,更進一步提供 SAS Certified Professional: AI & Machine Learning 有關人工智慧和機器學習的國際專業證照。

接著根據維基百科的定義所謂資料素養主要是指閱讀、使用、分析和爭論資料的能力,然而若企業員工的資料素養不足夠將成為業務增長的抑制因素,但是並非每個人都想成為統計學家或資料科學家,此時 SAS 所提供的解決方案將能夠為每個人提供資料素養,像是透過 SAS Model Manager 將能夠查看資料和問題以利建議適合的分析模型,然後能夠根據標準指標選擇最佳模型,測試模型,評分模型和解釋報表,此外全球主要有 3,000 個以上的教育機構使用 SAS 進行教學和學習,並且老師和學生將能夠註冊免費存取 SAS Viya for Learners 進階分析軟體,用於教學和學習最先進的資料科學技能 SAS Viya for Learners 是一套完整的基於雲端平台的軟體,支援整個分析生命週期從資料到發現,再到部署,並且更允許使用 Python 、 R 和 SAS 進行程式開發,但僅限學術非商業用途。

再來我們是否能夠存取正確的資料,其主要應該是處理與需要解決業務問題共生的資料,而不是獨立的資料,同時技術將在企業進行數位轉型時發揮關鍵作用,主要能夠搭配使商業授權軟體和開放源始碼軟體,以及選擇不同的雲端平台,而在決定使用某種技術之前,請務必先了解和考慮開放性,可擴展性,彈性,效能,資訊安全,成本,管理和治理,以及從模型開發到在生產中部署分析的處理所花費的時間。我們對於資料驅動型世界渴望進行分析,並且期望將分析變為現實,讓其真實和付諸行動,同時分析不再是統計學家和資料科學家專業領域,現今每個人皆能夠有所貢獻,每個人無論在哪裡皆能夠針對資料進行消費和生產,像是透過 SAS Model Studio 將能夠以網站界面視覺化的簡易操作方式準備,開發,比較和部署進階分析模型,無需撰寫程式即可實現機器學習模型,以利針對大數據做出更好的決策,同時若是已經會撰寫 Python 、 R 和 SAS 的統計學家和資料科學家也能夠透過 REST API 存取 SAS Viya 分析平台的大數據資料用於建立開放源始碼最新的機器學習模型。此外 SAS 官方在 Coursera 線上課程平台提供免費的 Machine Learning Using SAS ViyaUsing SAS Viya REST APIs with Python and R 線上影音教學課程,更進一步讓人們更有系統的學習人工智慧和機器學習的基礎理論與實際操作,至於若要取得課程證書,則就會需要付費。

最後當資料素養達到一定程度時,將能夠傳達重要的事情,以及了解資料背後的含義,而近三十年來 SAS Press 一直在幫助使用者更加流暢地掌握資料素養,像是從 1995 年出版的 Little SAS Book 持續幫助程式設計師學習 SAS 並且以統計的方式分析資料。當然 SAS 更有持續推出許多資料素養相關付費的專業書籍免費的專業書籍,最近更針對 SAS Viya 分析平台推出兩本免費的專業書籍,以及除了閱讀專業書籍培養資料素養之外,我們能夠透過閱讀更多的研討會論文培養關鍵的人工智慧和資料素養技能。

總結對於企業組織的數位轉型實現商業價值關鍵主要在於培養人工智慧和資料素養技能,而 SAS Viya 分析平台將能夠讓老師和學生免費教學和學習,協助學生在進入職場之前,就已經具備關鍵的人工智慧和資料素養技能,當然不一定要會寫 SAS 程式語言,但一定要了解人工智慧和機器學習的基礎理論與實際操作。

HMEQ 資料集

首先 SAS 官方提供許多教學影片研討會影片資源,初學者將能夠透過這些影片資源學習 SAS 平台,然而目前許多資料科學家主要使用 R 和 Python 為主,並且企業通常會將具有不同背景和經驗的團隊聚集在一起解決複雜問題,作為業界公認的分析領域的領導者,為何還要學習 SAS 平台呢?因為透過 SAS 平台才能夠同時管理 R、Python 和 SAS 所開發的模型,以及更能夠擴展資料科學的工作,並且加快將分析模型進行企業部署,同時滿足法規的要求,至於要如何達到呢?請先參考官方教學影片官方研討會影片的內容,當我們觀看完影片之後,將會發現不論是教學影片或研討會影片的內容皆常使用 HMEQ 資料集進行範例教學,所以什麼是 HMEQ 資料集呢?

接著 HMEQ 的全名為 Home Equity Loans,也就是房屋淨值貸款,在過去主要為 SAS Enterprise Miner 所提供的案例研究方法所使用的資料集,官方文件中提到 HMEQ 資料集主要是描述金融服務公司向其客戶提供房屋淨值信貸額度的情境,該公司過去已經擴展了數千個信貸額度,其中許多被接納的申請人,約 20% 已經拖欠貸款,因此透過使用地理、人口統計、財務、… 等相關變數,公司期望建立一個模型來預測申請人是否會違約的模型。而在分析資料之後,公司選擇了 12 個預測變數或輸入變數的子集來模擬每個申請人是否違約,其中回應變數或目標變數為 BAD 表示申請人是否違反房屋淨值信貸額度,HMEQ 資料集中總共有 5,960 個觀測值,以及總共有 12 個輸入變數和 1 個目標變數,至於 HMEQ 資料集中變數的相關資訊,請參考下表。

編號

變數名稱

模型角色

資料類型

描述

1

BAD

目標

二元

1 為客戶違約貸款或嚴重違約,0 為客戶已償還貸款。

2

CLAGE

輸入

間隔

最長信用額度的年齡,以月為單位。

3

CLNO

輸入

間隔

信用額度。

4

DEBTINC

輸入

間隔

債務與收入比率。

5

DELINQ

輸入

間隔

逾期信用額度。

6

DEROG

輸入

間隔

主要貶損報告的數量。

7

JOB

輸入

名目

總共有六類職業類別。

8

LOAN

輸入

間隔

貸款申請金額。

9

MORTDUE

輸入

間隔

現有抵押貸款應付金額。

10

NINQ

輸入

間隔

最近的信用查詢數量。

11

REASON

輸入

名目

DebtCon 為債務合併貸款,HomeImp 為家居裝修貸款。

12

VALUE

輸入

間隔

目前屬性值。

13

YOJ

輸入

間隔

申請人目前的工作多少年。

此外 HMEQ 資料集主要能夠從 SAS 官方網站下載 CSV 檔案,更能夠直接透過 SAS Studio 撰寫 SAS 程式碼的方式建立 HMEQ 資料集,並且再撰寫 SAS 程式碼針對 HMEQ 資料集進行取樣分割的操作。

再來 HMEQ 資料集主要能夠進行機器學習演算法測試和驗證,至於如何透過機器學習演算法進行 HMEQ 資料集的決策分析,建議參考官方影片,其中主要以由淺入深的方式解釋如何透過決策樹模型針對 HMEQ 資料集產生決策規則。此外 SAS 官方文件針對 HMEQ 資料集提供許多範例教學,分別為:

此外在針對 SAS Visual Data Mining and Machine Learning 不僅提供以 HMEQ 資料集為基礎建立開源程式碼模型的範例教學之外,更提供 HMEQ 資料集為基礎許多以機器學習演算法程序的範例教學,分別為:

以及針對透過 ASTORE 過程建立分析儲存二進位檔案對其進行管理,並且使用分析儲存針對新資料進行評分,其主要也是以 HMEQ 資料集為基礎提供教學範例

最後在 SAS Viya 分析平台中主要提供完整的模型管理生命週期的分析應用,以及協助企業落實智慧決策的分析應用,其主要也是以 HMEQ 資料集為基礎提供快速開始的教學範例。因此在學習 SAS 平台之前,則建議先了解 HMEQ 資料集的變數資訊和應用情境,對於學習將會有非常大的幫助。

SAS Enterprise Guide 客戶端軟體

首先許多人皆是從 SAS Enterprise Guide 開始學習 SAS 軟體,而所謂 SAS Enterprise Guide 主要是一套透過拖拉點選的操作界面存取 SAS 軟體的功能,並且提供資料處理和匯出到其它應用程式的強大功能,同時容易於使用的選單和精靈工具引導的方式分析資料和分享結果,目前最新版本為 8.x,新版本主要已經設計為包含富有彈性的新式使用者介面,並且採用索引標籤式內容安排和彈性視窗管理,更多資訊請參考官方使用者指南文件 (中文版)

接著 SAS 官方除了提供使用者指南文件之外,更提供 SAS Enterprise Guide 教學課程 (中文版),其中主要以主題的方式進行一系列容易上手的教學課程,課程內容分別為:

  1. 概觀

  2. 啟動專案並探索主視窗

  3. 將 SAS 資料新增至專案

  4. 從文字檔匯入資料

  5. 關於 SAS 工作

  6. 建立及修改清單報表

  7. 建立長條圖

  8. 關於查詢產生器

  9. 使用查詢聯結表格

  10. 將計算欄新增至查詢

  11. 從查詢產生摘要表

  12. 建立圓形圖

  13. 執行線性模型分析

  14. 使用處理流程

  15. 深入瞭解

其中課程內容已經能夠滿足大部份資料處理和分析的需求,因此對於學習 SAS 軟體的初學者非常建議在閱讀官方使用者指南之前,先透過 SAS Enterprise Guide 教學課程進行自主學習。

再來除了線上文件教學課程之外,在 SAS 台灣官方更有提供一系列 SAS Enterprise Guide 影片教學的課程內容,其中主要包括環境介紹、資料整理、資料呈現和資料分析等分類主題,透過線上中文講師詳細的說明,將能夠在最短時間內由淺入深學習 SAS Enterprise Guide 的基本操作。此外再來我們更能夠透過 SAS Enterprise Guide 進行電商數據資料整備開放資料處理與視覺化問卷分析、… 等實務應用。

最後我們為何要學習 SAS 平台,所謂 SAS 平台主要是用於商業智慧、資料管理、進階分析和人工智慧的分析平台,此時我們將能夠透過 SAS Enterprise Guide 單機版軟體存取 SAS 平台中所有的資料,同時管理和處理我們現有的資料以取得用於分析所需的資料,並且使用統計資料技巧分析資料,範圍從描述性量值到羅吉斯迴歸和混合模型,以及將分析結果以有意義的報表方式呈現和分享。此外在現今所有應用程式皆以網站 HTML5 的方式呈現的情況下是否還有單機版軟體存在的必要性,這答案是肯定的,雖然 SAS Enterprise Guide 單機版軟體也有提供網站應用程式的版本,稱為 SAS Studio,但是在於使用者操作體驗上還是以 SAS Enterprise Guide 單機版軟體較佳,當然 SAS Enterprise Guide 單機版軟體目前也能夠直接存取 SAS Viya 分析平台中的資料,同時更能夠 SAS Viya 分析平台進行分散式記憶體資料處理和分析將結果回至 SAS Enterprise Guide 單機版軟體中讓我們進行更多自助式資料分析的應用,至於更多有關單機版軟體和網站應用程式的比較,請參考官方論文

總結所以若要學習 SAS 平台,則建議先學習透過 SAS Enterprise Guide 進行資料處理和分析,以利先熟悉 SAS 軟體,更進一步當開始學習 SAS 平台時將會事半功倍。

開始使用

安裝 SAS 軟體

  • 輸入註冊的電子郵件帳號,按下【下一步】鈕。

  • 輸入註冊的電子郵件帳號對應密碼,按下【登入】鈕。

  • 按下【Accept】鈕。

  • 開始下載 SAS 下載管理員工具。

  • 按下【執行】鈕,執行 SAS 下載管理員工具。

  • 按下【Run】鈕。

  • 按下【確定】鈕。

  • 輸入【訂單號碼】,輸入【SAS 安裝金鑰】,按下【下一步】鈕。

  • 按下【下一步】鈕。

  • 按下【下一步】鈕。

  • 輸入【SAS Software Depot 目錄】,按下【下一步】鈕。

  • 按下【是】鈕。

  • 按下【下載】鈕。

  • 按下【下一步】鈕。

  • 按下【完成】鈕。

  • 按下【Finish】鈕。

  • 在【Setup.exe】執行檔按下右鍵點選【以系統管理員身分執行】。

  • 按下【確定】鈕。

  • 按下【下一步】鈕。

  • 輸入【SAS 主目錄】,按下【下一步】鈕。

  • 按下【下一步】鈕。

  • 按下【下一步】鈕。

  • 按下【下一步】鈕。

  • 按下【下一步】鈕。

  • 按下【下一步】鈕。

  • 按下【全部清除】鈕,點選【繁體中文】,按下【下一步】鈕。

  • 勾選【設定為 Unicode 伺服器】,按下【下一步】。

  • 點選【SAS Enterprise Guide (64 位元)】,按下【下一步】。

  • 按下【下一步】。

  • 按下【開始】。

  • 按下【下一步】。

  • 按下【完成】。

  • 開啟【SAS Enterprise Guide 8.1】工具。

安裝 SAS University Edition

import saspy
import pandas as pd
import ssl
import urllib
context = ssl._create_unverified_context()
link_info = urllib.request.urlopen('http://support.sas.com/documentation/onlinedoc/viya/exampledatasets/hmeq.csv',
context=context)
df = pd.read_csv(link_info)
df.describe()
sas = saspy.SASsession()
hmeq = sas.df2sd(df,'HMEQ')
hmeq.describe()