我想在SAS中执行Sequential(Hierarchical)回归,在那里我指定添加到模型中的变量集群。然后,我希望看到模型之间R2(R平方)的变化和重要性的F检验。
以下是我想要比较的模型的示例语法:
proc reg data=pt8;
Covariates: model y=jz lnWg iq;
Linear: model y=R RM jz lnWg iq;
Quadratic: model y=R RM RM2 R2 RInt jz lnWg iq;
run;
quit;
有没有办法使用ANOVA或内置前向选择,我可以指定我如何为"线性"模型添加变量({R,RM},然后{RM2} ,对于" Quadratic"模型),R2,RInt}?非常感谢您的语法。
答案 0 :(得分:1)
您可以使用include=
语句在转发选择时强制将某个变量强加到模型中。您可以使用ods output
语句获取模型的摘要表。确保您设置了ods graphics on
,noprint
中未使用PROC REG
。
proc reg data=pt8;
Covariates: model y=jz lnWg iq / selection = forward;
Linear: model y=R RM jz lnWg iq / selection = forward include=2;
Quadratic: model y=R RM RM2 R2 RInt jz lnWg iq / selection=forward include=5;
ods output SelectionSummary;
run;
include
是一个整数,它告诉PROC REG
将第一个 n 变量保留在模型中,然后对其余变量执行正向选择。您还将拥有一个名为SelectionSummary
的表,其中包含每个模型的拟合统计信息以及选择过程中的步骤。
或者,您可以使用大括号对变量进行分组,PROC REG
将它们全部视为一个,前提是它们满足一定的容差值并且不要使矩阵成为单数。如果是这种情况,它会自动删除破坏模型的变量。您可以选择使用groupnames=
为这些组命名。
proc reg data=pt8;
Covariates: model y=jz lnWg iq / selection = forward;
Linear: model y={R RM} jz lnWg iq / selection = forward;
Quadratic: model y={R RM RM2 R2 RInt} jz lnWg iq / selection=forward;
ods output SelectionSummary;
run;
如果您有要衡量的互动效果,PROC GLMSELECT
除PROC REG
之外还有更多选项,可用于添加或删除这些效果。不要忘记打开showpvalues
选项 - 这是他们默认不显示 p 值的唯一程序。什么,你的意思是你不知道每种类型的 F 分发的可能性? :)