Visualizzazione post con etichetta epiR. Mostra tutti i post
Visualizzazione post con etichetta epiR. Mostra tutti i post

domenica 14 luglio 2019

Sensibilità, specificità e valore predittivo

Nel post Teorema di Bayes e diagnosi medica abbiamo visto che è possibile impiegare il teorema per rispondere alle due domande: quale probabilità ha di essere affetto da una specifica malattia un soggetto cui un dato test per quella specifica malattia è risultato positivo? quale probabilità ha di essere sano un soggetto cui il test è risultato negativo?

Nel post Curve ROC e valore soglia abbiamo visto, dati i risultati di un test per la diagnosi di una malattia X, come impiegare il pacchetto pROC per tracciare la curva ROC [1] e individuare il valore soglia che consente di classificare correttamente il maggior numero possibile di soggetti sani (VN) e di classificare correttamente il maggior numero possibile di soggetti malati (VP), minimizzando sia la possibilità di sbagliare classificando dei soggetti malati come sani (FN) sia la possibilità di sbagliare classificando dei soggetti sani come malati (FP). Dato il valore soglia individuato, risultano conseguentemente fissate la sensibilità e la specificità del test.


Ora impieghiamo il pacchetto epiR per calcolare le probabilità che rispondono alle due domande e cioè:
 il valore predittivo di un test positivo, ovvero la probabilità di essere malato per un soggetto che presenta un test positivo, che risponde alla prima domanda
 il valore predittivo di un test negativo, ovvero la probabilità di essere sano per un soggetto che presenta un test negativo, che risponde alla seconda domanda.

Si stabilisce se il test è positivo o negativo impiegando il valore soglia individuato, quindi si calcola il valore predittivo del test impiegando:
la sensibilità del test, cioè la probabilità che il test sia positivo in un soggetto malato;
la specificità del test, cioè la probabilità che il test sia negativo in un soggetto sano;
la prevalenza, cioè la probabilità della malattia.

La sensibilità e la specificità sono caratteristiche intrinseche al test, dipendono dal valore soglia individuato e sono indipendenti dalla prevalenza, che è invece una caratteristica della popolazione alla quale il test viene applicato.

Notare che la prevalenza, cioè la probabilità della malattia nella popolazione alla quale il test viene applicato, è la probabilità a priori della malattia, ovvero la probabilità per un dato paziente di essere malato (o sano) prima di avere eseguito il test. Il teorema di Bayes impiega la probabilità a priori (nel nostro caso la prevalenza della malattia), insieme a sensibilità e specificità del test, per calcolare la probabilità a posteriori, ovvero la probabilità per un dato paziente di essere malato (o sano) dopo avere eseguito il test (il valore predittivo del test positivo o del test negativo).

Notare inoltre che nella (iii) del post Teorema di Bayes e diagnosi medica:
P(T+|M+)/P(T+) è una costante e rappresenta l'evidenza fornita dai fatti (nel nostro caso il risultato del test per la diagnosi della malattia)
P(M+) è l'informazione/probabilità a priori
P(M+|T+) è l'informazione/probabilità a posteriori

Pertanto il teorema può essere riscritto come

probabilità a posteriori = evidenza · probabilità a priori

espressione che sintetizza l'essenza del teorema di Bayes: che consente di aggiornare l'informazione in nostro possesso, la probabilità a priori, sulla base dell'evidenza fornita dai fatti.

Mentre i calcoli eseguiti impiegando i valori di probabilità sono riportati nell'appendice al termine del post, vediamo qui i calcoli eseguiti impiegando il numero di casi osservati, organizzati in questo modo


Malattia +
Malattia -
Test +
VP
FP
Test -
FN
VN

e definiti come [2]:
veri positivi (VP), i soggetti malati con il test positivo;
falsi positivi (FP), i soggetti sani con il test positivo;
falsi negativi (FN), i soggetti malati con il test negativo;
veri negativi (VN), i soggetti sani con il test negativo.

