Sas PROC GLM中具有两个以上级别的类变量的对比度

Sas PROC GLM中具有两个以上级别的类变量的对比度,sas,contrast,categorical-data,Sas,Contrast,Categorical Data,背景:当我们测试编码为虚拟变量的分类变量的显著性时,我们需要同时测试所有虚拟变量是否为0。例如,如果X的值为0、1、2、3和4,我将为级别1-4拟合虚拟变量(假设我希望0为基线),然后同时测试B1=B2=B3=B4=0 如果这是我的数据集中唯一的变量,我可以使用总体F统计来实现这一点。然而,如果我有其他的协变量,整体F检验就不起作用 例如,在Stata中,这(非常非常)简单地由testparm命令执行,如下所示: testparm i.x(在拟合所需的回归模型之后),其中i.前缀告诉Stata

背景:当我们测试编码为虚拟变量的分类变量的显著性时,我们需要同时测试所有虚拟变量是否为0。例如,如果X的值为0、1、2、3和4,我将为级别1-4拟合虚拟变量(假设我希望0为基线),然后同时测试B1=B2=B3=B4=0

如果这是我的数据集中唯一的变量,我可以使用总体F统计来实现这一点。然而,如果我有其他的协变量,整体F检验就不起作用

例如,在Stata中,这(非常非常)简单地由
testparm
命令执行,如下所示:
testparm i.x
(在拟合所需的回归模型之后),其中
i.
前缀告诉Stata x是一个要作为伪变量处理的分类数据

问题/问题:我想知道如何在SAS中用
对比度
(或
估计值
?)语句来实现这一点,同时用
过程GLM拟合回归模型。
因为我搜索了互联网,还没有找到我要找的东西,我猜我遗漏了一些非常明显的东西。然而,我看到的所有示例都不是针对分类(
class
)变量,而是两个独立的(比如连续的)变量。在这种情况下,对比声明应该是

对比度“对比度1”y 1 z 1

否则,它们用于计算假设,如H_0:B1-B2=0

我觉得我需要把假设分解成更小的部分,并确定定义整个关系的集合,但我做得不对。例如,对于B1=B2=B3=B4=0,我想我可能会说B1=B2=B3=-B4,然后定义(1)B1=-B4,(2)B2=-B4和(3)B2=B3。我试图将其编码为
对比
语句(假设X在数据集中按降序排列:4-0):


我知道这是不正确的,我尝试了很多,很多的变化和任何随机逻辑,我可以想出。我的问题是,我对对比度(不幸的是,我还没有找到很好的文档来帮助我)以及这个假设检验应该如何为估计而制定(我是像上面那样尝试把它分成几部分,还是…?)有着相对初级的知识,实际上,您可以通过
PROC GENMOD
CLASS
语句以及
TYPE3
规范让SAS为您完成这项工作

proc genmod data=input;
class classvar ;
model slope= classvar othervar/  type3;
run;
quit;
在上面的示例中,我的类级别位于
classvar
变量中。
othervar
是我的另一个协变量


在输出的末尾,您会看到一个标签为
LR Statistics For Type 3 Analysis
的表。
classvar
的行是所有类效应的LR测试=0。

另一种情况是
PROC REG
test
一起工作(
test x1=0,x2=0,x3=0,x4=0),它没有回答我对
PROC GLM
的最初问题,但是,如果
PROC REG
为您的型号完成了工作,则这是一个选项

你能使用LR测试吗?我很确定你可以使用GLM进行MLE,并从拟合中获得对数似然,无论是否使用伪变量。谢谢你的回答,我愿意使用其他程序。然而,我只是想知道使用对比语句的更“一般”的方式,以便理论上我可以用任何支持对比语句的过程来完成测试。我从来没有实际使用过对比语句,所以我不能给出建议。
proc genmod data=input;
class classvar ;
model slope= classvar othervar/  type3;
run;
quit;