Herramientas de usuario

Herramientas del sitio


clase:iabd:pia:2eval:tema07-apendices-metricas

¡Esta es una revisión vieja del documento!


7. Entrenamiento de redes neuronales e) Apéndices Métricas

En este apartado vamos a ampliar las métricas que podemos usar con la clasificación binaria las cuales ya vimos en 7. Entrenamiento de redes neuronales c) Métricas.

Para ampliar nos vamos a basar en este diagrama (que se puede ver en Matriz de confusión en Wikipedia)

Las métricas que ya las hemos explicado en el tema de métricas son:

  • Métricas básicas (Sensibilidad, Especificidad, FNR y FPR)
  • Métricas derivadas según el teorema de bayes (PPV,NPV, FDR y FOR)

Las métricas que ahora vamos a ver son métricas que hacen la media entre alguna de las dos métricas que acabamos de indicar.

Para organizar las métricas según 2 criterios:

  • Según que métricas juntan
    • Métricas básicas (Sensibilidad, Especificidad, FNR y FPR)
    • Métricas derivadas (PPV,NPV, FDR y FOR)
    • Métricas mixtas, que usa una básica y otra derivada.
  • Según la fórmula que usan:
    • Media aritmética
    • Media armónica
    • Media geométrica
    • Suma-1
    • Ratio

Juntado dos Métricas Básicas

Las 4 métricas básicas son Sensibilidad, Especificidad, FPR y FNR. Según eso existen las siguientes métricas:

  • La siguiente tabla son métricas que existen (Tienen nombre)
Fórmula que usan
Métricas básicas que usan Media aritmética Media armónica Media geométrica Suma-1 Ratio
Sensibilidad (TPR) y Especificidad (TNR) $Informedness=TPR+TNR-1$
Sensibilidad (TPR) y FPR $Positive \; likelihood \; ratio=\frac{TPR}{FPR}$
Especificidad (TNR) y FNR $Negative \; likelihood \; ratio=\frac{FNR}{TNR}$
FPR y FNR

Mas información:

$$ Youden \; Index=maximo \{ sensibilidad(threhold)+especificidad(threhold)-1 \} \;\; threshold \in [0,1] $$


  • La siguiente tabla son métricas que no existen (No tienen nombre)
Fórmula que usan
Métricas básicas que usan Media aritmética Media armónica Media geométrica Suma-1 Ratio
Sensibilidad (TPR) y Especificidad (TNR) $\frac{TPR+TNR}{2}$ $\frac{2}{\frac{1}{TPR}+\frac{1}{TNR}}$ $\sqrt{TPR*TNR}$ $\frac{TPR}{TNR}$ y $\frac{TNR}{TPR}$
Sensibilidad (TPR) y FPR $\frac{TPR+FPR}{2}$ $\frac{2}{\frac{1}{TPR}+\frac{1}{FPR}}$ $\sqrt{TPR*FPR}$ $TPR+FPR-1$ $\frac{FPR}{TPR}$
Especificidad (TNR) y FNR $\frac{TNR+FNR}{2}$ $\frac{2}{\frac{1}{TNR}+\frac{1}{FNR}}$ $\sqrt{TNR*FNR}$ $TNR+FNR-1$ $\frac{TNR}{FNR}$
FPR y FNR $\frac{FPR+FNR}{2}$ $\frac{2}{\frac{1}{FPR}+\frac{1}{FNR}}$ $\sqrt{FPR*FNR}$ $FPR+FNR-1$ $\frac{FNR}{FPR}$ y $\frac{FPR}{FNR}$
No tiene sentido que se junten las métricas de TPR y FNR o las métricas de FPR y TNR ya que entre ellas son complementarias. Es decir que TPR+FNR=1 y que FPR+TNR=1

Juntado dos Métricas derivadas

Las 4 métricas derivadas son PPV, NPV, FDR y FOR.

  • La siguiente tabla son métricas que existen (Tienen nombre)
Fórmula que usan
Métricas básicas que usan Media aritmética Media armónica Media geométrica Suma-1 Ratio
PPV y NPV $Markdness=PPV+NPV-1$
PPV y FOR
NPV y FDR
FDR y FOR


  • La siguiente tabla son métricas que no existen (No tienen nombre)
