PR曲線・ROC曲線再考その3「SP_indexとROC-AUC」

機械学習・AI
スポンサーリンク

さて、前回はSP_indexという新たな指標を考案したわけであるが、今回はそれがROC-AUCと実は同一のものであるということを示す。SP_indexは、

と表せる指標であった。ここで、 \(N_p\) は陽性データの数、 \(N_n\) は陰性データの数であり、\(N=N_p+N_n\) となる。また、 \(\epsilon_{t_k}(k)\) は \(t_k=1\) のとき \(k\) 、 \(t_k=0\) のとき \(0\) となる \(k\) の関数である。

この式に含まれる総和 \(\Sigma\) が持つ項数はすべて \(N_p\) であるため、 \(\sum^{N}_{k=1}\epsilon_{t_k}(k)\) が持つ \(N_p\) 個の値を \(\{\phi_1,\phi_2,..., \phi_{N_p}\}\) (ただし \(\phi_1<\phi_2<...<\phi_{N_p}\) )とおくと以下のように変形できる。

したがって、分母を縦 \(N_n\) ×横 \(N_p\) の長方形の面積と見ると、SP_indexの値は、その長方形に縦 \((\phi_k-k)\) × 横 \(1\) (ただし、 \(1{\le}k{\le}N_p\) )の長方形を \(N_p\) 個並べたとき、それらの長方形の面積の和が縦 \(N_n\) ×横 \(N_p\) の長方形の面積に占める割合と見ることができる(Fig. 1の青色の図形が占める割合)。

(Fig. 1: \(N_n=8\) ,  \(N_p=12\) のとき)

ここで、 \((\phi_1-1){\le}(\phi_2-2){\le}...{\le}(\phi_{N_p}-N_p)\) が常に成り立つ。証明は以下の通りである。

陽性データの集合を \(\Lambda=\{\lambda_1,\lambda_2,...,\lambda_{N_p}\}\) 、陰性データの集合を \(M=\{\mu_1,\mu_2,...,\mu_{N_n}\}\) とする。ただし、分類器がデータ \(\alpha\) に与える陽性確率を \(p(\alpha)\) と表すことにすると、各データは \(\{p(\lambda_1){\le}p(\lambda_2){\le}...{\le}p(\lambda_{N_p})\}\), \(\{p(\mu_1){\le}p(\mu_2){\le}...{\le}p(\mu_{N_n})\}\) となるように並んでいる。

ここで、 \(\Lambda\) と \(M\) を混合して陽性確率順に並べ直すと、データが完璧に分類された場合は(Table. 1)のように並ぶ(最も陽性確率の低いデータが順位1になることに注意!)。

(Table. 1)

順位1...Nn-1NnNn+1...N-2N-1N
陽性データΛ    λ1...λNp-2λNp-1λNp
陰性データMμ1...μNn-1μNn     
順位(φk) - k (1≦k≦Np)    Nn NnNnNn

このとき、 \(N_p\) 個の \((\phi_k-k)\) の値はすべて等しく \(N_n\) であり、これらのお青い長方形の面積の総和は \(N_nN_p\) に等しい( \(SP\_index=1\) )。

次に、陽性データと陰性データが完璧に分類されていない(Table. 2)のような状況を考える。

(Table. 2)

順位...N-7N-6N-5N-4N-3N-2N-1N
陽性データΛ...λNp-5 λNp-4λNp-3λNp-2 λNp-1λNp
陰性データM... μNn-1   μNn  
順位(φk) - k (1≦k≦Np)...Nn-2 Nn-1Nn-1Nn-1 NnNn

このように、 \(\lambda\) の間に \(\mu\) が入ると、その \(\mu\) より左では \((\phi_k-k)\) の値が \(1\) 小さくなる。したがって、 \((\phi_1-1){\le}(\phi_2-2){\le}...{\le}(\phi_{N_p}-N_p)\) が成り立つ。また、 \(\mu_k\) の右側に存在する \(\lambda\) の数を \(L(\mu_k)\) とおく(Table. 2では、 \(L(\mu_{N_n})=2, L(\mu_{N_n})=5\) である)と、(Fig. 2)のように(Fig. 1)を格子状に見た場合、 \(L(\mu_k)\) は下から \(k\) 列目に存在する青色の格子の数に等しい。

(Fig. 2)

次に、(Table. 2)で与えられた分類結果のROC曲線について考えてみる。通常のROC曲線の図はx軸、y軸ともに \(0{\le}, {\le}1\) であり、1辺長さが1の正方形とみなすことができる(Fig. 3)。

(Fig. 3)

なお、それぞれの軸の内容は、TP(真陽性)、FP(偽陽性)、TN(真陰性)、FN(偽陰性)を用いて以下のように表せる。

x軸: FP / (FP + TN)

y軸: TP / (TP + FN)

ここで、ROC曲線の図をx軸方向に \(N_n\) 倍、y軸方向に \(N_p\) 倍にそれぞれ拡大すると、この図は縦 \(N_p\) ×横 \(N_n\) の長方形とみることができる(Fig. 4)。

(Fig. 4: \(N_n=8\) ,  \(N_p=12\) のとき)

この時、TP・FP・TN・FNの値によらず常に \(N_p=TP+FN\) ,  \(N_n=FP+TN\) が成り立つことに注目すると、それぞれ \(N_n\) 倍・ \(N_p\) 倍したx・y軸の内容は変化し、x軸はFP・y軸はTPそのものになる。すなわち、この拡大されたROC曲線を作成するには、FPの数を変化させながら、対応するTPの数をプロットしていくことになる。ここで、FPが1, 2, 3, ...のときのTPの値について(Table. 2)をもとに考えると、

FP=1 のとき、TP= \(L(\mu_{N_n})\)

FP=2のとき、 TP= \(L(\mu_{N_n-1})\)

FP=Nnのとき、 TP= \(L(\mu_{1})\)

となるが、これらの値は(Fig. 2)における下から \(k\) 列目に存在する青色の格子の数に等しい。さらに、上記の方法に従ってROC曲線を作成すると(Fig. 5)のようになるが、この曲線のAUCである青色の図形は、(Fig. 2)を90°回転して(Fig. 6)、反転したもの(Fig. 7, Fig. 8)と一致する。

(Fig. 5)

(Fig. 6)

(Fig. 7)

(Fig. 8:Fig. 7の軸をふり直し、適宜拡大縮小した)

以上より、SP_indexとROC-AUCは求めるものが同一であることが示された。

この結果から考察される事柄のまとめについては、また次回としたい。

コメント