如何在 sas 中创建 roc 曲线


当响应变量是二元时,逻辑回归是我们可以用来拟合回归模型的方法。

为了评估逻辑回归模型对数据集的拟合程度,我们可以查看以下两个指标:

  • 敏感性:当结果实际上是积极的时,模型预测观察结果为积极的概率。这也称为“真阳性率”。
  • 特异性:当结果实际上为负时,模型预测观察结果为负的概率。这也称为“真负率”。

可视化这两个测量值的一种方法是创建ROC 曲线,它代表“接收器操作特性”曲线。该图显示逻辑回归模型的敏感性和特异性。

以下分步示例展示了如何在 SAS 中创建和解释 ROC 曲线。

第 1 步:创建数据集

首先,我们将为 18 名学生创建一个包含以下变量信息的数据集:

  • 被某所大学录取(1 = 是,0 = 否)
  • GPA(1 至 4 等级)
  • ACT 分数(1 至 36 分)
 /*create dataset*/
data my_data;
    input acceptance gpa act;
    datalines ;
1 3 30
0 1 21
0 2 26
0 1 24
1 3 29
1 3 34
0 3 31
1 2 29
0 1 21
1 2 21
0 1 15
1 3 32
1 4 31
1 4 29
0 1 24
1 4 29
1 3 21
1 4 34
;
run ;

步骤 2:拟合逻辑回归模型并创建 ROC 曲线

接下来,我们将使用proc Logistics来拟合逻辑回归模型,使用“acceptance”作为响应变量,“gpa”和“act”作为预测变量。

我们将指定递减,以便 SAS 知道如何预测响应变量取值 1 的概率。

我们还将使用plots(only)=roc为模型创建ROC 曲线:

 /*fit logistic regression model & create ROC curve*/
proc logistic data =my_data descending plots ( only )=roc;
  model acceptance = gpa act;
run ;

SAS 中的 ROC 曲线

第 3 步:解释 ROC 曲线

ROC 曲线越接近图的左上角,模型对数据集中响应值的预测效果就越好。

从上图中,我们可以看到蓝色的 ROC 曲线倾向于紧贴左上角,表明逻辑回归模型在预测响应值方面做得很好。

为了量化逻辑回归模型对数据的拟合程度,我们可以计算AUC (曲线下面积),它告诉我们有多少图位于曲线下。

AUC 越接近 1,模型越好。 AUC 等于 0.5 的模型并不比进行随机分类的模型更好。

在上面的图表标题下,我们可以看到该模型的 AUC 为0.9351

由于该值接近于 1,这证实了模型很好地预测了响应值的值。

我们还可以使用AUC值来比较不同逻辑回归模型的拟合程度。

例如,假设我们拟合两个不同的逻辑回归模型并计算每个模型的 AUC 值:

  • 模型1的AUC: 0.9351
  • 模型2的AUC: 0.8140

由于模型 1 的 AUC 较大,这表明模型 1 比模型 2 更好地拟合数据。

其他资源

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

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

添加评论

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