Supponiamo ora (primo esempio) che il test per una data malattia sia stato eseguito in 800 soggetti sani, dipendenti di un Ospedale, impiegati come controlli, e in 800 malati, che sono stati raccolti in numero così elevato in quanto nell'Ospedale esiste un Reparto che si occupa specificamente di questa malattia. Questa è la tabella con i risultati del test


Malattia +
Malattia -
Test +
700 (VP)
44 (FP)
Test -
100 (FN)
756 (VN)

I calcoli sono effettuati mediante il pacchetto aggiuntivo epiR [3] che deve essere preventivamente scaricato dal CRAN. Copiate questo script, incollatelo nella Console di R e premete ↵ Invio:

# SENSIBILITA', SPECIFICITA' E VALORE PREDITTIVO
#
library(epiR) # carica il pacchetto
cells <- c(700,44,100,756) # genera l'array cells con i valori numerici contenuti nelle celle
rnames <- c("Test +", "Test -") # genera l'array rnames con i nomi delle righe
cnames <- c("Malattia +", "Malattia -") # genera l'array cnames con i nomi delle colonne
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE, dimnames=list(rnames, cnames)) # costruisce la matrice dati mymatrix a partire dagli array cells, rnames, cnames
mymatrix # mostra la matrice dati mymatrix
mystat <- epi.tests(mymatrix, conf.level=0.95) # calcola le statistiche
summary(mystat) # mostra le statistiche
#

Con la funzione c() [4] sono generati gli array che mediante l'operatore di assegnamento <- vengono denominati cells, rnames, cnames e che ora contengono rispettivamente i dati (cells), i nomi delle righe (rnames) e i nomi delle colonne (cnames).

Quindi mediante la funzione matrix() [5] gli array sono combinati nella matrice mymatrix di 2 righe (nrow=2) per due colonne (ncol=2) inserendo i valori per riga (byrow=TRUE) e quindi da sinistra a destra e dall'alto in basso ottenendo la matrice desiderata alla quale con l'ultimo argomento (dimnames=list(rnames, cnames)) sono assegnati i nomi alle righe e alle colonne.

Questo è il contenuto dell'oggetto mymatrix riportato da R con il comando mymatrix:

> mymatrix # mostra la matrice dati mymatrix
       Malattia + Malattia -
Test +        700         44
Test -        100        756

Impiegando la funzione epi.test() sono infine calcolate sui dati contenuti in mymatrix le statistiche, ciascuna con l'intervallo di confidenza al 95% (conf.level=0.95), e i risultati sono riportati con la funzione summary():

> summary(mystat) # mostra le statistiche
   statistic          est       lower        upper
1         ap   0.46500000  0.44033136   0.48979728
2         tp   0.50000000  0.47520704   0.52479296
3         se   0.87500000  0.85006839   0.89712668
4         sp   0.94500000  0.92686534   0.95975609
5    diag.ac   0.91000000  0.89490175   0.92357301
6    diag.or 120.27272727 83.14513765 173.97925284
7       nndx   1.21951220  1.16702078   1.28711106
8     youden   0.82000000  0.77693373   0.85688277
9     pv.pos   0.94086022  0.92141771   0.95670377
10    pv.neg   0.88317757  0.85974563   0.90393102
11    lr.pos  15.90909091 11.92293523  21.22792488
12    lr.neg   0.13227513  0.11003359   0.15901245
13    p.rout   0.53500000  0.51020272   0.55966864
14     p.rin   0.46500000  0.44033136   0.48979728
15    p.tpdn   0.05500000  0.04024391   0.07313466
16    p.tndp   0.12500000  0.10287332   0.14993161
17    p.dntp   0.05913978  0.04329623   0.07858229
18    p.dptn   0.11682243  0.09606898   0.14025437