Fórmula que usan
Métricas básicas que usan Media aritmética Media armónica Media geométrica Suma-1 Ratio
PPV y NPV $\frac{PPV+NPV}{2}$ $\frac{2}{\frac{1}{PPV}+\frac{1}{NPV}}$ $\sqrt{PPV*NPV}$ $\frac{PPV}{NPV}$ y $\frac{NPV}{PPV}$
PPV y FOR $\frac{PPV+FOR}{2}$ $\frac{2}{\frac{1}{PPV}+\frac{1}{FOR}}$ $\sqrt{PPV*FOR}$ $PPV+FOR-1$ $\frac{PPV}{FOR}$ y $\frac{FOR}{PPV}$
NPV y FDR $\frac{NPV+FDR}{2}$ $\frac{2}{\frac{1}{NPV}+\frac{1}{FDR}}$ $\sqrt{NPV*FDR}$ $NPV+FDR-1$ $\frac{NPV}{FDR}$ y $\frac{FDR}{NPV}$
FDR y FOR $\frac{FDR+FOR}{2}$ $\frac{2}{\frac{1}{FDR}+\frac{1}{FOR}}$ $\sqrt{FDR*FOR}$ $FDR+FOR-1$ $\frac{FDR}{FOR}$ y $\frac{FOR}{FDR}$
No tiene sentido que se junten las métricas de PPV y FDR o las métricas de NPV y FOR ya que entre ellas son complementarias. Es decir que PPV+FDR=1 y que NPV+FOR=1

Métricas mixtas

Son métricas que juntan una métrica básica con una métrica derivada. Debido a que existen 16 combinaciones no vamos a mostrar todas las que existen, sino solo las que he considerado interesantes.

  • La siguiente tabla son métricas que existen (Tienen nombre)
Fórmula que usan
Métricas básicas que usan Media aritmética Media armónica Media geométrica Suma-1 Ratio
PPV y Sensibilidad (TPR) $F_{1}score=\frac{2}{\frac{1}{PPV}+\frac{1}{TPR}}$ $Fowlkes-Mallows \; index=\sqrt{PPV*TPR}$
NPV y Especificidad (TNR)


  • La siguiente tabla son métricas que no existen (No tienen nombre)
Fórmula que usan
Métricas básicas que usan Media aritmética Media armónica Media geométrica Suma-1 Ratio
PPV y Sensibilidad (TPR) $\frac{PPV+TPR}{2}$ $PPV+TPR-1$ $\frac{PPV}{TPR}$ y $\frac{TPR}{PPV}$
NPV y Especificidad (TNR) $\frac{NPV+TNR}{2}$ $\frac{2}{\frac{1}{NPV}+\frac{1}{TNR}}$ $\sqrt{NPV*TNR}$ $NPV+TNR-1$ $\frac{NPV}{TNR}$ y $\frac{TNR}{NPV}$

Más métricas derivadas

Veamos ahora otras métricas que derivamos a partir de las básicas que son Sensibilidad, Especificidad, Prevalencia, FPR y FNR.

Accuracy

Accuracy (Exactitud) mide la proporción de predicciones correctas sobre el total de predicciones realizadas. Por lo que su fórmula es:

$$ Accuracy=\frac{TP+TN}{TP+FN+FP+TN} $$

  • Debido a que usa los 4 valores vamos a expresar la misma fórmula usando Especificidad, Sensibilidad y Prevalencia. Esto se hace ya que así podremos usar la prevalencia que queramos y no la de nuestros datos.

$$ Accuracy=P(Predicción \; correcta|Predicción \; realizada) $$

  • Eso se puede expresar como la suma de 2 probabilidades

$$ P(Predicción \; correcta|Predicción \; realizada)=P(Positivo \cap Enfermo) + P(Negativo \cap Sano)= $$

$$ P(Positivo|Enfermo)*P(Enfermo)+P(Negativo|Sano)*P(Sano)=Sensibilidad*Prevalencia+Especificidad*(1-Prevalencia) $$

  • Por lo tanto la fórmula que como:

$$ Accuracy=Sensibilidad*Prevalencia+Especificidad*(1-Prevalencia) $$

  • Vamos a ver que para la prevalencia de los datos, las 2 fórmulas son iguales.

