Como criar uma curva roc no sas


A regressão logística é um método que podemos usar para ajustar um modelo de regressão quando a variável de resposta é binária.

Para avaliar quão bem um modelo de regressão logística se ajusta a um conjunto de dados, podemos observar as duas métricas a seguir:

  • Sensibilidade: probabilidade de o modelo prever um resultado positivo para uma observação quando o resultado é realmente positivo. Isso também é chamado de “taxa positiva verdadeira”.
  • Especificidade: a probabilidade de o modelo prever um resultado negativo para uma observação quando o resultado é realmente negativo. Isso também é chamado de “taxa verdadeiramente negativa”.

Uma maneira de visualizar essas duas medições é criar uma curva ROC , que significa curva “característica operacional do receptor”. Este é um gráfico que mostra a sensibilidade e especificidade de um modelo de regressão logística.

O exemplo passo a passo a seguir mostra como criar e interpretar uma curva ROC no SAS.

Etapa 1: crie o conjunto de dados

Primeiro, criaremos um conjunto de dados contendo informações sobre as seguintes variáveis para 18 alunos:

  • Aceitação em determinada faculdade (1 = sim, 0 = não)
  • GPA (escala de 1 a 4)
  • Pontuação ACT (escala de 1 a 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 ;

Passo 2: Ajustar o modelo de regressão logística e criar uma curva ROC

A seguir, usaremos proc Logistics para ajustar o modelo de regressão logística, usando “aceitação” como variável de resposta e “gpa” e “agir” como variáveis preditoras.

Especificaremos a diminuição para que o SAS saiba como prever a probabilidade de a variável resposta assumir o valor 1.

Também usaremos plots(only)=roc para criar a curva ROC para o modelo:

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

Curva ROC no SAS

Passo 3: Interprete a curva ROC

Quanto mais próxima a curva ROC estiver do canto superior esquerdo do gráfico, melhor o modelo prevê o valor dos valores de resposta no conjunto de dados.

No gráfico acima, podemos ver que a curva ROC azul tende a abraçar o canto superior esquerdo, indicando que o modelo de regressão logística está fazendo um bom trabalho ao prever o valor dos valores de resposta.

Para quantificar quão bem o modelo de regressão logística se ajusta aos dados, podemos calcular a AUC – área sob a curva – que nos diz quanto do gráfico está sob a curva.

Quanto mais próximo o AUC estiver de 1, melhor será o modelo. Um modelo com AUC igual a 0,5 não é melhor do que um modelo que faz classificações aleatórias.

Sob o título do gráfico acima, podemos ver que a AUC deste modelo é 0,9351 .

Como esse valor é próximo de um, isso confirma que o modelo prevê bem o valor dos valores de resposta.

Também podemos usar o valor AUC para comparar o ajuste de diferentes modelos de regressão logística.

Por exemplo, suponha que ajustemos dois modelos de regressão logística diferentes e calculemos os valores de AUC para cada um:

  • AUC do modelo 1: 0,9351
  • AUC do modelo 2: 0,8140

Como a AUC do Modelo 1 é maior, isso nos diz que o Modelo 1 faz um melhor trabalho de ajuste dos dados do que o Modelo 2.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns no SAS:

Como realizar regressão linear simples no SAS
Como realizar regressão linear múltipla no SAS
Como realizar regressão logística no SAS

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *