Sas 更改或解释PROC GLMSELECT中伪变量的类编码

Sas 更改或解释PROC GLMSELECT中伪变量的类编码,sas,Sas,我使用这个简化示例来拟合SAS中使用PROC GLMSELECT的一些回归模型: PROC GLMSELECT DATA = WORK.Bla1 TESTDATA = WORK.Bla2; class catvar; MODEL y = x catvar / selection = none stb showpvalues; RUN; 分类变量catvar有3个值a、b和c。安装模型后: catvar = c 始终具有估计值0

我使用这个简化示例来拟合SAS中使用PROC GLMSELECT的一些回归模型:

PROC GLMSELECT DATA = WORK.Bla1 TESTDATA = WORK.Bla2;
    class catvar;
    MODEL
        y = 
        x
        catvar / selection = none stb showpvalues;
RUN;
分类变量catvar有3个值a、b和c。安装模型后:

catvar = c
始终具有估计值0和缺少的p值。我认为这与上述使用标准“REF编码”这一事实有关(参见):


catvar=c是参考等级。我是否可以防止这种行为,以获得catvar每个值的估计值和p值?如果不是,我如何解释catvar=c?如有任何反馈,将不胜感激。谢谢。

默认值不是REF,而是GLM。您的输出应该显示所使用的设计矩阵。这是一个解释问题,而不是得到一个实际的估计。通过设计,你不会得到估计,因为一切都与基准面有关。这不是SAS问题,而是统计问题,应该交叉验证。这里有一个更好的方法来分类你的变量@Reeza-谢谢,我知道这更多的是一个统计问题,但我想知道SAS的细节。默认值不是REF,而是GLM。您的输出应该显示所使用的设计矩阵。这是一个解释问题,而不是得到一个实际的估计。通过设计,你不会得到估计,因为一切都与基准面有关。这不是SAS问题,而是统计问题,应该交叉验证。这里有一个更好的方法来分类你的变量@Reeza-谢谢,我知道这更多的是一个统计问题,但我想知道SAS的具体情况。
catvar = a => 1 0
catvar = b => 0 1
catvar = c => 0 0