PR曲線・ROC曲線再考その2「SP_indexの導入」

Pocket
LinkedIn にシェア
LINEで送る

前記事、PR曲線・ROC曲線再考その1「歪みの増加とPR-AUCの変化」を受けて、非常に歪みの大きいデータセットに対してPR-AUCを評価基準とすることに疑念が生じた。そこで新しい基準を作ることにしたのだが、その考え方の基礎となったのはSeparation Plotである。

Separation Plotでは、分類器が示した陽性確率の順にデータを並べた時、どのくらい陽性データが高確率の側に固まっているかを重視する。そのため、この固まり方を評価基準とすることで、歪みの大きいデータに対しても適切な評価が与えられると考えた。

具体的な手法は以下の通り。

まず、分類器が示した陽性確率に従って、1番目からデータを確率が小さい順に並べる。ここで、すべての陽性データについてその順位を足し合わせると、陽性データが高確率の側に固まっているほどその和は大きくなるはずである。

データの総数を \(N\) 、 \(k\) 番目のデータの陰性・陽性を \(t_k\) (ただし、陰性: \(t_k=0\) 、陽性:\(t_k=1\) とする)とおくと、順位の総和は、

$$\sum^{N}_{k=1}\epsilon_{t_k}(k)$$

と表せる。ただし、 \(\epsilon_{t_k}(k)\) は \(t_k=1\) のとき \(k\) 、 \(t_k=0\) のとき \(0\) となる \(k\) の関数である。この値はデータセットのサイズに比例して大きくなるため、異なるサイズのデータセット間での比較を可能とするために最大(すべての陽性データが高確率側に固まったとき)で \(1\) 、最小(すべての陽性データが低確率側に固まったとき)で \(0\) となるよう変形する。こうして得られた指標をSP_index(Separation Plot 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\) となる。また、 \(\sum^{N}_{k=N_n+1}k\) と \(\sum^{N_p}_{k=1}k\) はそれぞれ \(\sum^{N}_{k=1}\epsilon_{t_k}(k)\) の最大・最小値であることを確認されたい。

このSP_indexを最大とするような分類器は、データセットの歪みの影響を受けずに陽性データを高確率の側に固めてくれるはずである。そう考えて分析を開始したのだが、何度か実験を繰り返しているうちに不思議な現象が発生した。なんと、SP_indexとROC-AUCの値が常に一致したのである。

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

Pocket
LinkedIn にシェア
LINEで送る

神経科学を研究している博士学生。Rust, Python, C/C++, Unityを活用して、世界の様々な現象を分析・シミュレートしています。理系分野だけでなく、政治学や社会学も、もちろん分析対象です。

2件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です