$$ Sensibilidad*Prevalencia+Especificidad*(1-Prevalencia)=\frac{TP}{(TP+FN)}*\frac{(TP+FN)}{TP+FN+FP+TN}+\frac{TN}{(FP+TN)}*\frac{(FP+TN)}{TP+FN+FP+TN}= $$

$$ \frac{TP}{TP+FN+FP+TN}+\frac{TN}{TP+FN+FP+TN}=\frac{TP+TN}{TP+FN+FP+TN}=Accuracy $$

Balanced Accuracy

Realmente esta no es una nueva métrica sino que es la misma que Accuracy pero con una prevalencia del 0.5

$$ Balanced \; Accuracy=\frac{Sensibilidad+Especificidad}{2} $$

  • Pero si calculamos Accuracy suponiendo que la $Prevalencia=0.5$ obtenemos:

$$ Accuracy=Sensibilidad*Prevalencia+Especificidad*(1-Prevalencia)= $$

$$ Sensibilidad*0,5+Especificidad*(1-0,5)=Sensibilidad*0,5+Especificidad*0,5= $$

$$ \frac{Sensibilidad}{2}+\frac{Especificidad}{2}=\frac{Sensibilidad+Especificidad}{2}=Balanced \; Accuracy $$

Indice Jaccard

Este índice es la división entre 2 probabilidades:

$$ Indice \; Jaccard=\frac{P(Positivo \cap Enfermo)}{P(Positivo \cup Enfermo)}=\frac{TP}{TP+FP+FN} $$

  • Se deduce de la siguiente forma:

$$ \frac{P(Positivo \cap Enfermo)}{P(Positivo \cup Enfermo)}= $$

$$ \frac{P(Positivo|Enfermo)*P(Enfermo)}{P(Positivo)+P(Enfermo)-P(Positivo \cap Enfermo)}=\frac{P(Positivo|Enfermo)*P(Enfermo)}{P(Positivo)+P(Enfermo)-P(Positivo|Enfermo)*P(Enfermo)} $$

  • Sabiendo que:

$$ \begin{array} \\ P(Enfermo)&=&\frac{TP+FN}{TP+FN+FP+TN} \\ P(Sano)&=&\frac{FP+TN}{TP+FN+FP+TN} \\ P(Positivo)&=&\frac{TP+FP}{TP+FN+FP+TN} \\ P(Negativo)&=&\frac{FN+TN}{TP+FN+FP+TN} \\ P(Positivo|Enfermo)&=&\frac{TP}{TP+FN} \end{array} $$

  • Entonces:

$$ \frac{P(Positivo|Enfermo)*P(Enfermo)}{P(Positivo)+P(Enfermo)-P(Positivo|Enfermo)*P(Enfermo)}= $$

$$ \left ( \frac{TP}{TP+FN}*\frac{TP+FN}{TP+FN+FP+TN} \right ) \div \left (\frac{TP+FP}{TP+FN+FP+TN}+\frac{TP+FN}{TP+FN+FP+TN}-\frac{TP}{TP+FN}*\frac{TP+FN}{TP+FN+FP+TN} \right )= $$

$$ \left ( \frac{TP}{TP+FN+FP+TN} \right ) \div \left (\frac{TP+FP}{TP+FN+FP+TN}+\frac{TP+FN}{TP+FN+FP+TN}-\frac{TP}{TP+FN+FP+TN} \right )= $$

$$ \left ( \frac{TP}{TP+FN+FP+TN} \right ) \div \left (\frac{TP+FP+TP+FN-TP}{TP+FN+FP+TN} \right )=\left ( \frac{TP}{TP+FN+FP+TN} \right ) \div \left (\frac{TP+FP+FN}{TP+FN+FP+TN} \right )= $$

$$ \frac{TP}{TP+FP+FN}=Indice \; Jaccard $$

  • Sin embargo también podemos definir el Indice Jaccard en función de la sensibilidad, la especificidad y la prevalencia.Usando el teorema de bayes podemos definir P(Positivo) de la siguiente forma:

$$ P(Positivo)=\frac{P(Positivo|Enfermo)*P(Enfermo)}{P(Enfermo|Positivo)}= $$

$$ \frac{P(Positivo|Enfermo)*P(Enfermo)}{1} \div \frac{P(Positivo|Enfermo)*P(Enfermo)}{P(Positivo|Enfermo)*P(Enfermo)+P(Positivo|Sano)*P(Sano)}= $$

