Explicar un paso para derivar la razón de costos en la curva ROC como una función del AUC

Dec 21 2020

En este artículo de David Hand, los costos de clasificación errónea son$c_0$ y $c_1$ con la proporción $c$ definido como $c=c_0/(c_0+c_1).$ El umbral considerado óptimo es

$$T(c)=\underset{t}{\text{arg min}}\left\{ c\pi_0(1-F_0(t)) + (1-c) \pi_1 F_1(t) \right\}$$

con $t$ siendo cualquier umbral en las puntuaciones, y $1=\pi_0+\pi_1$ las fracciones de individuos enfermos y sanos de la población. $F_0$ es la distribución de los enfermos, y $F_1$la distribución de individuos sanos. Los casos se consideran clase$0.$

Suponiendo una relación uno a uno de $c$ con $T$ y diferenciando, obtiene el siguiente resultado (ecuación (5)):

$$c= \color{red}{\Pr(1\vert T)} = \pi_1 f_1(T) / \left\{ \pi_0f_0(T) + \pi_1f_1(T)\right\}$$

dónde $\Pr(1\vert T)$ es la probabilidad condicional de pertenecer a una clase $1,$ dado el puntaje $T.$

Sigo todo aquí, excepto la parte en rojo. Puede ser un malentendido muy básico, pero ¿no debería calcularse la probabilidad condicional a partir de una proporción de CDF en lugar de PDF ?

Supongo que la respuesta está en considerar las puntuaciones. $s(x)$ en la regresión logística como una transformación monótonamente creciente de $\Pr(1 \vert x).$


Aquí hay un intento fallido de piratear esto:

install.packages('pROC')
install.packages('ROCR')
install.packages('Epi')
library(pROC)
library(ROCR)
library(Epi)

set.seed(561)

cost0 = 1   # Cost of mis-classifying a normal as having cancer in million $ cost1 = 10 # Cost of mis-classifying a cancer patient as normal (death?) b = cost0 + cost1 c = cost0/(b) n = 7000 # Total cases pi0 =.8 # Percentage of normal pi1 =.2 # Percentage of disease # Actual values of the test for normals and disease (D higher test values) testA_Normals = rnorm(n*pi0, mean=3, sd=1) testA_Sick = rnorm(n*pi1, 6, 1) # Determining a threshold based on cost # arg t min {Loss = cost0 * (1 - pnorm(t,3,1)) * pi0 + # cost1 * pnorm(t,6,1) * pi1} t = seq(0,10,0.0001) loss <- cost0 * (1 - pnorm(t,3,1)) * pi0 + cost1 * pnorm(t,6,1) * pi1 Threshold = data.frame(t,loss)[which(loss==min(loss)),]$t

hist(testA_Normals,border=F, xlim=c(0,10))
hist(testA_Sick,col=2,border=F, add=T)

abline(v=Threshold)

Comparando las 3 igualdades en la ecuación:

c
pi1 * dnorm(Threshold,6,1) / (pi0 * dnorm(Threshold,3,1) + pi1 * dnorm(Threshold,6,1))
#P(1|T) = P(T|1) * P(1) / [P(T|0) * P(0) + P(T|1) * P(1)]
(pnorm(Threshold,6,1,F)*pi1)/(pnorm(Threshold,6,1,F)*pi1+
                            pnorm(Threshold,3,1,F)*pi0)

0.0909090909090909
0.0909165896894187
0.6749524!!!!!(***)

$(***) \text{Edit}:$ Después de recibir ayuda de una fuente muy confiable (sin nombre para que no cite mal) el pensamiento detrás $\Pr(1\vert T)$ no es $\Pr(1\vert s \geq T),$ que sería lo que sugeriría mi código, sino más bien $\Pr(1\vert s=T),$ o $$\Tiny\lim_{d \to 0}\frac{d \pi_1 f_1(T)}{ d \pi_1 f_1(T) + d \pi_0 f_0(T) }= \lim_{d \to 0} \Pr\left(1\Big\vert -\frac d 2 +T +\frac d 2\right). $$

Respuestas

3 DilipSarwate Dec 23 2020 at 05:19

Dada la regla de decisión

