如何在 sas 中使用 proc glmselect 语句


您可以使用 SAS 中的PROC GLMSELECT语句根据潜在预测变量列表选择最佳回归模型。

下面的例子展示了如何在实践中使用这个语句。

示例:如何在 SAS 中使用 PROC GLMSELECT 进行模型选择

假设我们想要拟合一个多元线性回归模型,该模型使用(1)学习时间、 (2)参加的准备考试数量和(3)性别来预测学生的最终成绩考试。

首先,我们将使用以下代码创建一个包含 20 名学生信息的数据集:

 /*create dataset*/
data exam_data;
    input hours prep_exams gender $score;
    datalines ;
1 1 0 76
2 3 1 78
2 3 0 85
4 5 0 88
2 2 0 72
1 2 1 69
5 1 1 94
4 1 0 94
2 0 1 88
4 3 0 92
4 4 1 90
3 3 1 75
6 2 1 96
5 4 0 90
3 4 0 82
4 4 1 85
6 5 1 99
2 1 0 83
1 0 1 62
2 1 0 76
;
run ;

/*view dataset*/
proc print data =exam_data;

接下来,我们将使用PROC GLMSELECT语句来识别生成最佳回归模型的预测变量子集:

 /*perform model selection*/
proc glmselect data =exam_data;
    classgender ;
    model score = hours prep_exams gender;
run ;

注意:我们在语句中包含性别,因为它是一个分类变量。

输出中的第一组表显示了 GLMSELECT 过程的概述:

我们可以看到,用于停止在模型中添加或删除变量的准则是SBC ,即施瓦茨信息准则,有时也称为贝叶斯信息准则

本质上, PROC GLMSELECT语句继续在模型中添加或删除变量,直到找到具有最低 SBC 值的模型,该模型被认为是“最佳”模型。

下面的一组表格显示了逐步选择是如何结束的:

我们可以看到仅包含原始项的模型的 SBC 值为93.4337

通过在模型中添加小时数作为预测变量,SBC 值降至70.4452

改进模型的最佳方法是添加性别作为预测变量,但这实际上将 SBC 值提高到了71.7383。

因此,最终模型仅包括截距项和研究时间。

结果的最后一部分显示了该拟合回归模型的摘要:

我们可以使用参数估计表中的值来编写拟合回归模型:

考试成绩 = 67.161689 + 5.250257(学习时间)

我们还可以看到各种指标来告诉我们这个模型与数据的拟合程度:

R 方值告诉我们考试成绩的变化百分比,可以通过学习的小时数和参加的准备考试的次数来解释。

在这种情况下, 72.73%的考试成绩差异可以通过学习时数和参加预科考试的次数来解释。

了解Root MSE值也很有用。这表示观测值与回归线之间的平均距离。

在这个回归模型中,观测值与回归线平均偏离5.28052个单位。

注意:有关可与PROC GLMSELECT一起使用的潜在参数的完整列表,请参阅SAS 文档

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

如何在 SAS 中执行简单线性回归
如何在 SAS 中执行多元线性回归
如何在 SAS 中执行多项式回归
如何在 SAS 中执行逻辑回归

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注