Le prime 12 statistiche calcolate sono quelle che ci interessano, riportiamo (tra parentesi) il significato della sigla, le formule con cui sono calcolate e il risultato numerico ottenuto (est) con il limite inferiore (lower) e il limite superiore (upper) del relativo intervallo di confidenza al 95% (le statistiche da 13 a 18 riguardano l'outcome cioè il risultato, e non le consideriamo).

ap (prevalenza apparente, soggetti con il test positivo)
(VP+FP)/(VP+FP+FN+VN) = 0.4650000 (0.4403314 - 0.4897973)

tp (prevalenza reale, soggetti con la malattia)
(VP+FN)/(VP+FP+FN+VN) = 0.5000000 (0.4752070 - 0.5247930)

se (sensibilità, positività nei malati)
VP/(VP+FN) = 0.8750000 (0.8500684 - 0.8971267)

sp (specificità, negatività nei sani)
VN/(VN+FP) = 0.9450000 (0.9268653 - 0.9597561)

diag.ac (accuratezza diagnostica)
(VP+VN)/(VP+FP+FN+VN) = 0.9100000 (0.8949017 - 0.9235730)

diag.or (odd ratio)
rapporto LR+/LR- = 120.2727273 (83.1451376 - 173.9792528)

nndx (numero necessario per la diagnosi)
1/(sensibilità - (1 - specificità)) = 1.2195122 (1.1670208 - 1.2871111)

youden (indice di Youden)
sensibilità + specificità - 1 = 0.8200000 (0.7769337 - 0.8568828)

pv.pos (valore predittivo di un test positivo)
VP/(VP+FP) = 0.9408602 (0.9214177 - 0.9567038)

pv.neg (valore predittivo di un test negativo)
VN/(VN+FN) = 0.8831776 (0.8597456 - 0.9039310)

lr.pos (rapporto di verosimiglianza LR+ per un test positivo) [6]
(VP/(VP+FN))/(FP/(FP+VN)) = 15.9090909 (11.9229352 - 21.2279249)

lr.neg (rapporto di verosimiglianza LR- per un test negativo) [6]
(FN/(VP+FN))/(VN/(FP+VN)) = 0.1322751 (0.1100336 - 0.1590125)

La conclusione è che il valore predittivo di un test positivo, ovvero la probabilità di essere malato per un soggetto al quale il test è risultato positivo, è uguale al 94.1% e il valore predittivo di un test negativo, ovvero la probabilità di essere sano per un soggetto al quale il test è risultato negativo, è uguale all'88.3%.

Nel caso appena esaminato la prevalenza della malattia è del 50%, un valore che è dipeso dalle modalità di raccolta dei dati: per valutare adeguatamente il test è stato raccolto il maggior numero possibile di malati, un fatto che non riflette la reale diffusione della malattia. Ora supponiamo che il test venga applicato per valutare lo stato di salute di un individuo della popolazione generale, nella quale la reale diffusione della malattia, la sua prevalenza, è del 2%. I dati (secondo esempio) sono questi:


Malattia +
Malattia -
Test +
14 (VP)
44 (FP)
Test -
2 (FN)
756 (VN)

Copiate questo script, identico al precedente tranne che per il fatto che contiene i nuovi dati, incollatelo nella Console di R e premete ↵ Invio:

# SENSIBILITA', SPECIFICITA' E VALORE PREDITTIVO
#
library(epiR) # carica il pacchetto
cells <- c(14,44,2,756) # genera l'array cells con i valori numerici contenuti nelle celle
rnames <- c("Test +", "Test -") # genera l'array rnames con i nomi delle righe
cnames <- c("Malattia +", "Malattia -") # genera l'array cnames con i nomi delle colonne
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE, dimnames=list(rnames, cnames)) # costruisce la matrice dati mymatrix a partire dagli array cells, rnames, cnames
mymatrix # mostra la matrice dati mymatrix
mystat <- epi.tests(mymatrix, conf.level=0.95) # calcola le statistiche
summary(mystat) # mostra le statistiche
#