Cuando la hipótesis $\mathsf H_0$ es cierto (un evento que ocurre con probabilidad $\pi_0$), la variable de decisión $X$ excede el umbral $t$ con probabilidad $(1-F_0(t))$ (y así ocurre una falsa alarma) y el costo incurrido es $c_0$.

Cuando la hipótesis $\mathsf H_1$ es cierto (un evento que ocurre con probabilidad $\pi_1$), la variable de decisión $X$ es menor que el umbral $t$ con probabilidad $F_1(t)$ (y por lo tanto ocurre una detección perdida) y el costo incurrido es $c_1$.

Por lo tanto, el costo promedio o el costo esperado de cada decisión es\begin{align} \text{average cost} &= c_0\pi_0(1-F_0(t)) + c_1\pi_1F_1(t)\\\ &= (c_0 + c_1)\left[\frac{c_0}{c_0 + c_1}\pi_0(1-F_0(t)) + \frac{c_1}{c_0 + c_1}\pi_1F_1(t)\right]\\ &= (c_0 + c_1)\big[c\pi_0(1-F_0(t)) + (1-c)\pi_1F_1(t)\big]. \end{align} El valor de $t$ que minimiza el costo promedio es así $$T = \underset{t}{\arg \min}\big[c\pi_0(1-F_0(t)) + (1-c)\pi_1F_1(t)\big],\tag{1}$$ y el costo promedio mínimo que puede lograr esta regla de decisión es $$\text{minimum average cost}=(c_0 + c_1)\big[c\pi_0(1-F_0(T)) + (1-c)\pi_1F_1(T)\big]. \tag{2}$$

Sin embargo, tenga en cuenta que esta minimidad del costo promedio es solo entre todas las reglas de decisión del formulario

Si $X > t$, la decisión es que$\mathsf H_1$ocurrió.
Si$X \leq t$, la decisión es que$\mathsf H_0$ ocurrió.

Otras reglas de decisión pueden lograr costos promedio menores que $(2)$, y los discutimos a continuación.


Regla de decisión óptima de costo mínimo promedio

La regla de decisión óptima de costo mínimo esperado es la que compara la razón de verosimilitud$\displaystyle\Lambda(X) = \frac{f_1(X)}{f_0(X)}$ al umbral $\displaystyle\frac{c_0\pi_0}{c_1\pi_1}$ y decide que $\mathsf H_0$ o $\mathsf H_1$ ocurrió de acuerdo como $\Lambda(X)$es menor o igual que el umbral o es mayor que el umbral. Por lo tanto, la línea real se puede dividir en conjuntos.$\Gamma_0$ y $\Gamma_1$ definido como \begin{align} \Gamma_0 &= \big\{X \in \Gamma_0 \implies \textit{decision }\text{is that } \mathsf H_0~\text{occurred}\big\}\\ &= \left\{x\in \mathbb R\colon \Lambda(x) \leq \frac{c_0\pi_0}{c_1\pi_1}\right\}\\ \Gamma_1 &= \big\{X \in \Gamma_1 \implies \textit{decision }\text{is that } \mathsf H_1~\text{occurred}\big\}\\ &= \left\{x\in \mathbb R\colon \Lambda(x) > \frac{c_0\pi_0}{c_1\pi_1}\right\} \end{align} dónde $\Gamma_0$ y $\Gamma_1$ no son necesariamente los conjuntos $\left\{x \leq T\right\}$ y $\left\{x > T\right\}$discutido anteriormente. La decisión óptima de costo mínimo promedio tiene un costo de$$\text{minimum average cost}=(c_0 + c_1)\big[c\pi_0\Pr\{X \in \Gamma_1\mid \mathsf H_0\} + (1-c)\pi_1\Pr\{X \in \Gamma_0\mid \mathsf H_1\}\big]. \tag{3}$$

Si la razón de verosimilitud es una función creciente monótona de su argumento,

