Sas 基于已知参数估计响应值

Sas 基于已知参数估计响应值,sas,Sas,这里是SAS的新手 我的问题是关于SAS中的PROC REG;假设我已经创建了一个模型,现在我想使用这个模型和已知的预测变量来估计响应值 在SAS中是否有一种干净、简单的方法可以做到这一点?到目前为止,我一直在从模型的输出中手动获取截距和系数来计算响应变量,但正如你所想象的,当你有很多协变量时,它会变得非常糟糕。他们的用户指南很神秘 提前感谢。两种方式: 将所需数据追加到要用于获取估计值的数据集中,但y值留空。使用proc reg的output语句获取估计值 使用过程分数 @里斯是对的。以下是

这里是SAS的新手

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

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

提前感谢。

两种方式:

  • 将所需数据追加到要用于获取估计值的数据集中,但y值留空。使用proc reg的output语句获取估计值

  • 使用过程分数


  • @里斯是对的。以下是一些示例代码,可以让您更快地了解学习过程:

    /*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;
    

    这太棒了!谢谢:)