金融商业算法建模:基于Python和SAS
上QQ阅读APP看书,第一时间看更新

1.6.2 给项目添加逻辑库和数据集

1.添加逻辑库

SAS EM通过逻辑库来访问数据。在启动时,有图1-28所示的7个默认逻辑库,其中Work是临时逻辑库,保存在Work逻辑库中的数据在退出SAS EM时自动清除。其他逻辑库均为永久逻辑库,即该逻辑库中的表不会被自动删除。

图1-28 7个默认逻辑库

有两种方式创建逻辑库:手动创建;修改项目属性中的“项目启动代码”。

(1)手动创建逻辑库

1)依次选择“文件”→“新建”→“逻辑库”命令,弹出图1-29所示的对话框。

图1-29 新建逻辑库操作1

2)保持默认选中“新建逻辑库”单选按钮,单击“下一步”按钮,如图1-30所示。

图1-30 新建逻辑库操作2

在“名称”文本框中输入要创建的逻辑库名称,demo为逻辑库名,最长为8位字符,只能由英文字母、下划线(_)和数字组成,首字符不能为数字,建议首字符为英文字母。“引擎”保持“BASE”不变,表明选择SAS默认格式的数据。SAS EM和SAS EG不同,不能通过手工方式创建连接其他数据库格式的逻辑库,这需要在SAS Management Console的数据源模块完成。“路径”用于指定数据存放的文件夹。“选项”用于修改逻辑库的默认设置,此处默认即可。感兴趣的读者可以在SAS Base中查找Libname语句的帮助文档。

3)单击“下一步”按钮,即弹出确认对话框,确认无误后单击“完成”按钮即可,如图1-31所示。

图1-31 逻辑库创建完成

(2)使用项目启动代码创建逻辑库

在项目面板中单击项目的名称,则属性面板中更新为项目的属性。单击“项目启动代码”属性右侧的按钮,弹出输入SAS代码的对话框,如图1-32所示。

图1-32 使用项目启动代码

在对话框内输入:


libname demo "E:\demo";

libname为关键词,表示要建立一个逻辑数据库;demo为逻辑库名,最长为8位字符,只能由英文字母、下划线(_)和数字组成,首字符不能为数字,建议首字符为英文字母;E:\demo表示数据存放在此路径下,且必须用单引号或双引号括起来,最后为英文状态下的分号。

之后单击“立即运行”按钮即可。

2.手动引入数据

1)在“请选择元数据源”对话框中单击“下一步”按钮,弹出“选择SAS表”对话框,如图1-33所示。

图1-33 SAS数据源创建

2)在“选择SAS表”对话框中单击“浏览”按钮,选择“Demo”→“Date_data”,然后单击“确定”按钮,如图1-34所示。

图1-34 在SAS表中创建数据源2

3)再次单击“下一步”按钮,弹出“表属性”对话框,确认数据信息无误后,单击“下一步”按钮,如图1-35所示。

4)选择元数据自动识别的类型,如图1-36所示。

图1-35 表属性选择

元数据是描述数据的数据,如变量的测度类型、在模型中的角色,这会在下一个对话框中具体说明。“基本”表示使用SAS EM不自动识别变量的属性,“高级”表示根据指定的选项自动识别变量的属性。依次选择高级→定制命令,弹出图1-37所示的对话框。每个选项的说明在单击该属性后出现的对话页面的下方。其中,“缺失百分比阈值”是笔者使用“高级”选项的最重要原因。如果不修改,SAS EM会自动拒绝缺失值比例超过50%的变量。本书的示例中没有缺失值比例如此高的变量,但是在实际工作中,如果前期没有进行数据清洗,则会存在较多的缺失值,因此可以将“拒绝带有过多缺失值的变量”选项设置成“否”,待将来在“补缺”节点处进行修改。另外,SAS EM的数据处理能力较弱,而且操作复杂,只对数据清洗时没有考虑到的问题进行处理,一般会在数据导入SAS EM之前在数据库(如Oracle)或SAS EG中做好数据清洗工作。

图1-36 元数据自动识别的类型

5)“列元数据”的第一个对话框是整个输入数据的重点,最好一次性设置正确,否则将来只可使用“元数据”节点进行修改,如图1-38所示。

图1-37 高级顾问选项

图1-38 “元数据”节点修改

“角色”代表该变量在建模过程中如何使用,其中“目标”作为分类模型中的被解释变量;“输入”作为分类模型中的解释变量。SAS EM具有一定的智能特征,会将变量名前两个字母为ID的变量的默认角色设置为“ID”,将以Target开头的变量设置为“目标”,因此需要留意默认选项和实际变量角色不同的情况。

“水平”代表变量的度量类型。

·名义测量(Nominal Measurement)是最低的一种测量等级,也称定名测度,其数值仅代表某些分类或属性。例如,用来表示性别和民族等。这类变量一般不做高低、大小区分。

·次序测量(Ordinal Measurement)的量化水平高于名义测量,用于测量的数值代表了一些有序分类。例如,用来表示受教育程度高低的数字具有一定的顺序性。

·间距测量(Interval Measurement)的量化程度更高一些,它的取值不再是类的编码,而是采用一定单位的实际测量值,可以进行加减运算,但不能进行乘除运算,因为测量等级的变量所取的“0”值不是物理上的绝对“0”。

·比率测量(Ratio Measurement)是最高级的测量等级,除了具有间距测度等级的所有性质外,其0值具有物理上的绝对意义,而且可以进行加减乘除运算。

SAS EM将名义变量细分为单值、二值和列名,因此需要使用者先对变量进行探索,明确变量的水平数量。当变量的水平数量多于2时,必须设为列名型变量。当变量的水平数量为2以上且具有次序时,需要设置为序数型变量。SAS EM将间距和比率两种测量类型的变量合并为区间型。

6)“列元数据”的第二个对话框用于设定决策值。这里可以指定先验概率、成本函数等信息,这涉及分类模型评估中的混淆矩阵等知识。该功能的设置将在分类模型的相关章节进行讲解,如图1-39所示。

图1-39 数据源向导处理

7)“创建样本”对话框用于抽样的选择,此处保持默认,单击“下一步”按钮,如图1-40所示。

图1-40 数据源向导样本建立

8)设置数据的名称和角色,如图1-41所示。

“名称”是将来该表在项目中显示的名称,因此可以写得简便些。“角色”是这张表在建模中的用处。如果这张表用于关联分析或序贯分析,必须设置为“事务”角色。其他角色都用于分类模型或聚类模型。“原始”代表可用于建模的数据,将来用于分类模型时,可以通过数据分区节点拆分为训练集和测试集,但是不能成为评分数据集。“训练”表明该表单独用于训练模型;“验证”表明该表单独用于验证模型;“测试”表明该表单独用于测试模型;“评分”表明该表拥有和训练集相同的输入变量,但是没有目标变量,需要使用SAS EM构建的模型进行预测。

9)单击“下一步”按钮确认操作无误后,单击“完成”按钮,则在“数据源”中出现该数据集,如图1-42所示。

图1-41 数据源属性

图1-42 数据源中的数据集