PR曲線・ROC曲線再考その3「SP_indexとROC-AUC」 | USHITORA Lab.
スポンサーリンク

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

Methodology

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

$$SP\_index=\frac{\sum^{N}_{k=1}\epsilon_{t_k}(k)-\sum^{N_p}_{k=1}k}{\sum^{N}_{k=N_n+1}k-\sum^{N_p}_{k=1}k}$$

と表せる指標であった。ここで、 \(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}\) )とおくと以下のように変形できる。

$$SP\_index=\frac{(\phi_1+\phi_2+…+\phi_{N_p})-(1+2+…+N_p)}{\{(N_n+1)+(N_n+2)+…+(N)\}-(1+2+…+N_p)}$$

$$=\frac{(\phi_1-1)+(\phi_2-2)+…+(\phi_{N_p}-N_p)}{(N_n+1-1)+(N_n+2-2)+…+(N-N_p)}$$

$$=\frac{(\phi_1-1)+(\phi_2-2)+…+(\phi_{N_p}-N_p)}{N_nN_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)

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

このとき、 \(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-2Nn-1Nn-1Nn-1NnNn

このように、 \(\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は求めるものが同一であることが示された。

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

コメント

  1. […] その後、それぞれの指標を比較すると、これらの指標は互いに同一のものであることがわかったのだが、その説明はまた次回としたい。 […]