重命名由Proc Logistic产生的系数/围绕多个数据集共有的变量名称的问题

时间:2014-11-29 02:33:37

标签: sas

我正在估算一个涉及11个因素的公司破产模型。我有从1900年到2000年的数据,我的目标是使用1900年至1950年期间的proc logistic估算我的模型,然后测试其在1951年至2000年数据上的表现。 Proc logistic运行正常但我遇到的问题是估计的系数与我在模型中使用的因子具有相同的名称。假设包含我所有观察结果的数据集称为myData,并且包含使用outtest语句(在proc logistic中)获得的估计系数的数据集称为factorEstimates。现在这两个数据集都有变量factor1,factor2,...,factorN。现在我想要形成数据集outOfSampleResults,它执行以下操作:

data outOfSampleResults; set myData factorEstimates; newVar=factor1*factor1; run;

第一次提到factor1是指myData中包含的内容,第二次引用factorEstimates中包含的内容。如何告知sas应该为set变量中的两个数据集共有的变量读取哪个数据集?或者,我如何在factorEstimates数据集中快速重命名factor1,factor2,...,factorN作为factor1Estimate,factor2Estimate,...,factorNEstimate,以便完全绕过这个常见的变量名称问题?

1 个答案:

答案 0 :(得分:0)

两种快速获取已开发模型估算值的方法: 1. Proc logistic score statement http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_logistic_sect066.htm

  1. 将数据包含在原始过程逻辑中,但使用新变量并确保您想要预测的观察值缺少因变量。

    数据堆叠; 全部设定; 如果年份> 1950年则预测=。; 否则预测= y; 运行;

    proc logistic data = stacked; 模型预测= factor1 - factor12; 输出out = out_predicted预测= p; 运行;