首页 > 解决方案 > 线性回归:使用 SAS 查找重要的类变量

问题描述

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

我使用的数据集包括教授的整体素质(因变量)并具有以下自变量:性别、numYears、胡椒、纪律、容易程度和 rateInterest。

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

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

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

GLM 程序

从这些结果中,我可以看出轻松、利率、胡椒和纪律是显着的;但是,我想看看胡椒和纪律的哪些具体价值是重要的。例如,辣椒被学生回答为“是”或“否”。我想看看质量是否与胡椒或胡椒特别相关。谁能给我一些关于如何更改我的代码以返回类变量细分的建议?

这里也是数据集的链接,以防需要参考: https: //drive.google.com/file/d/1Kc9cb_n-l7qwWRNfzXtZi5OsiY-gsYZC/view?usp= sharing Rateprof

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

标签: sasregressionlinear-regressionp-value

解决方案


在您的语句中添加solution选项以model分解每个类变量的统计信息;但是,参考参数化在 中不可用proc glm,并且会导致有偏差的估计。有一些方法可以继续使用proc glm,但最简单的解决方案是proc glmselect改用。proc 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;

在此处输入图像描述

对此的解释是:

所有其他变量保持不变,与男性相比,女性对质量评级的影响为 -0.046782 个单位。这个变量在统计上不显着。

每个等级的细分是与参考值的比较。默认情况下,选择的参考值是所有类值内部排序后的最后一级。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;

推荐阅读