- 金融商業(yè)算法建模:基于Python和SAS
- 趙仁乾 田建中 葉本華 常國珍
- 2451字
- 2021-11-05 17:52:03
1.6.2 給項目添加邏輯庫和數(shù)據(jù)集
1.添加邏輯庫
SAS EM通過邏輯庫來訪問數(shù)據(jù)。在啟動時,有圖1-28所示的7個默認(rèn)邏輯庫,其中Work是臨時邏輯庫,保存在Work邏輯庫中的數(shù)據(jù)在退出SAS EM時自動清除。其他邏輯庫均為永久邏輯庫,即該邏輯庫中的表不會被自動刪除。

圖1-28 7個默認(rèn)邏輯庫
有兩種方式創(chuàng)建邏輯庫:手動創(chuàng)建;修改項目屬性中的“項目啟動代碼”。
(1)手動創(chuàng)建邏輯庫
1)依次選擇“文件”→“新建”→“邏輯庫”命令,彈出圖1-29所示的對話框。

圖1-29 新建邏輯庫操作1
2)保持默認(rèn)選中“新建邏輯庫”單選按鈕,單擊“下一步”按鈕,如圖1-30所示。

圖1-30 新建邏輯庫操作2
在“名稱”文本框中輸入要創(chuàng)建的邏輯庫名稱,demo為邏輯庫名,最長為8位字符,只能由英文字母、下劃線(_)和數(shù)字組成,首字符不能為數(shù)字,建議首字符為英文字母。“引擎”保持“BASE”不變,表明選擇SAS默認(rèn)格式的數(shù)據(jù)。SAS EM和SAS EG不同,不能通過手工方式創(chuàng)建連接其他數(shù)據(jù)庫格式的邏輯庫,這需要在SAS Management Console的數(shù)據(jù)源模塊完成。“路徑”用于指定數(shù)據(jù)存放的文件夾。“選項”用于修改邏輯庫的默認(rèn)設(shè)置,此處默認(rèn)即可。感興趣的讀者可以在SAS Base中查找Libname語句的幫助文檔。
3)單擊“下一步”按鈕,即彈出確認(rèn)對話框,確認(rèn)無誤后單擊“完成”按鈕即可,如圖1-31所示。

圖1-31 邏輯庫創(chuàng)建完成
(2)使用項目啟動代碼創(chuàng)建邏輯庫
在項目面板中單擊項目的名稱,則屬性面板中更新為項目的屬性。單擊“項目啟動代碼”屬性右側(cè)的按鈕,彈出輸入SAS代碼的對話框,如圖1-32所示。

圖1-32 使用項目啟動代碼
在對話框內(nèi)輸入:
libname demo "E:\demo";
libname為關(guān)鍵詞,表示要建立一個邏輯數(shù)據(jù)庫;demo為邏輯庫名,最長為8位字符,只能由英文字母、下劃線(_)和數(shù)字組成,首字符不能為數(shù)字,建議首字符為英文字母;E:\demo表示數(shù)據(jù)存放在此路徑下,且必須用單引號或雙引號括起來,最后為英文狀態(tài)下的分號。
之后單擊“立即運行”按鈕即可。
2.手動引入數(shù)據(jù)
1)在“請選擇元數(shù)據(jù)源”對話框中單擊“下一步”按鈕,彈出“選擇SAS表”對話框,如圖1-33所示。

圖1-33 SAS數(shù)據(jù)源創(chuàng)建
2)在“選擇SAS表”對話框中單擊“瀏覽”按鈕,選擇“Demo”→“Date_data”,然后單擊“確定”按鈕,如圖1-34所示。

圖1-34 在SAS表中創(chuàng)建數(shù)據(jù)源2
3)再次單擊“下一步”按鈕,彈出“表屬性”對話框,確認(rèn)數(shù)據(jù)信息無誤后,單擊“下一步”按鈕,如圖1-35所示。
4)選擇元數(shù)據(jù)自動識別的類型,如圖1-36所示。

圖1-35 表屬性選擇
元數(shù)據(jù)是描述數(shù)據(jù)的數(shù)據(jù),如變量的測度類型、在模型中的角色,這會在下一個對話框中具體說明。“基本”表示使用SAS EM不自動識別變量的屬性,“高級”表示根據(jù)指定的選項自動識別變量的屬性。依次選擇高級→定制命令,彈出圖1-37所示的對話框。每個選項的說明在單擊該屬性后出現(xiàn)的對話頁面的下方。其中,“缺失百分比閾值”是筆者使用“高級”選項的最重要原因。如果不修改,SAS EM會自動拒絕缺失值比例超過50%的變量。本書的示例中沒有缺失值比例如此高的變量,但是在實際工作中,如果前期沒有進行數(shù)據(jù)清洗,則會存在較多的缺失值,因此可以將“拒絕帶有過多缺失值的變量”選項設(shè)置成“否”,待將來在“補缺”節(jié)點處進行修改。另外,SAS EM的數(shù)據(jù)處理能力較弱,而且操作復(fù)雜,只對數(shù)據(jù)清洗時沒有考慮到的問題進行處理,一般會在數(shù)據(jù)導(dǎo)入SAS EM之前在數(shù)據(jù)庫(如Oracle)或SAS EG中做好數(shù)據(jù)清洗工作。

