Quali sono i valori corretti per precisione e richiamo nei casi limite?


20

La precisione è definita come:

p = true positives / (true positives + false positives)

È corretto che, come true positivese false positivesavvicinarsi a 0, la precisione si avvicina a 1?

Stessa domanda da ricordare:

r = true positives / (true positives + false negatives)

Attualmente sto implementando un test statistico in cui ho bisogno di calcolare questi valori, e talvolta capita che il denominatore sia 0, e mi chiedo quale valore restituire per questo caso.

PS: Scusate il tag inadeguato, ho voluto usare recall, precisione limit, ma non riesco a creare ancora nuovi tag.

precision-recall  data-visualization  logarithm  references  r  networks  data-visualization  standard-deviation  probability  binomial  negative-binomial  r  categorical-data  aggregation  plyr  survival  python  regression  r  t-test  bayesian  logistic  data-transformation  confidence-interval  t-test  interpretation  distributions  data-visualization  pca  genetics  r  finance  maximum  probability  standard-deviation  probability  r  information-theory  references  computational-statistics  computing  references  engineering-statistics  t-test  hypothesis-testing  independence  definition  r  censoring  negative-binomial  poisson-distribution  variance  mixed-model  correlation  intraclass-correlation  aggregation  interpretation  effect-size  hypothesis-testing  goodness-of-fit  normality-assumption  small-sample  distributions  regression  normality-assumption  t-test  anova  confidence-interval  z-statistic  finance  hypothesis-testing  mean  model-selection  information-geometry  bayesian  frequentist  terminology  type-i-and-ii-errors  cross-validation  smoothing  splines  data-transformation  normality-assumption  variance-stabilizing  r  spss  stata  python  correlation  logistic  logit  link-function  regression  predictor  pca  factor-analysis  r  bayesian  maximum-likelihood  mcmc  conditional-probability  statistical-significance  chi-squared  proportion  estimation  error  shrinkage  application  steins-phenomenon 

Non credo che abbiamo bisogno del tag limite.

Presumibilmente stai tentando di quantificare le prestazioni di alcune procedure diagnostiche; c'è qualche motivo per cui non stai usando una metrica di teoria del rilevamento del segnale adeguata come d ', A' o area sotto la curva ROC?
Mike Lawrence,

3
@Mike, precisione e richiamo sono metriche di valutazione comuni, ad esempio nel recupero di informazioni in cui il ROC, o in particolare la specificità, è scomodo da usare perché ci si aspetta già un numero elevato di falsi positivi.
user979,

Risposte:


17

Data una matrice di confusione:

            predicted
            (+)   (-)
            ---------
       (+) | TP | FN |
actual      ---------
       (-) | FP | TN |
            ---------

lo sappiamo:

Precision = TP / (TP + FP)
Recall = TP / (TP + FN)

Consideriamo i casi in cui il denominatore è zero:

  • TP + FN = 0: significa che non c'erano casi positivi nei dati di input
  • TP + FP = 0: significa che tutte le istanze sono state previste come negative

9
Estensione della risposta: se TP = 0 (come in entrambi i casi), il richiamo è 1, poiché il metodo ha scoperto tutti i veri positivi; la precisione è 0 se c'è qualche FP e 1 altrimenti.

11

La risposta è sì I casi limite non definiti si verificano quando i veri positivi (TP) sono 0 poiché questo è nel denominatore di entrambi P & R. In questo caso,

  • Richiama = 1 quando FN = 0, poiché è stato scoperto il 100% del TP
  • Precisione = 1 quando FP = 0, dal momento che non c'erano risultati spuri

Questa è una riformulazione del commento di @ mbq.


3

Conosco una terminologia diversa. Ciò che chiami precisione vorrei un valore predittivo positivo (PPV). E ciò che chiami richiamo chiamerei sensibilità (Sens). :

http://en.wikipedia.org/wiki/Receiver_operating_characteristic

Nel caso della sensibilità (richiamo), se il denominatore è zero (come sottolinea Amro), NON ci sono casi positivi, quindi la classificazione non ha senso. (Ciò non impedisce a TP o FN di essere zero, il che comporterebbe una sensibilità limite di 1 o 0. Questi punti si trovano rispettivamente negli angoli in alto a destra e in basso a sinistra della curva ROC - TPR = 1 e TPR = 0. )

Il limite di PPV è tuttavia significativo. È possibile che il cut-off del test sia impostato su un valore così alto (o basso) in modo che tutti i casi siano considerati negativi. Questo è all'origine della curva ROC. Il valore limite del PPV appena prima che il taglio raggiunga l'origine può essere stimato considerando il segmento finale della curva ROC appena prima dell'origine. (Potrebbe essere meglio modellare poiché le curve ROC sono notoriamente rumorose.)

Ad esempio, se ci sono 100 positivi effettivi e 100 negativi effettivi e il segno finale della curva ROC si avvicina da TPR = 0,08, FPR = 0,02, allora il PPV limitante sarebbe PPR ~ 0,08 * 100 / (0,08 * 100 + 0,02 * 100 ) = 8/10 = 0,8 ovvero probabilità dell'80% di essere un vero positivo.

In pratica ogni campione è rappresentato da un segmento sulla curva ROC - orizzontale per un negativo reale e verticale per un positivo reale. Si potrebbe stimare il PPV limitante dall'ultimo segmento prima dell'origine, ma ciò darebbe un PPV limitante stimato di 1, 0 o 0,5, a seconda che l'ultimo campione sia stato un vero positivo, un falso positivo (negativo effettivo) o fatto di un TP e FP uguali. Un approccio modellistico sarebbe migliore, forse supponendo che i dati siano binormali - un presupposto comune, ad esempio: http://mdm.sagepub.com/content/8/3/197.short


1

Dipenderebbe da cosa intendi per "approccio 0". Se i falsi positivi e i falsi negativi si avvicinano entrambi a una velocità maggiore rispetto ai veri positivi, allora sì a entrambe le domande. Ma per il resto, non necessariamente.


Davvero non conosco la tariffa. Ad essere sincero, tutto quello che so è che il mio programma è andato in crash con una divisione per zero e che in qualche modo ho bisogno di gestire quel caso.
Björn Pollex,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.