AUC'nin bir fonksiyonu olarak ROC eğrisindeki maliyet oranını türetmede bir adımı açıklamak

Dec 21 2020

On Bu yazıda David Hand tarafından yanlış sınıflandırma maliyetlerdir$c_0$ ve $c_1$ oranla $c$ olarak tanımlandı $c=c_0/(c_0+c_1).$ Optimal kabul edilen eşik

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

ile $t$ puanlarda herhangi bir eşik olmak ve $1=\pi_0+\pi_1$ popülasyondaki hastalıklı ve sağlıklı bireylerin fraksiyonları. $F_0$ hastalıklıların dağılımı ve $F_1$sağlıklı bireylerin dağılımı. Vakalar sınıf olarak kabul edilir$0.$

Bire bir ilişki olduğunu varsayarsak $c$ ile $T$ ve farklılaşarak, aşağıdaki sonucu alır (denklem (5)):

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

nerede $\Pr(1\vert T)$ sınıfa ait olma koşullu olasılığı $1,$ puan verildiğinde $T.$

Kırmızılı kısım hariç her şeyi burada takip ediyorum. Bu çok temel bir yanlış anlama olabilir, ancak koşullu olasılık, pdf'lerin aksine, bir cdf oranından hesaplanmamalı mı?

Sanırım cevabın puanları göz önünde bulundurarak $s(x)$ lojistik regresyonda, monoton olarak artan bir dönüşüm olarak $\Pr(1 \vert x).$


İşte bunu hacklemek için başarısız bir girişim:

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)

Denklemdeki 3 eşitliği karşılaştırmak:

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}:$ Çok güvenilir bir kaynaktan yardım aldıktan sonra (isimsiz, yanlış alıntı yapıyorum) arkasındaki düşünce $\Pr(1\vert T)$ değil $\Pr(1\vert s \geq T),$ bu, kodumun önereceği şeydi, daha ziyade $\Pr(1\vert s=T),$ veya $$\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). $$

Yanıtlar

3 DilipSarwate Dec 23 2020 at 05:19

Verilen karar kuralı

Hipotez ne zaman $\mathsf H_0$ doğrudur (olasılıkla meydana gelen bir olay $\pi_0$), karar değişkeni $X$ eşiği aşıyor $t$ olasılıkla $(1-F_0(t))$ (ve bu nedenle yanlış bir alarm oluşur) ve ortaya çıkan maliyet $c_0$.

Hipotez ne zaman $\mathsf H_1$ doğrudur (olasılıkla meydana gelen bir olay $\pi_1$), karar değişkeni $X$ eşikten daha küçük $t$ olasılıkla $F_1(t)$ (ve böylece kaçırılan bir tespit meydana gelir) ve ortaya çıkan maliyet $c_1$.

Bu nedenle, her kararın ortalama maliyeti veya beklenen maliyeti\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} Değeri $t$ bu, ortalama maliyeti en aza indirir, böylece $$T = \underset{t}{\arg \min}\big[c\pi_0(1-F_0(t)) + (1-c)\pi_1F_1(t)\big],\tag{1}$$ ve bu karar kuralının elde edebileceği minimum ortalama maliyet $$\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}$$

Bununla birlikte, ortalama maliyetin bu minimumluğunun yalnızca formun tüm karar kuralları arasında olduğuna dikkat edin.

Eğer $X > t$, Karar olmasıdır$\mathsf H_1$oluştu.
Eğer$X \leq t$, Karar olmasıdır$\mathsf H_0$ oluştu.

Diğer karar kuralları, bundan daha küçük ortalama maliyetler sağlayabilir. $(2)$ve bunları aşağıda tartışıyoruz.


Optimal minimum-ortalama-maliyet karar kuralı

