线性回归:使用 SAS 查找重要 Class 变量

Linear Regression: Finding Significant Class Variables Using SAS

我正在尝试使用 SAS 来解决一个非常基本的回归问题,但我无法获得完整的结果集。

我使用的数据集包括教授的整体素质(因变量)并具有以下自变量:性别、numYears、pepper、discipline、easiness 和 rateInterest。

我正在使用下面的代码生成数据集的分析:

proc glm data=WORK.IMPORT;
    class gender pepper discipline;
    model quality = gender numYears pepper discipline easiness raterInterest;
run;

我得到了以下结果,这主要是我需要的,除了我想确切地看到来自 class 变量(性别、胡椒、纪律)的哪些响应是重要的。

从这些结果中,我可以看出 easiness、rateInterest、pepper 和 discipline 是显着的;但是,我想看看 pepper 和 discipline 的哪些具体值很重要。例如,胡椒被学生回答为 'yes' 或 'no'。我想看看质量是否特别与 pepperyes 或 pepperno 相关。谁能给我一些关于如何将我的代码更改为 return class 变量细分的建议?

这里还有一个link数据集,以备不时之需参考: https://drive.google.com/file/d/1Kc9cb_n-l7qwWRNfzXtZi5OsiY-gsYZC/view?usp=sharingRateprof

我真的非常感谢任何帮助!

solution 选项添加到您的 model 语句以分解每个 class 变量的统计信息;然而,参考参数化在 proc glm 中不可用,并且会导致有偏差的估计。有多种方法可以继续使用 proc glm,但最简单的解决方案是改为使用 proc glmselectproc glmselect 允许您指定参考参数化。使用 selection=none 选项禁用变量选择。

proc glmselect data=WORK.IMPORT;
    class gender(ref='female') pepper discipline / param=reference;
    model quality = gender numYears pepper discipline easiness raterInterest / selection=none;
run;

对此的解释是:

All other variables held constant, females affect the quality rating by -0.046782 units compared to males. This variable is not statistically significant.

每个 class 级别的细分是与参考值的比较。默认情况下,选择的参考值是所有 class 值在内部排序后的最后一级。您可以在每个 class 变量后使用 ref= 选项指定引用。例如,如果您想使用女性而不是男性作为参考值:

proc glmselect data=WORK.IMPORT;
    class gender(ref='female') pepper discipline;
    model quality = gender numYears pepper discipline easiness raterInterest / selection=none;
run;

请注意,您也可以使用 prox mixed 执行此操作。对于这个特定目的,首选项取决于您根据您喜欢的输出样式。 proc mixed 是一种更灵活的 运行 回归方法,但在这里会有点矫枉过正。

proc mixed data=import;
    class gender pepper discipline;
    model quality = gender numYears pepper discipline easiness raterInterest / solution;
run;