# P4-metric

P$_4$ metric (also known as FS or Symmetric F) enables performance evaluation of the binary classifier. It is calculated from precision, recall, specificity and NPV (negative predictive value). P$_4$ is designed in similar way to F$_1$ metric, however addressing the criticisms leveled against F$_1$. It may be perceived as its extension.
Like the other known metrics, P$_4$ is a function of: TP (true positives), TN (true negatives), FP (false positives), FN (false negatives).

## Justification

The key concept of P$_4$ is to leverage the four key conditional probabilities:
    $P(+\mid C{+})$ - the probability that the sample is positive, provided the classifier result was positive.
    $P(C{+}\mid +)$ - the probability that the classifier result will be positive, provided the sample is positive.
    $P(C{-}\mid -)$ - the probability that the classifier result will be negative, provided the sample is negative.
    $P(-\mid C{-})$ - the probability the sample is negative, provided the classifier result was negative.
The main assumption behind this metric is, that a properly designed binary classifier should give the results for which all the probabilities mentioned above are close to 1. P$_4$ is designed the way that $\mathrm {P} _{4}=1$ requires all the probabilities being equal 1. It also goes to zero when any of these probabilities go to zero.

## Definition

P$_4$ is defined as a harmonic mean of four key conditional probabilities:
    $\mathrm {P} _{4}={\frac {4}{{\frac {1}{P(+\mid C{+})}}+{\frac {1}{P(C{+}\mid +)}}+{\frac {1}{P(C{-}\mid -)}}+{\frac {1}{P(-\mid C{-})}}}}={\frac {4}{{\frac {1}{\mathit {precision}}}+{\frac {1}{\mathit {recall}}}+{\frac {1}{\mathit {specificity}}}+{\frac {1}{\mathit {NPV}}}}}$
In terms of TP,TN,FP,FN it can be calculated as follows:
    $\mathrm {P} _{4}={\frac {4\cdot \mathrm {TP} \cdot \mathrm {TN} }{4\cdot \mathrm {TP} \cdot \mathrm {TN} +(\mathrm {TP} +\mathrm {TN} )\cdot (\mathrm {FP} +\mathrm {FN} )}}$

## Evaluation of the binary classifier performance

Evaluating the performance of binary classifier is a multidisciplinary concept. It spans from the evaluation of medical tests, psychiatric tests to machine learning classifiers from a variety of fields. Thus, many metrics in use exist under several names. Some of them being defined independently.
| | | Predicted condition | Predicted condition | $^{Sources:}$ | $^{Sources:}$ |
| | Total population = P + N | Predicted positive (PP) | Predicted negative (PN) | Informedness, bookmaker informedness (BM) = TPR + TNR − 1 | Prevalence threshold (PT) = ⁠√TPR × FPR - FPR/TPR - FPR⁠ |
| Actual condition | Positive (P) | True positive (TP), hit | False negative (FN), miss, underestimation | True positive rate (TPR), recall, sensitivity (SEN), probability of detection, hit rate, power = ⁠TP/P⁠ = 1 − FNR | False negative rate (FNR), miss rate type II error = ⁠FN/P⁠ = 1 − TPR |
| Actual condition | Negative (N) | False positive (FP), false alarm, overestimation | True negative (TN), correct rejection | False positive rate (FPR), probability of false alarm, fall-out type I error = ⁠FP/N⁠ = 1 − TNR | True negative rate (TNR), specificity (SPC), selectivity = ⁠TN/N⁠ = 1 − FPR |
| | Prevalence = ⁠P/P + N⁠ | Positive predictive value (PPV), precision = ⁠TP/PP⁠ = 1 − FDR | False omission rate (FOR) = ⁠FN/PN⁠ = 1 − NPV | Positive likelihood ratio (LR+) = ⁠TPR/FPR⁠ | Negative likelihood ratio (LR−) = ⁠FNR/TNR⁠ |
| | Accuracy (ACC) = ⁠TP + TN/P + N⁠ | False discovery rate (FDR) = ⁠FP/PP⁠ = 1 − PPV | Negative predictive value (NPV) = ⁠TN/PN⁠ = 1 − FOR | Markedness (MK), deltaP (Δp) = PPV + NPV − 1 | Diagnostic odds ratio (DOR) = ⁠LR+/LR−⁠ |
| | Balanced accuracy (BA) = ⁠TPR + TNR/2⁠ | F$_1$ score = ⁠2 PPV × TPR/PPV + TPR⁠ = ⁠2 TP/2 TP + FP + FN⁠ | Fowlkes–Mallows index (FM) = √PPV × TPR | Matthews correlation coefficient (MCC) = √TPR × TNR × PPV × NPV - √FNR × FPR × FOR × FDR | Threat score (TS), critical success index (CSI), Jaccard index = ⁠TP/TP + FN + FP⁠ | Threat score (TS), critical success index (CSI), Jaccard index = ⁠TP/TP + FN + FP⁠ |
* ↑ the number of real positive cases in the data
* ↑ A test result that correctly indicates the presence of a condition or characteristic
* ↑ Type II error: A test result which wrongly indicates that a particular condition or attribute is absent
* ↑ the number of real negative cases in the data
* ↑ A test result that correctly indicates the absence of a condition or characteristic
* ↑ Type I error: A test result which wrongly indicates that a particular condition or attribute is present

