Table of Contents
前提知識
ROC cruves
Def: ROC curves
ROC(Receiver Operating Characteristic)曲線は, True Positive Rateとfalse positive(Type I Error)の関係をグラフにしたものです. グラフの面積が大きいほど性能指標が良く, そのエリアの面積の計算はAUCとしてよばれます.
- 完全な予測を行った場合は, ROC曲線は左上の(0.0, 1.0)の点を通り, AUCは1.0になる
- ランダムな予測を実行した場合は, AUCは0.5程度となる
AUC
Def: Empirical AUC
$C_1$, $C_2$ をそれぞれpositiveとnegativeを表すClassの集合とします. $n_1$は$n_1$に属する観察サイズ, $N_2$は$C_2$に属する観察サイズとします.
各標本点 $i$ についてモデルが $D_i$ というスコアを出力し, $D_i$の大きさはpostiveに分類される確率の大きさに比例するとします. このとき, The area under empirically estimated ROC curve(= Empirical AUC)は
\[\widehat{AUC} = \frac{1}{n_1n_2} \sum_{i\in C_1}\sum_{j \in C_2} \bigg(\frac{1}{2}I(D_{i}>D_{j})+ \frac{1}{2}I(D_{i}=D_{j})\bigg)\]この式から, 各標本点について同じスコアを出力(=モデルが適当に出力している)ときAUCが0.5を出力することがわかります
ANOVA model
論文解説
問題設定
診断レベル | 1 | 2 | 3 | 4 | 5 |
Normal(50人) | 4 | 17 | 20 | 8 | 1 |
Diseased | 3 | 3 | 17 | 19 | 8 |
合計 | 7 | 20 | 37 | 27 | 9 |
50人の健康状態がNormalの患者と50人のDiseasedの患者,合計100人を考えます. とある医師がその100人の患者を独立に診察し, その診断結果を 1~5 と数値が大きくなるほど健康状態が悪くなるスコアで分類します.
上記の診断結果の良し悪しの判断方法として, 視覚的に判別可能なROC曲線が用いられることが多いですが, 他の人の診断結果との比較などを考える際には比較可能な数値, AUCを用いたりします.
ただ, スコアが1~5のカテゴリー, そしてそのBoundariesが4つしかないという状況のため, 本来はスムーズな曲線の下側エリアとして計算されるAUCが出来ないという問題に直面していまします.
また, 問題設定から論理的に導かれる要件からAUC全体ではなくて一部のpAUCでモデル性能比較を求められる時にどのようにpAUCを計算するか?という問題にも直面し得ます.
この論文では, binormal ROC曲線を仮定し, その下でのpAUCの計算手法とその計算手法の使い勝手良さを紹介しています.
SensitivityとSpecificity
- Sensitivity: TPF(True Position Fraction), Recall
- Specificity: 1-FPF(False Positive Fraction)
例として, 診断レベル 5 を基準にNormalとDiseased判定をしたとすると,
\[\begin{align*} \text{Sensitivity} &= 8/50 = 0.16\\[5pt] \text{Specificity} &= 1 - 1/50 = 0.98 \end{align*}\]基準を5から1まで変化させると(Sensitivity, Specificity)の組は, $(0.16, 0.98), (0.54, 0.82), (0.88, 0.42), (0.94, 0.08), (1.0, 0)$ と変化していきます.
Binormal ROC曲線
問題設定と同様に, 解きたいと考えている分類問題について, モデルが出力する患者 $i$ のついての診察結果を$X_i$ ($i$は患者index)としたとき, $X_i$が M個の順序性のあるcatagorized measurementsの場合を考えます.
Binormal ROC曲線の仮定
このとき, binormal ROC曲線の計算にあたって2つの仮定を設定します:
- モデルが出力するcatagorized measurementsは, 分析者には見えないGaussian random variablesに従う
- Gaussian random variablesについて, Normalの患者は $N(\mu_N, \sigma^2_N)$, Diseasedの患者は$N(\mu_D, \sigma^2_D)$に従う
1つ目の仮定は, このM個のcatagorized measurementsはcontinuous Gaussian random variables, $Z_i$に基づいており, M個のcatagorized measurementsは 分析者には観測できない M-1個の固定のboundaries $K_1, K_2, \cdots, K_{M-1}$に従っているとしています.
つまり,
\[X_i = \begin{cases} 1 & \text{if } \ \ Z \in (-\infty, K_1] \\ 2 & \text{if } \ \ Z \in (K_1, K_2] \\ \vdots & \\ M & \text{if } \ \ Z \in (K_{M-1}, \infty) \\ \end{cases}\]2つ目の仮定は,
\[Z_i = \begin{cases} Z_N \sim N(\mu_N, \sigma^2_N) & \text{if 患者 i がNormal}\\ Z_D \sim N(\mu_D, \sigma^2_D) & \text{if 患者 i がDiseased} \end{cases}\]Binormal ROC曲線の導出
まず分析者が$Z_i$を観測できるとして, 任意の基準点 $u$ について $Z_i > u$ ならばDiseasedであるというルールで分類すると
\[\begin{align*} \text{FPF} &= Pr(Z_N > u) = 1 - \Phi\bigg(\frac{u-\mu_N}{\sigma_N}\bigg)\\ \text{TPF} &= Pr(Z_D > u) = 1 - \Phi\bigg(\frac{u-\mu_D}{\sigma_D}\bigg) \end{align*}\]従って, FPFとTPFの関係について次のように表現できます:
\[\begin{align*} \text{TPF} &= \Phi[a + b \Phi^{-1}(FPF)]\tag{A-1}\\ a &= \frac{\mu_D - \mu_N}{\sigma_D}\\ b &= \frac{\sigma_N}{\sigma_D} \end{align*}\]$(a, b)$はnoiseが混じった${X_i}_{i=1}^n$によって定義されるTPF, FPFの組を用いたMLEによって推定が可能としている. なお, $(\mu_N, \mu_D, \sigma_N, \sigma_D)$は直接推定しないことに留意.
pAUCの計算方法
Binormal modelの下でのpAUC(=partial Area Under the Curve)の計算方法を紹介します.
(A-1) に基づき, FPFを$x$に書き換え, $x \in (0, c)$を定義域とするpAUCは以下のように計算されます
\[\text{pAUC}_c = \int_0^c \text{TPF}_xdx = \int^c_0\Phi[a + b \Phi^{-1}(x)]dx\tag{A-2}\]ここで以下のような変数変換を導入します
\[x_1 = \Phi(x)\tag{A-3}\](A-2), (A-3)より
\[\begin{align*} \text{pAUC}_c &= \int^{\Phi^{-1}(c)}_{-\infty}\Phi[a + b x_1]\phi(x_1)dx_1\\ &= \int^{\Phi^{-1}(c)}_{-\infty}\int^{a+bx_1}_{-\infty}\phi(x_2)\phi(x_1)dx_2dx_1 \tag{A-4} \end{align*}\]更に次のような変数変換を導入します:
\[\begin{align*} z_1 &= \frac{x_2 - bx_1}{\sqrt{1+b^2}} \tag{A-5}\\ z_2 &= x_1 \tag{A-6}\\ \rho &= -\frac{b}{\sqrt{1+b^2}}\tag{A-7} \end{align*}\](A-4), (A-5), (A-6), (A-7)より
\[\begin{align*} \text{pAUC}_c &= \int^{\Phi^{-1}(c)}_{-\infty}\int^{a/\sqrt{1+b^2}}_{-\infty}\frac{1}{\sqrt{1 - \rho^2}}\phi(z_2)\phi\bigg[\frac{z_1-\rho z_2}{\sqrt{1-\rho^2}}\bigg]dz_1dz_2\\ &=\int^{\Phi^{-1}(c)}_{-\infty}\int^{a/\sqrt{1+b^2}}_{-\infty}\phi(z_1, z_2; \rho)dz_1dz_2\\ \phi(z_1, z_2; \rho) &= \frac{1}{2\pi\sqrt{1-\rho^2}}\exp\bigg(-\frac{z_1^2 - 2\rho z_1z_2+z_2^2}{2(1-\rho^2)}\bigg) \end{align*}\]このように相関係数 $\rho$ のbivariate Gaussian probability density functionの積分値で計算できることがわかります.
References
Paper
関連ポスト
R package
(注意:GitHub Accountが必要となります)