0

背景:当我们测试一个已经编码为虚拟变量的分类变量的显着性时,我们需要同时测试所有虚拟变量为0。例如,如果X取0、1、2、3和4的值,I适合 1-4 级的虚拟变量(假设我希望 0 作为基线),然后想要同时测试 B1=B2=B3=B4=0。

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

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

问题/问题:我想知道如何在 SAS 中使用CONTRAST(或ESTIMATE?)语句来执行此操作,同时使用回归模型拟合PROC GLM.由于我已经搜索了互联网并且没有找到我正在寻找的东西,我猜我错过了一些非常明显的东西。但是,我看到的所有示例都不是针对分类 ( class) 变量,而是针对两个单独的(例如连续的)变量。在这种情况下,对比语句将简单地类似于

CONTRAST 'Contrast1' 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。我试图将其编码为CONTRAST语句(例如X在数据集中按降序排列:4-0):

CONTRAST 'Contrast' x -1 0 0 1 0
                    x -1 0 1 0 0
                    x 0 1 1 0 0;

我知道这是不正确的,我尝试了很多很多变体以及我能想出的任何随机逻辑。我的问题是我有相对新手级别的知识CONTRAST(不幸的是还没有找到很好的文档来帮助解决这个问题)以及这个假设检验应该如何为了估计而真正制定(我是否尝试将它分成几部分?就像我上面做的那样,或者......?)。

4

2 回答 2

2

PROC GENMOD从我上面的注释中,您实际上可以让 SAS使用CLASS声明和TYPE3规范为您执行此操作。

proc genmod data=input;
class classvar ;
model slope= classvar othervar/  type3;
run;
quit;

在上面的示例中,我的班级级别在classvar变量中。这othervar是我的另一个协变量。

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

于 2014-02-13T03:23:04.667 回答
0

另一种情况是PROC REG使用TESTTEST x1=0, x2=0, x3=0, x4=0例如),它没有回答我最初的问题,但如果为您的模型类型完成工作,这PROC GLM是一个选项。PROC REG

于 2014-02-13T18:16:06.843 回答