Curba ROC în SPSS

Pentru a înțelege acest concept vom defini mai întâi conceptele de sensibilitate și specificitate a unui fenomen.

Atunci când construim un model studiem legătura dintre predicție și răspuns. Pornind de la aceste concepte, putem avea patru posibilități când realizăm un model (inițialele codurilor provin din engleză TP – true positive, TN – true negative, FP – false positive, FN – false negative):

  • TP – Predicție pozitivă, răspuns pozitiv
  • TN – Predicție negativă, răspuns negativ
  • FP – Predicție pozitivă, răspuns negativ
  • FN – predicție negativă, răspuns pozitiv

Atunci vom defini:

  • Sensibilitatea = TP/(TP+FN) (cazurile de predictii pozitive supra cazurile cu răspunsuri pozitive)
  • Specificitatea = TN /(TN+FP) (cazurile de predictii negative supra cazurile cu răspunsuri negative)

Curba ROC (Receiver Operating Characteristics) este o curba bidimensională în care pe axa Y avem sensibilitatea și pe axa X avem specificitatea. Această curba ne ajută să măsurăm eficiența unui model. Cu cât aria de sub curbă este mai mare (maximul este 1) cu atât modelul este mai bun.

  • Aria > 0,9 – excelent
  • 0,9 > Aria > 0,8 – foarte bun
  • 0,8 > Aria > 0,7 – bun
  • 0,7 > Aria > 0,6 – corect (fair)
  • Aria < 0,6 – modelul se respinge

Curba ROC se folosește în medicină și de aceea exemplul ce-l voi da va fi din acest domeniu:

Fie un test (prin test se poate înțelege o serie de analize, rezultatul unui scor sau chiar prezența sau absența unor simptome) aplicat la 30 de pacienți. Fiecărei valori îi asociem o valoare binară 0 sau 1 corespunzătoare faptului că nu este prezentă boala, respectiv este prezentă. (Datele de mai jos sunt fictive și au rolul de a ajuta la înțelegerea folosirii acestui instrument).

mart_004

Pentru realiza curba ROC vom da un clic pe Analyze – ROC Curve și se va deschide fereastra:

mart_005

În fereastra Test Variable vom pune variabila scor iar la State Variable vom pune prez_boala. In fereastra Value of State Variable vom pune valoarea ce indică prezența bolii – în cazul nostru valoarea 1. Vom da un clic pe OK și vom obține fereastra Outputmart_006

Primul tabel conține o statistică descriptivă: număr de cazuri pozitive și număr de cazuri negative

mart_007

Ultimul tabel conține informații despre semnificabilitatea curbei.

mart_009

Aria este 0,950 deci modelul este excelent, lucru pe care-l putem observa și din analiza valoarii p = 0,000 (Asymptotic Sig). Ultimele 2 rubrici ale tablelului ne dau marginile intervalului de încredere.

SPSS – sortarea bazei de date

Fie o bază de date cu rezultatele la 6 teste obținute de 30 de elevi:

mart_001 la variabila Gen am notat cu 0 elevii și cu 1 elevele. Am dori ca să împărțim această bază de date în două: o primă parte în care să avem datele cu rezultatele elevelor și o a doua parte în care să avem rezultatele elevilor. Mai întâi vom sorta această bază de date după gen. Vom da un clic pe DataSort Cases. Va apărea fereastra:

mart_002

Am trecut variabila gen în fereastra Sort by, am lăsat opțiunea Ascending la Sort Order, apoi vom da un clic pe OK. Foaia din SPSS va arăta astfel:

mart_003