luego $\Gamma_0$ y $\Gamma_1$ se encuentran en la forma $\left\{x \leq T^*\right\}$ y $\left\{x > T^*\right\}$ y $(3)$ simplifica a \begin{align} \text{minimum average cost}&=(c_0 + c_1)\big[c\pi_0\Pr\{X > T^*\mid \mathsf H_0\} + (1-c)\pi_1\Pr\{X \leq T^*\mid \mathsf H_1\}\big]\\ &= (c_0 + c_1)\big[c\pi_0(1-F_0(T^*)) + (1-c)\pi_1F_1(T^*)\big]. \tag{4} \end{align} Un poco de pensamiento muestra que $T^*$ necesariamente debe ser lo mismo que $T$ en $(1)$. Pero hay más información que se puede obtener de$(4)$ porque ahora tenemos una descripción diferente del valor de $T^*$.

$T^*$ es el número tal que $\Lambda(T^*)$ es igual a $\displaystyle\frac{c_0\pi_0}{c_1\pi_1}$.

De $\displaystyle\Lambda(T^*) = \frac{f_1(T^*)}{f_0(T^*)} = \frac{c_0\pi_0}{c_1\pi_1}$, obtenemos (con algo de álgebra sencilla y la afirmación de que $T^*$ es igual a $T$) que $$c =\frac{c_0}{c_0+c_1} = \frac{\pi_1f_1(T^*)}{\pi_0f_0(T^*)+\pi_1f_1(T^*)} = \frac{\pi_1f_1(T)}{\pi_0f_0(T)+\pi_1f_1(T)}$$ cuya derivación es lo que desconcertó al OP.

Finalmente, pasemos a la afirmación de que $c$ también es igual $\Pr(1\mid T)$. Dejar$Y$ ser una variable aleatoria de Bernoulli tal que $Y=1$ cuando sea $\mathsf H_1$ ocurre mientras $Y=0$ Cuándo $\mathsf H_0$ocurre. Así tenemos eso para$i=0,1$, $f_{X\mid Y=i}(x) := f_i(x)$. Ahora,$X$ y $Y$no puedo disfrutar de una función de densidad articular porque$Y$ no es una variable aleatoria continua, y si queremos visualizar la $x$-$y$plano, entonces tenemos dos densidades de línea (ponderadas) $\pi_0f_0(x)$ y $\pi_1f_1(x)$ a lo largo de las lineas $y=0$ y $y=1$ en el $x$-$y$avión. ¿Cuál es la densidad incondicional de$X$? Bien en$X=x$, la densidad incondicional de $X$ tiene valor $$f_X(x) = \pi_0f_0(x)+\pi_1f_1(x).\tag{5}$$ Dando la vuelta a las cosas, ¿cuál es la distribución de la variable aleatoria de Bernoulli? $Y$ condicionado en $X=x$? Bien cuando$X=x$, $Y$ toma valores $0$ y $1$ con probabilidades respectivas \begin{align}\Pr(Y=0\mid X=x) &= \frac{\pi_0f_0(x)}{\pi_0f_0(x)+\pi_1f_1(x)}\tag{6}\\ \Pr(Y=1\mid X=x) &= \frac{\pi_1f_1(x)}{\pi_0f_0(x)+\pi_1f_1(x)}\tag{7} \end{align} que muestra que $c$ es igual a $\Pr(Y=1\mid X=T)$ que el documento que está leyendo el OP escribe como $\Pr(1|T)$. Esa es la jerga del aprendizaje automático para ti ... Pero son$(6)$ y $(7)$ valores plausibles para el pdf condicional de $Y$? Bien para$i=0,1$, podemos encontrar la probabilidad incondicional de que$Y=i$ multiplicando la probabilidad condicional $\Pr(Y=i\mid X=x)$ por el pdf de $X$ e integrando lo que nos da \begin{align} \Pr(Y=i) &= \int_{-\infty}^\infty \Pr(Y=i\mid X=x)\cdot f_X(x) \,\mathrm dx\\ &= \int_{-\infty}^\infty \left.\left.\frac{\pi_if_i(x)}{\pi_0f_0(x)+\pi_1f_1(x)} \cdot \right(\pi_0f_0(x)+\pi_1f_1(x)\right) \,\mathrm dx\\ &= \int_{-\infty}^\infty \pi_if_i(x) \,\mathrm dx\\ &= \pi_i \end{align} que espero agregue un toque de verosimilitud artística a una narrativa que de otra manera sería calva y poco convincente.