Uygun en az beklenenden ekonomik karar kuralı olasılık oranı karşılaştırır biridir$\displaystyle\Lambda(X) = \frac{f_1(X)}{f_0(X)}$ eşiğe $\displaystyle\frac{c_0\pi_0}{c_1\pi_1}$ ve buna karar verir $\mathsf H_0$ veya $\mathsf H_1$ göre meydana geldi $\Lambda(X)$eşikten küçük veya eşik değerine eşit veya eşikten daha büyük. Böylece, gerçek çizgi setlere bölünebilir$\Gamma_0$ ve $\Gamma_1$ olarak tanımlandı \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} nerede $\Gamma_0$ ve $\Gamma_1$ setler olmak zorunda değil $\left\{x \leq T\right\}$ ve $\left\{x > T\right\}$daha önce tartışıldı. Uygun en az ortalama ekonomik karar bir maliyeti vardır$$\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}$$

Olasılık oranı, argümanının monoton artan bir fonksiyonuysa,

sonra $\Gamma_0$ ve $\Gamma_1$ formda olduğu tespit edildi $\left\{x \leq T^*\right\}$ ve $\left\{x > T^*\right\}$ ve $(3)$ basitleştirir \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} Biraz düşünce gösteriyor ki $T^*$ zorunlu olarak aynı olmalıdır $T$ içinde $(1)$. Ancak buradan alınacak daha fazla bilgi var$(4)$ çünkü şimdi değerinin farklı bir tanımına sahibiz $T^*$.

$T^*$ sayı öyle mi $\Lambda(T^*)$ eşittir $\displaystyle\frac{c_0\pi_0}{c_1\pi_1}$.

Nereden $\displaystyle\Lambda(T^*) = \frac{f_1(T^*)}{f_0(T^*)} = \frac{c_0\pi_0}{c_1\pi_1}$(bazı basit cebir ve $T^*$ eşittir $T$) bu $$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)}$$ OP'yi şaşırtan şey kimin türetilmesiydi.

Son olarak, şu iddiaya dönelim: $c$ ayrıca eşittir $\Pr(1\mid T)$. İzin Vermek$Y$ bir Bernoulli rastgele değişkeni olmak öyle ki $Y=1$ her ne zaman $\mathsf H_1$ meydana gelir $Y=0$ ne zaman $\mathsf H_0$oluşur. Böylece buna sahibiz$i=0,1$, $f_{X\mid Y=i}(x) := f_i(x)$. Şimdi,$X$ ve $Y$ortak yoğunluk işlevinden yararlanamıyor çünkü$Y$ sürekli bir rastgele değişken değildir ve eğer görselleştirmek istersek $x$-$y$düzlem, o zaman iki (ağırlıklı) çizgi yoğunluğumuz var $\pi_0f_0(x)$ ve $\pi_1f_1(x)$ çizgiler boyunca $y=0$ ve $y=1$ içinde $x$-$y$uçak. Koşulsuz yoğunluğu nedir$X$? Peki,$X=x$koşulsuz yoğunluğu $X$ değeri var $$f_X(x) = \pi_0f_0(x)+\pi_1f_1(x).\tag{5}$$ Dönen meseleler, Bernoulli rastgele değişkeninin dağılımı nedir $Y$ şartlandırılmış $X=x$? Peki, ne zaman$X=x$, $Y$ değerler alır $0$ ve $1$ ilgili olasılıklarla \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} bunu gösterir $c$ eşittir $\Pr(Y=1\mid X=T)$ OP'nin okuduğu kağıt şu şekilde yazıyor: $\Pr(1|T)$. Bu sizin için makine öğrenimi dili .... Ancak$(6)$ ve $(7)$ koşullu pdf için makul değerler $Y$? Eh, için$i=0,1$koşulsuz olasılığı bulabiliriz$Y=i$ koşullu olasılığı çarparak $\Pr(Y=i\mid X=x)$ pdf tarafından $X$ ve bize veren entegrasyon \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} Umarım ki, aksi halde kel ve ikna edici olmayan bir anlatıya sanatsal bir doğruluk katar.