SAS顺序(分层)回归:模型之间R2的变化和F测试

时间:2015-11-03 18:06:46

标签: sas regression

我想在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}?非常感谢您的语法。

1 个答案:

答案 0 :(得分:1)

您可以使用include=语句在转发选择时强制将某个变量强加到模型中。您可以使用ods output语句获取模型的摘要表。确保您设置了ods graphics onnoprint中未使用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 GLMSELECTPROC REG之外还有更多选项,可用于添加或删除这些效果。不要忘记打开showpvalues选项 - 这是他们默认不显示 p 值的唯一程序。什么,你的意思是你知道每种类型的 F 分发的可能性? :)