统计挖掘与机器学习:大数据预测建模和分析技术(原书第3版)
上QQ阅读APP看书,第一时间看更新

10.2.2 为LRM打分

图10.1的SAS程序可以得出数据集合A的LRM,并给出一个外部数据集合的LRM值,见表10.3。这个SAS程序LOGISTIC给出逻辑斯谛回归系数,并将其放入“coeff”文档,见代码“outest=coeff”。由SAS版本6和8代码产生的系数文档分别为表10.4和表10.5。(SAS最新版本9.3和9.4支持版本8和9,但是不支持版本6。[1])这个程序LOGISTIC可以用于版本9。

图10.1 LRM的SAS代码

尽管如此,我还是给出了SAS版本6的程序代码,因为还是有参考价值的,重点突出了大家不熟悉的logit值与概率之间的差别。coeff文件的区别表现在两个方面:

表10.3 数据集合B

1)在SAS版本8的coeff文件里增加了一列_STATUS_,这不影响模型打分的结果。

2)logit预测值的名字是“Response”(SAS版本8),记为_NAME_=Response。

尽管有些出乎意料,但logit预测值在SAS版本8中的命名是PROC LOGISTIC语句中的类别变量,以代码“model Response=”表示。在这个例子里,logit的预测值称作“Response”,记为_NAME_=Response,见表10.4。SAS版本8的命名法容易让建模者以为Response是一个二值变量而不是logit。

表10.4 coeff文件(SAS版本6)

表10.5 coeff文件(SAS版本8)

SAS程序SCORE是用LRM系数给数据集合B中的5个个体打分,见代码“score=coeff”。coeff用于把logit变量预测值(在SAS版本6里称作Estimate,在SAS版本8里称作Response)加在输出文件B_scored里,见代码“out=B_scored”(表10.6)。应答率(Prob_Resp)很容易用图10.1里的SAS程序代码获得。

表10.6 数据集合B_scored

[1] 一位SAS技术支持人员告诉我,还是有不少版本6的支持者。