我无法使用 SAS 中的 proc 模型导出不同组的参数估计值

问题描述 投票:0回答:1

我一直在研究分销模型。我将数据集分为两部分以进行双重验证。我想要的是执行

proc model
并将估计参数获取到 SAS 中的另一个数据集。我可以通过在程序中添加
outparms=
选项来轻松做到这一点,并且它有效。但是当我添加
by group;
选项时,它只显示最后一组的参数(在我的例子中为组 2)。我有一个示例 sas 代码和相应的输出如下:

data work.have;
    input group y1 x1 x2;
    datalines;
    1 10 0.5 25
    1 12 0.7 30
    1 9 0.6 28
    2 8 0.4 35
    2 11 0.5 40
    2 10 0.45 37
;
run;

proc sort data=work.have;
    by group;
run;

proc model data=work.have noprint outparms=work.parm;
    by group;
    parms c1=1 c2=1 c3=1;
    y1 = exp(c1 + c2*x1 + c3/x2); 
    fit y1;
run;
quit;

这是我通过运行上面的代码得到的结果。我想要同一数据集中两组的参数估计。

有什么想法吗?预先感谢。

parameters sas proc
1个回答
0
投票

这看起来像是一个BUG。向 SAS 报告 https://support.sas.com/en/technical-support.html

同时使用不同的 WHERE 语句运行多个 PROC MODEL 步骤并合并结果。

proc model data=work.have noprint outparms=work.parm1;
    where group=1;
    by group;
    parms c1=1 c2=1 c3=1;
    y1 = exp(c1 + c2*x1 + c3/x2); 
    fit y1;
run;
quit;

proc model data=work.have noprint outparms=work.parm2;
    where group=2;
    by group;
    parms c1=1 c2=1 c3=1;
    y1 = exp(c1 + c2*x1 + c3/x2); 
    fit y1;
run;
quit;

data parm;
 set parm1-parm2;
run;
© www.soinside.com 2019 - 2024. All rights reserved.