Questi sono i dati contenuti nell'oggetto mymatrix

> mymatrix # mostra la matrice dati mymatrix
            Malattia + Malattia -
Test +         14         44
Test -          2        756

e questi sono, riportati con la funzione summary(), i risultati calcolati con la funzione epi.test(), ciascuno con l'intervallo di confidenza al 95% (conf.level=0.95)

> summary(mystat) # mostra le statistiche
   statistic           est         lower         upper
1         ap   0.071078431  0.0544119039   0.090919329
2         tp   0.019607843  0.0112480876   0.031647030
3         se   0.875000000  0.6165237632   0.984486396
4         sp   0.945000000  0.9268653430   0.959756088
5    diag.ac   0.943627451  0.9255197857   0.958436211
6    diag.or 120.272727273 26.5044169172 545.778047894
7       nndx   1.219512195  1.0590499968   1.840301892
8     youden   0.820000000  0.5433891062   0.944242484
9     pv.pos   0.241379310  0.1387012000   0.371689716
10    pv.neg   0.997361478  0.9905015414   0.999680303
11    lr.pos  15.909090909 11.3036587611  22.390907130
12    lr.neg   0.132275132  0.0361754961   0.483661941
13    p.rout   0.928921569  0.9090806715   0.945588096
14     p.rin   0.071078431  0.0544119039   0.090919329
15    p.tpdn   0.055000000  0.0402439118   0.073134657
16    p.tndp   0.125000000  0.0155136038   0.383476237
17    p.dntp   0.758620690  0.6283102838   0.861298800
18    p.dptn   0.002638522  0.0003196972   0.009498459

Si nota immediatamente che quando la prevalenza della malattia diminuisce dal 50% al 2% (precisamente diventa 1.96%)

                 est       lower        upper
tp        0.5000000   0.4752070    0.5247930 [primo esempio]
tp       0.01960784  0.01124809   0.03164703 [secondo esempio]

il valore predittivo del test positivo diminuisce passando dal 94.1% al 24.1%

                 est       lower        upper
pv.pos    0.9408602   0.9214177    0.9567038  [primo esempio]
pv.pos    0.24137931  0.13870120   0.37168972 [secondo esempio]

e il valore predittivo del test negativo aumenta passando da 88.3% a 99.7%

                 est       lower        upper
pv.neg    0.8831776   0.8597456    0.9039310  [primo esempio]
pv.neg    0.99736148  0.99050154   0.99968030 [secondo esempio]

Mentre sensibilità e specificità non cambiano al cambiare della popolazione alla quale un test diagnostico viene applicato, in quanto sono caratteristiche intrinseche al test, la prevalenza della malattia non dipende dal test, ma è una caratteristica della popolazione alla quale il test viene applicato, e può cambiare notevolmente. Per esempio la prevalenza della malaria in Italia è diversa da quella che si ha nei paesi dell'Africa equatoriale; la prevalenza della malattia reumatica nei pazienti che accedono all'ambulatorio di un medico generico è differente dalla prevalenza della malattia reumatica nei pazienti ricoverati in un Reparto ospedaliero specializzato nella cura di questa malattia; la prevalenza del cancro al polmone è differente nei soggetti fumatori rispetto ai soggetti non fumatori; e così via. E questo cambia il valore predittivo del test in quanto al diminuire della prevalenza della malattia, cioè della probabilità a priori di malattia, diminuisce il valore predittivo del test positivo (la probabilità a posteriori di malattia in un soggetto cui il test è risultato positivo), e aumenta il valore predittivo del test negativo (la probabilità a posteriori di non-malattia in un soggetto cui il test è risultato negativo) [7].

