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 ;
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