AUCの関数としてROC曲線のコスト比を導出するステップを説明する

Dec 21 2020

で、この論文デビッド手によって誤分類コストは、$c_0$ そして $c_1$ 比率で $c$ として定義 $c=c_0/(c_0+c_1).$ 最適と見なされるしきい値は

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

$t$ スコアのしきい値であり、 $1=\pi_0+\pi_1$ 人口の病気で健康な個人の割合。 $F_0$ 病気の分布であり、 $F_1$健康な個人の分布。ケースはクラスと見なされます$0.$

の1対1の関係を想定 $c$$T$ 微分すると、彼は次の結果を得る(式(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)$ クラスに属する条件付き確率です $1,$ 与えられたスコア $T.$

赤の部分を除いて、ここのすべてに従います。これは非常に基本的な誤解かもしれませんが、条件付き確率はpdfではなくcdfの比率から計算するべきではありませんか?

答えはスコアを考慮することだと思います $s(x)$ の単調増加変換としてのロジスティック回帰で $\Pr(1 \vert x).$


これをハッキングしようとして失敗したのは次のとおりです。

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)

方程式の3つの等式を比較します。

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}:$ 非常に信頼できる情報源から助けを得た後(私が誤って引用しないように名前を付けていない)、背後にある考え方 $\Pr(1\vert T)$ ではありません $\Pr(1\vert s \geq T),$ これは私のコードが示唆するものですが、むしろ $\Pr(1\vert s=T),$ または $$\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). $$

回答

3 DilipSarwate Dec 23 2020 at 05:19

与えられた決定ルール

仮説が $\mathsf H_0$ true(確率で発生するイベント) $\pi_0$)、決定変数 $X$ しきい値を超えています $t$ 確率で $(1-F_0(t))$ (したがって、誤警報が発生します)そして発生するコストは $c_0$

仮説が $\mathsf H_1$ true(確率で発生するイベント) $\pi_1$)、決定変数 $X$ しきい値よりも小さい $t$ 確率で $F_1(t)$ (したがって、検出漏れが発生します)、発生するコストは $c_1$

したがって、各決定の平均コストまたは予想コストは次のようになります。\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} の値 $t$ したがって、平均コストを最小化するのは $$T = \underset{t}{\arg \min}\big[c\pi_0(1-F_0(t)) + (1-c)\pi_1F_1(t)\big],\tag{1}$$ この決定ルールが達成できる最小平均コストは $$\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}$$

ただし、この平均コストの最小化は、フォームのすべての決定ルールの中にのみあることに注意してください。

場合 $X > t$決定はそれです$\mathsf H_1$発生した。
場合$X \leq t$決定はそれです$\mathsf H_0$ 発生した。

他の決定ルールは、より小さな平均コストを達成する可能性があります $(2)$、およびこれらについては以下で説明します。


最適な最小平均コストの決定ルール

最適な最小の予想コストの決定規則は、尤度比を比較するものです$\displaystyle\Lambda(X) = \frac{f_1(X)}{f_0(X)}$ しきい値まで $\displaystyle\frac{c_0\pi_0}{c_1\pi_1}$ そしてそれを決定します $\mathsf H_0$ または $\mathsf H_1$ に従って発生した $\Lambda(X)$がしきい値以下であるか、しきい値よりも大きい。したがって、実数直線をセットに分割することができます$\Gamma_0$ そして $\Gamma_1$ として定義 \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$ そして $\Gamma_1$ 必ずしもセットではありません $\left\{x \leq T\right\}$ そして $\left\{x > T\right\}$前に説明しました。最適な最小平均コストの決定は、コストを持っています$$\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}$$

尤度比がその引数の単調増加関数である場合、

その後 $\Gamma_0$ そして $\Gamma_1$ 次の形式であることが判明 $\left\{x \leq T^*\right\}$ そして $\left\{x > T^*\right\}$ そして $(3)$ に簡略化 \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} 少し考えてみると $T^*$ 必然的にと同じでなければなりません $T$$(1)$。しかし、そこから得られるべきより多くの情報があります$(4)$ なぜなら今、私たちはの値の異なる記述を持っているからです $T^*$

$T^*$ そのような数です $\Lambda(T^*)$ 等しい $\displaystyle\frac{c_0\pi_0}{c_1\pi_1}$

から $\displaystyle\Lambda(T^*) = \frac{f_1(T^*)}{f_0(T^*)} = \frac{c_0\pi_0}{c_1\pi_1}$、私たちは(いくつかの簡単な代数とその主張で $T^*$ 等しい $T$) それ $$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を困惑させたものです。

最後に、次のような主張に目を向けましょう。 $c$ また等しい $\Pr(1\mid T)$。しましょう$Y$ 次のようなベルヌーイ確率変数である $Y=1$ いつでも $\mathsf H_1$ 発生します $Y=0$ いつ $\mathsf H_0$発生します。したがって、私たちはそれを持っています$i=0,1$$f_{X\mid Y=i}(x) := f_i(x)$。さて、$X$ そして $Y$同時密度関数を楽しむことができないため$Y$ は連続確率変数ではなく、視覚化する場合は $x$-$y$平面の場合、2つの(重み付けされた)線密度があります $\pi_0f_0(x)$ そして $\pi_1f_1(x)$ 線に沿って $y=0$ そして $y=1$ の中に $x$-$y$飛行機。の無条件密度とは何ですか$X$?まあ、で$X=x$、の無条件密度 $X$ 価値がある $$f_X(x) = \pi_0f_0(x)+\pi_1f_1(x).\tag{5}$$ 振り返ってみると、ベルヌーイ確率変数の分布は何ですか $Y$ 条件付き $X=x$?さて、いつ$X=x$$Y$ 価値観をとる $0$ そして $1$ それぞれの確率で \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} それはそれを示しています $c$ 等しい $\Pr(Y=1\mid X=T)$ OPが読んでいる紙は次のように書いています $\Pr(1|T)$。それはあなたのための機械学習用語です....しかし、$(6)$ そして $(7)$ の条件付き確率密度関数のもっともらしい値 $Y$?まあ、のために$i=0,1$、私たちは無条件の確率を見つけることができます$Y=i$ 条件付き確率を乗算することによって $\Pr(Y=i\mid X=x)$ のpdfによって $X$ そして統合することで私たちに \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} それ以外の場合はハゲで説得力のない物語に芸術的な真実性のタッチを追加することを願っています。