Questo è un punto cruciale, e rende conto del perché in molte situazioni di bassa prevalenza un test sia utile, e venga impiegato, soprattutto per escludere una malattia. Mentre il teorema di Bayes mostra (e non solo in campo medico) come e quanto l'incertezza delle nostre conclusioni può essere ridotta grazie all'informazione/evidenza fornita dai fatti, e R fornisce opportuni strumenti di calcolo.


----------

[1] Abbiamo anche visto in un altro post come sovrapporre due Curve ROC sovrapposte.

[2] Gerhardt W, Keller H. Evaluation of test data from clinical studies. Scand J Clin Lab Invest, 46, 1986 (supplement 181).
https://www.tandfonline.com/doi/pdf/10.1080/00365518709168461

[3] Package ‘epiR’.
https://cran.r-project.org/web/packages/epiR/index.html

[4] Digitate help(c) nella Console di R per la documentazione della funzione c().

[5] Digitate help(matrix) nella Console di R per la documentazione della funzione matrix.

[6] Deeks JJ, Altman DG. Diagnostic tests 4: likelihood ratios. BMJ 2004;329;168-169.
https://www.bmj.com/content/329/7458/168.full

[7] Per i temi trattati nei post sul teorema di Bayes vedere Altman, Federspil, Galen, Gerhardt, Gigerenzer, Gill, Motterlini e Nordenström nella pagina Bibliografia.


APPENDICE

Si vuole dimostrare che i risultati ottenuti sopra con i conteggi dei casi sono identici a quelli ottenuti impiegando il teorema di Bayes con i valori di probabilità e le espressioni (iv) per il valore predittivo del test positivo e (v) per il valore predittivo del test negativo (vedi post Teorema di Bayes e diagnosi medica).

Primo esempio riportato sopra: abbiamo sensibilità del test 0.875, specificità del test 0.945 e prevalenza della malattia 0.50.

Valore predittivo del test positivo

                              P(T+|M+) · P(M+)
P(M+|T+) = —————————————————— (iv)
                   P(T+|M+) · P(M+) + P(T+|M-) · P(M-)

che si legge come

                                        sensibilità · prevalenza
P(M+|T+) = ———————————————————————————
                   sensibilità · prevalenza + (1 – specificità) · (1 - prevalenza)

quindi il valore predittivo del test positivo è uguale a

                              0.875 · 0.50
P(M+|T+) = —————————————— = 0.9408602 
                   (0.875 · 0.50) + (0.055 · 0.50)

Valore predittivo del test negativo

                               P(T-|M-) · P(M-)
P(M-|T-) = —————————————————— (v)
                 P(T-|M-) · P(M-) + P(T-|M+) · P(M+)

che si legge come

                                   specificità · (1 – prevalenza)
P(M-|T-) = ————————————————————————————
                 specificità · (1 – prevalenza) + (1 – sensibilità) · prevalenza

quindi il valore predittivo del test negativo è uguale a

                            0.945 · 0.50
P(M-|T-) = —————————————— = 0.8831776 
                 (0.945 · 0.50) + (0.125 · 0.50)


Secondo esempio riportato sopra: abbiamo sensibilità del test 0.875, specificità del test 0.945 e prevalenza della malattia 0.01969784.

Valore predittivo del test positivo

                                     0.875 · 0.01960784
P(M+|T+) = ————————————————————— = 0.24137928 
                   (0.875 · 0.01960784) + (0.055 · 0.98039216)

Valore predittivo del test negativo

                                    0.945 · 0.98039216
P(M-|T-) = ———————————————————— = 0.99736148 
                 (0.945 · 0.98039216) + (0.125 · 0.01960784)

I risultati del valore predittivo ottenuti impiegando i conteggi dei casi sono identici a quelli ottenuti impiegando il teorema di Bayes con i valori di probabilità, come volevasi dimostrare.

----------


domenica 16 dicembre 2018

Teorema di Bayes e diagnosi medica

Si consideri uno schema come il seguente nel quale C rappresenta una delle tante cause osservabili, E rappresenta uno dei tanti effetti osservabili, e le frecce dirette dalla causa all’effetto rappresentano i rapporti di causa/effetto.


