Come creare una curva roc in sas


La regressione logistica è un metodo che possiamo utilizzare per adattare un modello di regressione quando la variabile di risposta è binaria.

Per valutare quanto bene un modello di regressione logistica si adatta a un set di dati, possiamo esaminare i due parametri seguenti:

  • Sensibilità: probabilità che il modello preveda un risultato positivo per un’osservazione quando il risultato è effettivamente positivo. Questo è anche chiamato il “vero tasso positivo”.
  • Specificità: la probabilità che il modello preveda un risultato negativo per un’osservazione quando il risultato è effettivamente negativo. Questo è anche chiamato “vero tasso negativo”.

Un modo per visualizzare queste due misurazioni è creare una curva ROC , che sta per curva “caratteristica operativa del ricevitore”. Questo è un grafico che mostra la sensibilità e la specificità di un modello di regressione logistica.

Il seguente esempio passo passo mostra come creare e interpretare una curva ROC in SAS.

Passaggio 1: crea il set di dati

Innanzitutto, creeremo un set di dati contenente informazioni sulle seguenti variabili per 18 studenti:

  • Accettazione in un determinato college (1 = sì, 0 = no)
  • GPA (scala da 1 a 4)
  • Punteggio ACT (scala da 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 ;

Passaggio 2: adattare il modello di regressione logistica e creare una curva ROC

Successivamente, utilizzeremo la logistica di processo per adattare il modello di regressione logistica, utilizzando “accettazione” come variabile di risposta e “gpa” e “agire” come variabili predittive.

Specificheremo decrescente in modo che SAS sappia come prevedere la probabilità che la variabile di risposta assuma il valore 1.

Utilizzeremo anche plots(only)=roc per creare la curva ROC per il modello:

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

Curva ROC in SAS

Passaggio 3: interpretare la curva ROC

Quanto più la curva ROC si avvicina all’angolo in alto a sinistra del grafico, tanto meglio il modello prevede il valore dei valori di risposta nel set di dati.

Dal grafico sopra, possiamo vedere che la curva ROC blu tende ad abbracciare l’angolo in alto a sinistra, indicando che il modello di regressione logistica sta facendo un buon lavoro nel prevedere il valore dei valori di risposta.

Per quantificare quanto bene il modello di regressione logistica si adatta ai dati, possiamo calcolare l’ AUC – area sotto la curva – che ci dice quanta parte del grafico si trova sotto la curva.

Più l’AUC è vicino a 1, migliore è il modello. Un modello con un’AUC pari a 0,5 non è migliore di un modello che esegue classificazioni casuali.

Sotto il titolo del grafico sopra, possiamo vedere che l’AUC di questo modello è 0,9351 .

Poiché questo valore è vicino a uno, ciò conferma che il modello prevede bene il valore dei valori di risposta.

Possiamo anche utilizzare il valore AUC per confrontare l’adattamento di diversi modelli di regressione logistica.

Ad esempio, supponiamo di adattare due diversi modelli di regressione logistica e di calcolare i valori AUC per ciascuno:

  • AUC del modello 1: 0,9351
  • AUC del modello 2: 0,8140

Poiché l’AUC del Modello 1 è maggiore, ciò ci dice che il Modello 1 fa un lavoro migliore nell’adattare i dati rispetto al Modello 2.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in SAS:

Come eseguire una regressione lineare semplice in SAS
Come eseguire la regressione lineare multipla in SAS
Come eseguire la regressione logistica in SAS

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *