Expliquer une étape dans le calcul du ratio de coût dans la courbe ROC en fonction de l'AUC

Dec 21 2020

Sur cet article de David Hand, les coûts de classification erronée sont$c_0$ et $c_1$ avec le ratio $c$ défini comme $c=c_0/(c_0+c_1).$ Le seuil considéré comme optimal est

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

avec $t$ étant n'importe quel seuil dans les scores, et $1=\pi_0+\pi_1$ les fractions d'individus malades et en bonne santé dans la population. $F_0$ est la répartition des malades, et $F_1$la répartition des individus en bonne santé. Les cas sont considérés comme de classe$0.$

En supposant une relation univoque de $c$ avec $T$ et en se différenciant, il obtient le résultat suivant (équation (5)):

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

$\Pr(1\vert T)$ est la probabilité conditionnelle d'appartenir à la classe $1,$ étant donné le score $T.$

Je suis tout ici, sauf pour la partie en rouge. C'est peut-être un malentendu très basique, mais la probabilité conditionnelle ne devrait-elle pas être calculée à partir d'un ratio de cdf, par opposition à pdf ?

Je suppose que la réponse est en considérant les scores $s(x)$ dans la régression logistique comme une transformation monotone croissante de $\Pr(1 \vert x).$


Voici une tentative infructueuse de piratage:

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)

Comparaison des 3 égalités de l'équation:

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}:$ Après avoir obtenu de l'aide d'une source très fiable (sans nom de peur de mal citer), la réflexion derrière $\Pr(1\vert T)$ n'est pas $\Pr(1\vert s \geq T),$ ce qui serait ce que mon code suggérerait, mais plutôt $\Pr(1\vert s=T),$ ou alors $$\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). $$

Réponses

3 DilipSarwate Dec 23 2020 at 05:19

Règle de décision donnée

Quand hypothèse $\mathsf H_0$ est vrai (un événement qui se produit avec une probabilité $\pi_0$), la variable de décision $X$ dépasse le seuil $t$ avec probabilité $(1-F_0(t))$ (et donc une fausse alarme se produit) et le coût encouru est $c_0$.

Quand hypothèse $\mathsf H_1$ est vrai (un événement qui se produit avec une probabilité $\pi_1$), la variable de décision $X$ est plus petit que le seuil $t$ avec probabilité $F_1(t)$ (et donc une détection manquée se produit) et le coût encouru est $c_1$.

Ainsi, le coût moyen ou le coût attendu de chaque décision est\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} La valeur de $t$ qui minimise le coût moyen est donc $$T = \underset{t}{\arg \min}\big[c\pi_0(1-F_0(t)) + (1-c)\pi_1F_1(t)\big],\tag{1}$$ et le coût moyen minimum que cette règle de décision peut atteindre est $$\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}$$

Notez cependant que cette minimalité du coût moyen n'est que parmi toutes les règles de décision du formulaire

Si $X > t$, la décision est que$\mathsf H_1$eu lieu.
Si$X \leq t$, la décision est que$\mathsf H_0$ eu lieu.

D'autres règles de décision peuvent bien entraîner des coûts moyens inférieurs à ceux $(2)$, et nous en discutons ci-dessous.


Règle de décision optimale au coût moyen minimum

La règle de décision optimale du coût minimum attendu est celle qui compare le rapport de vraisemblance$\displaystyle\Lambda(X) = \frac{f_1(X)}{f_0(X)}$ au seuil $\displaystyle\frac{c_0\pi_0}{c_1\pi_1}$ et décide que $\mathsf H_0$ ou alors $\mathsf H_1$ eu lieu selon que $\Lambda(X)$est inférieur ou égal au seuil ou est supérieur au seuil. Ainsi, la ligne réelle peut être partitionnée en ensembles$\Gamma_0$ et $\Gamma_1$ défini comme \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}$\Gamma_0$ et $\Gamma_1$ ne sont pas forcément les ensembles $\left\{x \leq T\right\}$ et $\left\{x > T\right\}$discuté précédemment. La décision optimale au coût moyen minimum a un coût 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 le rapport de vraisemblance est une fonction croissante monotone de son argument,

ensuite $\Gamma_0$ et $\Gamma_1$ se révèlent être de la forme $\left\{x \leq T^*\right\}$ et $\left\{x > T^*\right\}$ et $(3)$ simplifie à \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 peu de réflexion montre que $T^*$ doit nécessairement être identique à $T$ dans $(1)$. Mais il y a plus d'informations à obtenir de$(4)$ car maintenant nous avons une description différente de la valeur de $T^*$.

$T^*$ est le nombre tel que $\Lambda(T^*)$ équivaut à $\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}$, nous obtenons (avec une algèbre simple et l'affirmation que $T^*$ équivaut à $T$) cette $$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)}$$ dont la dérivation est ce qui a intrigué le PO.

Enfin, passons à l'affirmation selon laquelle $c$ égale aussi $\Pr(1\mid T)$. Laisser$Y$ être une variable aléatoire de Bernoulli telle que $Y=1$ n'importe quand $\mathsf H_1$ se produit pendant que $Y=0$ lorsque $\mathsf H_0$se produit. Ainsi nous avons cela pour$i=0,1$, $f_{X\mid Y=i}(x) := f_i(x)$. À présent,$X$ et $Y$ne peut pas profiter d'une fonction de densité articulaire car$Y$ n'est pas une variable aléatoire continue, et si nous voulons visualiser le $x$-$y$plan, alors nous avons deux densités de lignes (pondérées) $\pi_0f_0(x)$ et $\pi_1f_1(x)$ le long des lignes $y=0$ et $y=1$ dans le $x$-$y$avion. Quelle est la densité inconditionnelle de$X$? Eh bien, à$X=x$, la densité inconditionnelle de $X$ a de la valeur $$f_X(x) = \pi_0f_0(x)+\pi_1f_1(x).\tag{5}$$ En retournant les choses, quelle est la distribution de la variable aléatoire de Bernoulli $Y$ conditionné sur $X=x$? Bien quand$X=x$, $Y$ prend des valeurs $0$ et $1$ avec des probabilités respectives \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} ce qui montre que $c$ équivaut à $\Pr(Y=1\mid X=T)$ que le papier que l'OP est en train de lire écrit comme $\Pr(1|T)$. C'est le jargon de l'apprentissage automatique pour vous ...$(6)$ et $(7)$ valeurs plausibles pour le pdf conditionnel de $Y$? Eh bien, pour$i=0,1$, nous pouvons trouver la probabilité inconditionnelle que$Y=i$ en multipliant la probabilité conditionnelle $\Pr(Y=i\mid X=x)$ par le pdf de $X$ et intégrant ce qui nous donne \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} qui, je l'espère, ajoute une touche de vraisemblance artistique à un récit par ailleurs chauve et peu convaincant.