## Properties of P$_4$ metric

* Symmetry - contrasting to the F$_1$ metric, P$_4$ is symmetrical. It means - it does not change its value when dataset labeling is changed - positives named negatives and negatives named positives.
* Range: $\mathrm {P} _{4}\in [0,1]$
* Achieving $\mathrm {P} _{4}\approx 1$ requires all the key four conditional probabilities being close to 1.
* For $\mathrm {P} _{4}\approx 0$ it is sufficient that one of the key four conditional probabilities is close to 0.

## Examples, comparing with the other metrics

Dependency table for selected metrics ("true" means depends, "false" - does not depend):
| | $P(+\mid C{+})$ | $P(C{+}\mid +)$ | $P(C{-}\mid -)$ | $P(-\mid C{-})$ |
| P$_4$ | true | true | true | true |
| F$_1$ | true | true | false | false |
| Informedness | false | true | true | false |
| Markedness | true | false | false | true |
Metrics that do not depend on a given probability are prone to misrepresentation when it approaches 0.

### Example 1: Rare disease detection test

Let us consider the medical test aimed to detect kind of rare disease. Population size is 100 000, while 0.05% population is infected. Test performance: 95% of all positive individuals are classified correctly (TPR=0.95) and 95% of all negative individuals are classified correctly (TNR=0.95). In such a case, due to high population imbalance, in spite of having high test accuracy (0.95), the probability that an individual who has been classified as positive is in fact positive is very low:
    $P(+\mid C{+})=0.0095$
And now we can observe how this low probability is reflected in some of the metrics:
* $\mathrm {P} _{4}=0.0370$
* $\mathrm {F} _{1}=0.0188$
* $\mathrm {J} =\mathbf {0.9100}$ (Informedness / Youden index)
* $\mathrm {MK} =0.0095$ (Markedness)

### Example 2: Image recognition - cats vs dogs

We are training neural network based image classifier. We are considering only two types of images: containing dogs (labeled as 0) and containing cats (labeled as 1). Thus, our goal is to distinguish between the cats and dogs. The classifier overpredicts in favor of cats ("positive" samples): 99.99% of cats are classified correctly and only 1% of dogs are classified correctly. The image dataset consists of 100000 images, 90% of which are pictures of cats and 10% are pictures of dogs. In such a situation, the probability that the picture containing dog will be classified correctly is pretty low:
    $P(C-|-)=0.01$
Not all the metrics are noticing this low probability:
* $\mathrm {P} _{4}=0.0388$
* $\mathrm {F} _{1}=\mathbf {0.9478}$
* $\mathrm {J} =0.0099$ (Informedness / Youden index)
* $\mathrm {MK} =\mathbf {0.8183}$ (Markedness)