$$ Sensibilidad*Prevalencia+(1-Especificidad)*(1-Prevalencia) $$

  • Y ahora usamos la formula de P(Positivo) en la definición del Indice Jaccard

$$ Indice \; Jaccard=\frac{P(Positivo|Enfermo)*P(Enfermo)}{P(Positivo)+P(Enfermo)-P(Positivo|Enfermo)*P(Enfermo)}= $$

$$ \frac{Sensibilidad*Prevalencia}{Sensibilidad*Prevalencia+(1-Especificidad)*(1-Prevalencia)+Prevalencia-Sensibilidad*Prevalencia}= $$

$$ \frac{Sensibilidad*Prevalencia}{(1-Especificidad)*(1-Prevalencia)+Prevalencia} $$

  • Por lo tanto

$$ Indice \; Jaccard=\frac{Sensibilidad*Prevalencia}{(1-Especificidad)*(1-Prevalencia)+Prevalencia} $$

Prevalence threshold

La métrica de Prevalence threshold está explicada en Prevalence threshold (ϕe) and the geometry of screening curves.

Lo único que diremos respecto a la formula es que en el artículo aparece como:

$$ Prevalence \; threshold=\frac{\sqrt{Sensibilidad(1-Especificidad)}+(Especificidad-1)}{Sensibilidad+Especificidad+1} $$ Que jugando un poco con los signos se obtiene la formula equivalente que aparece en Wikipedia: $$ Prevalence \; threshold=\frac{\sqrt{Sensibilidad*FPR}-FPR}{Sensibilidad-FPR} $$

Diagnostic odds ratio

Se define como la división entre Positive likelihood ratio (LR+) y Negative likelihood ratio (LR-)

$$ DOR=\frac{LR+}{LR-}=\frac{TP*TN}{FP*FN} $$

  • Aunque también se puede definir en función de la sensibilidad y la especificidad

$$ DOR=\frac{LR+}{LR-}=\frac{\frac{TPR}{1-TNR}}{\frac{1-TPR}{TNR}}=\frac{Sensibilidad*Especificidad}{(1-Sensibilidad)(1-Especificidad)} $$

Otras métricas

Matthews correlation coefficient

Es otra métrica pero que tiene en cuenta que los datos no estén balanceados.

El MMC tiene un valor entre -1 a 1. Siendo:

  • 1 : El clasificador funciona perfectamente
  • 0 : El clasificador acierta aleatoriamente
  • -1 : El clasificador acierta peor que aleatoriamente, es decir que clasifica al revés "perfectamente"

$$MCC = \frac{ \mathit{TP} \times \mathit{TN} - \mathit{FP} \times \mathit{FN} } {\sqrt{ (\mathit{TP} + \mathit{FP}) ( \mathit{TP} + \mathit{FN} ) ( \mathit{TN} + \mathit{FP} ) ( \mathit{TN} + \mathit{FN} ) } }=\sqrt{TPR \times TNR \times PPV \times NPV}-\sqrt{FNR \times FPR \times FOR \times FDR}$$

Podemos hacer uso de la métrica con la función sklearn.metrics.matthews_corrcoef de sklearn

Ejemplo de uso:

from sklearn.metrics import matthews_corrcoef

y_true = [1,1,1,1,0,0,0,0]
y_pred = [1,1,1,1,0,0,0,0]
print("Valor para una predicción que acierta siempre=",matthews_corrcoef(y_true,y_pred))

y_true = [1,1,1,1,0,0,0,0]
y_pred = [1,1,0,0,1,1,0,0]
print("Valor para una predicción que acierta la mitad=",matthews_corrcoef(y_true,y_pred))

y_true = [1,1,1,1,0,0,0,0]
y_pred = [0,0,0,0,1,1,1,1]
print("Valor para una predicción que nunca acierta=",matthews_corrcoef(y_true,y_pred))

Valor para una predicción que acierta siempre= 1.0
Valor para una predicción que acierta la mitad= 0.0
Valor para una predicción que nunca acierta= -1.0

Mas información:

clase/iabd/pia/2eval/tema07-apendices-metricas.1710874258.txt.gz · Última modificación: 2024/03/19 19:50 por admin