Il "problema classico" della probabilità può essere risolto applicando la logica deduttiva. Conoscendo la causa, possiamo da questa dedurre gli effetti corrispondenti: così sapendo che un dado ha sei facce, quindi conoscendo la causa, possiamo da questa dedurre la probabilità che ha una specifica faccia di comparire al prossimo lancio del dado (l'effetto). La soluzione del cosiddetto "problema inverso", ovvero l’induzione, è più difficile, in quanto lo stesso effetto può essere determinato da più cause, tra loro indipendenti. Il teorema di Bayes [1] consente, a partire dall'effetto osservato, di calcolare la verosimiglianza delle cause – espressa nel solo modo possibile, cioè in termini di probabilità.

Il teorema di Bayes trova applicazione in tutti i campi, qui vediamo quello della diagnostica medica. La quale prevede che sulla base della conoscenza medica – la conoscenza delle malattie (le cause) e dei rispettivi sintomi e segni (gli effetti) – in uno specifico paziente si debba invertire il processo logico e risalire dai sintomi e dai segni presenti (gli effetti) alla malattia (la causa) che li ha determinati. Compito sovente non facile visto che il più delle volte i medesimi effetti possono essere determinati da differenti cause.

Per affrontare il tema sono necessarie alcune definizioni.

La probabilità marginale che si verifichi l’evento A è

P(A)

e si legge semplicemente "la probabilità di A". Dal punto di vista numerico la probabilità marginale di un evento è un numero positivo compreso tra 0 (evento che non accade mai) e 1 (evento certo) ovvero
0 P(A) 1

Corollario: la probabilità che non si verifichi l’evento A è

P(nonA) = 1 – P(A)

La probabilità condizionata
P(A|B)

è la probabilità di un evento A condizionata ad un evento B, ovvero è la probabilità che si verifichi A a condizione che si sia verificato B e si legge "la probabilità di A, dato B" ovvero "la probabilità di A condizionata a B"

La probabilità congiunta
P(A B)

è la probabilità di due eventi congiunti, ovvero è la probabilità che si verifichino sia A sia B, e si legge "la probabilità congiunta di A e B" ovvero "la probabilità di A e B". La probabilità congiunta può essere meglio compresa facendo riferimento al diagramma seguente:


La relazione fra probabilità condizionata e probabilità congiunta è la seguente:

P(A B) = P(A|B) P(B)    (i)

ma poiché la probabilità congiunta deve necessariamente essere la stessa sia partendo dalla probabilità di A sia partendo dalla probabilità di B, deve essere anche

P(A B) = P(B|A)P(A)    (ii)

Combinando la (i) con la (ii) si ottiene il teorema delle probabilità composte

P(A B) = P(A|B) P(B) = P(B|A) P(A)

e dall'identità
P(A|B)  P(B) = P(B|A)  P(A)

si ricava il teorema di Bayes:

                                                                  P(B|A)P(A)
                                                 P(A|B) =   ----------------
                                                                        P(B)

Se poniamo A = la causa e B = l’effetto, il teorema di Bayes suona così

                                               P(dell’effetto|data la causa) × P(della causa)
P(della causa|dato l’effetto) =    --------------------------------------------------
                                                 P(dell’effetto)

Se consideriamo il problema specifico della diagnosi medica, nel caso di una malattia M (la causa) che può essere presente (soggetti malati, M+) o assente (soggetti sani, M-), e di un segno T (l'effetto) determinato da questa malattia, come è tipicamente il risultato di un test per la sua diagnosi, che può essere positivo (T+) o negativo (T-), l'espressione precedente può essere riscritta come

            P(T+|M+)P(M+)
P(M+|T+) = ----------------------  (iii)
          P(T+)

Partendo dalla probabilità condizionata


Malattia +
Malattia -
Test +
P(T+|M+)
P(T+|M-)
Test -
P(T-|M+)
P(T-|M-)

e moltiplicando le probabilità della prima colonna (Malattia +) per la probabilità di presenza della malattia nella popolazione P(M+), cioè per la prevalenza della malattia, e moltiplicando le probabilità della seconda colonna (Malattia -) per la probabilità di assenza della malattia nella popolazione P(M-), essendo P(M-) = 1 - P(M+) otteniamo 


Malattia +
Malattia -
Test +
P(T+|M+) · P(M+)
P(T+|M-) · P(M-)
Test -
P(T-|M+) · P(M+)
P(T-|M-) · P(M-)

Sostituendo la probabilità di un test positivo P(T+) riportata al denominatore della (iii) con la somma P(T+|M+) · P(M+) + P(T+|M-) · P(M-) delle probabilità riportate nella riga Test + di quest'ultima tabella, possiamo esprimere il teorema di Bayes (iii) nella forma seguente, che consente di calcolare il valore predittivo di un test positivo P(M+|T+) ovvero la probabilità di essere malato per un soggetto che presenta un test positivo

         P(T+|M+) · P(M+)
P(M+|T+) = --------------------------------------------  (iv)
            P(T+|M+) · P(M+) + P(T+|M-) · P(M-)

Le grandezze in gioco nel calcolo del valore predittivo di un test positivo P(M+|T+) sono [2]:
la sensibilità P(T+|M+) del test diagnostico, che è la probabilità che il test sia positivo in un soggetto malato;
la specificità P(T-|M-) del test diagnostico che è la probabilità che il test sia negativo in un soggetto sano;
la prevalenza della malattia P(M+) cioè la probabilità di incontrare un soggetto malato nella popolazione generale.

Il teorema di Bayes consente di calcolare anche il valore predittivo di un test negativo P(M-|T-), ovvero la probabilità di essere sano per un soggetto che presenta un test negativo, nella forma seguente

         P(T-|M-) · P(M-)
P(M-|T-) = --------------------------------------------   (v)
           P(T-|M-) · P(M-) + P(T-|M+) · P(M+)

In genere, a causa del fatto che le statistiche epidemiologiche sono effettuate contando i casi - cosicché per conoscere ad esempio la prevalenza dell'influenza si conta il numero dei malati di influenza esistenti nella popolazione [3] - spesso si preferisce, in alternativa alle probabilità della (iv) e della (v), impiegare il numero di casi osservati, riportati in questo modo


Malattia +
Malattia -
Test +
VP
FP
Test -
FN
VN

e definiti, per uno specifico test diagnostico e una specifica malattia, come [4]:
veri positivi (VP), il numero di soggetti malati con il test positivo;
falsi positivi (FP), il numero di soggetti sani con il test positivo;
falsi negativi (FN), il numero di soggetti malati con il test negativo;
veri negativi (VN), il numero di soggetti sani con il test negativo.

Queste quattro grandezze, per un dato test diagnostico, sono quindi dei semplici conteggi dei risultati ottenuti applicando il test in condizioni controllate (nell'ambito di una ricerca clinica). In questa immagine 



è riportata in altro a sinistra (Fig. 1a) la distribuzione dei risultati di un ipotetico test in un campione di soggetti non affetti (Sani) e in un campione di soggetti affetti (Malati) da una specifica malattia. Le distribuzioni si sovrappongono parzialmente (area in colore verde): ed è quanto si osserva di fatto, nella stragrande maggioranza dei casi, nella realtà.

Se, ai fini della classificazione dei pazienti che hanno eseguito il test, fissiamo come valore soglia tra sani a malati quello riportato nella Fig. 1b, ci garantiamo di individuare correttamente tutti i soggetti malati (VP), e non avremo falsi negativi (FN), ma a scapito del fatto che classificheremo come malati anche molti soggetti sani (FP) e ridurremo il numero di soggetti sani correttamente classificati come tali (VN). In altre parole, in termini di probabilità, privilegeremo la sensibilità del test a scapito della sua specificità: non avremo alcun falso negativo (FN) ma avremo molti falsi positivi (FP).

Se fissiamo come valore soglia tra sani e malati quello riportato nella Fig. 1c, ci garantiamo di individuare correttamente tutti i soggetti sani (VN), e non avremo falsi positivi (FP) ma a scapito del fatto che classificheremo come sani anche molti soggetti malati (FN) e ridurremo il numero di soggetti malati correttamente classificati come tali (VP). In altre parole, in termini di probabilità, privilegeremo la specificità del test a scapito della sua sensibilità: non avremo alcun falso positivo (FP) ma avremo molti falsi negativi (FN).

Se infine fissiamo come valore soglia tra sani e malati quello riportato nella Fig. 1d, ci garantiamo di individuare correttamente la maggior parte dei soggetti sani (VN) e di individuare correttamente la maggior parte dei soggetti malati (VP), minimizzando contemporaneamente sia la possibilità di sbagliare classificando come sani dei soggetti malati (FN) sia la possibilità di sbagliare classificando come malati dei soggetti sani (FP). In altre parole, in termini di probabilità, realizzeremo un rapporto equilibrato tra la specificità del test e la sua sensibilità.

Nella maggior parte dei casi il valore soglia è scelto sulla base della strategia rappresentata nella Fig. 1d, che minimizza sia i falsi positivi sia i falsi negativi: è proprio questa la strategia seguita dalle curve ROC (vedere il post Curve ROC e valore soglia).  Tuttavia in casi particolari è possibile che sia più appropriato impiegare la strategia rappresentata nella Fig. 1b  (massimizzare la sensibilità) o più appropriato impiegare la strategia rappresentata nella Fig. 1c (massimizzare la specificità). Per una introduzione generale all'impiego del teorema di Bayes nella diagnosi medica vedere Federspil, Galen, Gigerenzer, Gill, Goodman, Motterlini e Nordenström nella pagina della bibliografia.

Dopo avere definito il valore soglia, dal quale dipendono la sensibilità e la specificità del test:
 il valore predittivo del test positivo, cioè la probabilità di essere malato per un soggetto che presenta un test positivo [5] 
 il valore predittivo del test negativo, cioè la probabilità di essere sano per un soggetto che presenta un test negativo [5] 
possono essere calcolati - a partire dalle probabilità mediante la (iv) e la (v) o, in alternativa, a partire dal numero di casi osservati VP, FP, FN, VN - come illustrato nel post Sensibilità, specificità, valore predittivo e nel post Efficienza e accuratezza diagnostica.


----------

[1] Bayes T. An essay towards solving a problem in the doctrine of chances. By the late Rev. Mr. Bayes, F. R. S. communicated by Mr. Price, in a letter to John Canton, A. M. F. R. S. Philo. Trans. Roy. Soc. 1763;53;370-418.
https://doi.org/10.1098/rstl.1763.0053

[2] Altman DG, Bland JM. Statistics Notes: Diagnostic tests 1: sensitivity and specificity. BMJ 1994;308;1552.
https://www.bmj.com/content/308/6943/1552.full

[3] In termini di conteggi la prevalenza è il numero di casi di malattia esistenti in un determinato momento in una data popolazione. Non deve essere confusa con l'incidenza, che è il numero di nuovi casi di malattia che si verificano in un determinato arco di tempo in una data popolazione.

[4] Gerhardt W, Keller H. Evaluation of test data from clinical studies. Scand J Clin Lab Invest 1986;46(supplement 181). 
https://www.tandfonline.com/doi/pdf/10.1080/00365518709168461

[5] Altman DG, Bland JM. Statistics Notes: Diagnostic tests 2: predictive values. BMJ 1994;309;102.
https://www.bmj.com/content/309/6947/102.1.full