圖1-36 元數(shù)據(jù)自動識別的類型
5)“列元數(shù)據(jù)”的第一個對話框是整個輸入數(shù)據(jù)的重點,最好一次性設(shè)置正確,否則將來只可使用“元數(shù)據(jù)”節(jié)點進行修改,如圖1-38所示。

圖1-37 高級顧問選項

圖1-38 “元數(shù)據(jù)”節(jié)點修改
“角色”代表該變量在建模過程中如何使用,其中“目標(biāo)”作為分類模型中的被解釋變量;“輸入”作為分類模型中的解釋變量。SAS EM具有一定的智能特征,會將變量名前兩個字母為ID的變量的默認(rèn)角色設(shè)置為“ID”,將以Target開頭的變量設(shè)置為“目標(biāo)”,因此需要留意默認(rèn)選項和實際變量角色不同的情況。
“水平”代表變量的度量類型。
·名義測量(Nominal Measurement)是最低的一種測量等級,也稱定名測度,其數(shù)值僅代表某些分類或?qū)傩浴@纾脕肀硎拘詣e和民族等。這類變量一般不做高低、大小區(qū)分。
·次序測量(Ordinal Measurement)的量化水平高于名義測量,用于測量的數(shù)值代表了一些有序分類。例如,用來表示受教育程度高低的數(shù)字具有一定的順序性。
·間距測量(Interval Measurement)的量化程度更高一些,它的取值不再是類的編碼,而是采用一定單位的實際測量值,可以進行加減運算,但不能進行乘除運算,因為測量等級的變量所取的“0”值不是物理上的絕對“0”。
·比率測量(Ratio Measurement)是最高級的測量等級,除了具有間距測度等級的所有性質(zhì)外,其0值具有物理上的絕對意義,而且可以進行加減乘除運算。
SAS EM將名義變量細分為單值、二值和列名,因此需要使用者先對變量進行探索,明確變量的水平數(shù)量。當(dāng)變量的水平數(shù)量多于2時,必須設(shè)為列名型變量。當(dāng)變量的水平數(shù)量為2以上且具有次序時,需要設(shè)置為序數(shù)型變量。SAS EM將間距和比率兩種測量類型的變量合并為區(qū)間型。
6)“列元數(shù)據(jù)”的第二個對話框用于設(shè)定決策值。這里可以指定先驗概率、成本函數(shù)等信息,這涉及分類模型評估中的混淆矩陣等知識。該功能的設(shè)置將在分類模型的相關(guān)章節(jié)進行講解,如圖1-39所示。

圖1-39 數(shù)據(jù)源向?qū)幚?/p>
7)“創(chuàng)建樣本”對話框用于抽樣的選擇,此處保持默認(rèn),單擊“下一步”按鈕,如圖1-40所示。

圖1-40 數(shù)據(jù)源向?qū)颖窘?/p>
8)設(shè)置數(shù)據(jù)的名稱和角色,如圖1-41所示。
“名稱”是將來該表在項目中顯示的名稱,因此可以寫得簡便些。“角色”是這張表在建模中的用處。如果這張表用于關(guān)聯(lián)分析或序貫分析,必須設(shè)置為“事務(wù)”角色。其他角色都用于分類模型或聚類模型。“原始”代表可用于建模的數(shù)據(jù),將來用于分類模型時,可以通過數(shù)據(jù)分區(qū)節(jié)點拆分為訓(xùn)練集和測試集,但是不能成為評分?jǐn)?shù)據(jù)集。“訓(xùn)練”表明該表單獨用于訓(xùn)練模型;“驗證”表明該表單獨用于驗證模型;“測試”表明該表單獨用于測試模型;“評分”表明該表擁有和訓(xùn)練集相同的輸入變量,但是沒有目標(biāo)變量,需要使用SAS EM構(gòu)建的模型進行預(yù)測。
9)單擊“下一步”按鈕確認(rèn)操作無誤后,單擊“完成”按鈕,則在“數(shù)據(jù)源”中出現(xiàn)該數(shù)據(jù)集,如圖1-42所示。

圖1-41 數(shù)據(jù)源屬性

圖1-42 數(shù)據(jù)源中的數(shù)據(jù)集
- 數(shù)據(jù)要素安全流通
- Hands-On Data Structures and Algorithms with Rust
- Python絕技:運用Python成為頂級數(shù)據(jù)工程師
- 數(shù)據(jù)之巔:數(shù)據(jù)的本質(zhì)與未來
- Developing Mobile Games with Moai SDK
- 分布式數(shù)據(jù)庫系統(tǒng):大數(shù)據(jù)時代新型數(shù)據(jù)庫技術(shù)(第3版)
- Spark核心技術(shù)與高級應(yīng)用
- INSTANT Cytoscape Complex Network Analysis How-to
- 城市計算
- Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)(第3版)
- INSTANT Apple iBooks How-to
- Oracle高性能SQL引擎剖析:SQL優(yōu)化與調(diào)優(yōu)機制詳解
- MySQL數(shù)據(jù)庫技術(shù)與應(yīng)用
- 大數(shù)據(jù)技術(shù)原理與應(yīng)用:概念、存儲、處理、分析與應(yīng)用
- 算法設(shè)計與分析