根据已知参数估算响应值

时间:2014-11-12 18:27:46

标签: sas

SAS新手在这里。

我的问题是关于SAS的PROC REG;让我们假设我已经创建了一个模型,现在我想使用这个模型和已知的预测变量来估计响应值。

在SAS中是否有一种干净简单的方法?到目前为止,我已经手动从我的模型的输出中获取截距和系数来计算响应变量但是你可以想象当你有很多协变量时它会变得非常讨厌。他们的用户指南非常神秘......

提前致谢。

2 个答案:

答案 0 :(得分:4)

@Reese是对的。以下是一些示例代码,可帮助您更快地了解学习过程:

/*Data to regress*/
data test;
do i=1 to 100;
    x1 = rannor(123);
    x2 = rannor(123)*2 + 1;
    y = 1*x1 + 2*x2 + 4*rannor(123);
    output;
end;
run;

/*Data to score*/
data to_score;
_model_ = "Y_on_X";
y = .;
x1 = 1.5;
x2 = -1;
run;


/*Method 1: just put missing values on the input data set and
  PROC REG will do it for you*/
data test_2;
set test to_score;
run;

proc reg data=test_2 alpha=.01 outest=est;
Y_on_X: model y = x1 x2;
output out=test2_out(where=(y=.)) p=predicted ucl=UCL_Pred lcl=LCL_Pred;
run;
quit;

proc print data=test2_out;
run;


/*Method 2: Use the coefficients and the to_score data with
  PROC SCORE*/
proc score data=to_score score=est out=scored type=parms;
var x1 x2;
run;

proc print data=scored;
var Y_on_X X1 X2;
run;

答案 1 :(得分:3)

2种方式:

  1. 将您想要的数据附加到您将要用于获取估算值的数据集中,但将y值保留为空白。使用proc reg的输出语句获取估计值。

  2. 使用Proc Score http://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#statug_score_sect018.htm