"自动"使用PROC GLM计算参数估计的线性组合

时间:2014-02-13 15:28:59

标签: sas categorical-data

背景:我有一个分类变量 X ,有四个级别,我适合作为单独的虚拟变量。因此,存在三个总虚拟变量,表示x = 1,x = 2,x = 3(x = 0是基线)。

问题/问题:我希望能够计算这些虚拟变量的线性组合(即使用SAS作为计算器)的值。例如,2 * B1 + 2 * B2 + B3。

在Stata中,可以使用lincom命令完成此操作,该命令使用存储的β估计值来计算参数的线性组合。

在SAS中PROC GLM这样的程序,我想我应该使用ESTIMATE语句,但我不确定在这种情况下如何为每个变量指定“权重”。

3 个答案:

答案 0 :(得分:2)

您正在寻找PROC SCORE。这需要输出回归或因子估计并对新数据集进行评分。请看这里的例子。 http://support.sas.com/documentation/cdl/en/statug/66859/HTML/default/viewer.htm#statug_score_examples02.htm

答案 1 :(得分:2)

仅供参考,PROC MODEL确实在模型语句中允许这样做,这可能比PROC SCORE更少工作。我知道PROC MODEL可以代替PROC REG轻松使用,但我不确定建模PROC MODEL有多先进,所以它可能不适合更复杂的模型。我希望有一些编码较少的东西,但考虑到SAS的本质,我认为这和PROC SCORE是我将得到的最好的。

答案 2 :(得分:0)

如果在输入数据集中将线性组合添加为变量,该怎么办?

data myDatasetWithLinCom;
set mydata;
LinComb=2*(x=1)+ 2*(x=2)+(x=3); /*equvilent to 2*B1 + 2*B2 + B3*/
run;

然后你可以指定LinComb作为解释变量之一,你可以直接从输出中查找系数。