背景:当我们测试已编码为虚拟变量的分类变量的重要性时,我们需要同时测试所有虚拟变量为0.例如,如果 X 取0,1,2,3和4的值,我将适合1-4级的虚拟变量(假设我想要0为基线),然后想要同时测试B1 = B2 = B3 = B4 = 0 。
如果这是我数据集中唯一的变量,我可以使用整体 F -statistic来实现这一目标。但是,如果我有其他协变量,整体 F - 测试不起作用。
例如,在Stata中,这是(非常,非常)简单地由testparm
命令执行的:
testparm i.x
(在拟合了所需的回归模型之后),i.
前缀告诉Stata X 是一个被视为虚拟变量的分类数据。
问题/问题:我想知道如何使用CONTRAST
(或ESTIMATE
?)语句在SAS中执行此操作,同时使用{{拟合回归模型1}}因为我已经浏览过互联网而没有找到我正在寻找的东西,我猜我错过了一些非常明显的东西。但是,我看到的所有示例都不是分类(PROC GLM.
)变量,而是两个独立的(比如连续的)变量。在这种情况下,对比语句就像是
class
否则,它们用于计算假设,如H_0:B1-B2 = 0。
我觉得我需要将假设分解成更小的部分并确定定义整个关系的集合,但我没有正确地做到这一点。例如,对于B1 = B2 = B3 = B4 = 0,我想我可能会说B1 = B2 = B3 = -B4,然后定义(1)B1 = -B4,(2)B2 = -B4和(3)B2 = B3。我试图将此代码编码为CONTRAST 'Contrast1' y 1 z 1;
语句(例如 X 在数据集中按降序排列:4-0):
CONTRAST
我知道这是不正确的,我尝试了很多很多变化以及我能想到的任何随机逻辑。我的问题是我有CONTRAST 'Contrast' x -1 0 0 1 0
x -1 0 1 0 0
x 0 1 1 0 0;
的相对新手级别的知识(并且遗憾的是没有找到很好的文档来帮助解决这个问题)以及为了估计而应该如何制定这个假设检验(我是否尝试过像我上面那样把它分成几块,或者......?)。
答案 0 :(得分:2)
从上面的注释中,您实际上可以通过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。
答案 1 :(得分:0)
PROC REG
与TEST
合作的另一种情况(TEST x1=0, x2=0, x3=0, x4=0
,例如),它没有回答我PROC GLM
的初始问题,但如果{{{} 1}}为您的模型类型完成工作。