ROC

データ解析

【英語】 ROC: Receiver Operating Characteristic

【読み】 アールオーシー

用語解説

ROC は、スコア降順にサンプルを並べたとき、当該順位における FPF(偽陽性率)を横軸、TPF(真陽性率) を縦軸に取って描かれる曲線である。本手法は、ダイレクトメールの入会率予測モデル等の正解予測モデルの精度評価に利用できる。

■詳細説明
ROC(アールオーシー)曲線とは
ROC(Receiver Operating Characteristic)曲線とは、陽性と陰性を区分する分割点ごとに真陽性率(True Positive Fraction, TPF)と偽陽性率(False Positive Fraction, FPF)を計算し、縦軸に真陽性率、横軸に偽陽性率を取った平面にプロット、各点を線で結んだグラフのことを指す。ROC曲線は分類モデルの評価指標として使用されているが、医療業界において「受信者操作特性」と呼ばれ、臨床検査などにも用いられている。
※真陽性率=(真に陽性であり、判定も陽性のデータ数)/(真に陽性だったデータ数)
※偽陽性率=(真に陰性であり、判定は陽性のデータ数)/(真に陰性だったデータ数)

ROC曲線の例
ある入会を促すダイレクトメール(以下、DM)による入会率予測を実施したとする。構築したスコアリングモデルから、下記5人の入会率を推定した。尚、5人の入会有無は既知のものとする。


入会率は0~1の値をとり、0に近いほど「DMを送っても反応なし」(=陰性)を意味し、1に近いほど「DMに反応して入会する」(=陽性)を意味する。
ここで仮に、陽性と陰性を区分する分割点pの値を0.75とした場合、入会率がこの値を超えているのはAさんとBさんであるため、この2名を入会すると予測することになる。入会すると予測したAさん、Bさんの内、実際に入会したのはAさんのみであるため、正しく予測できたのはAさんのみだったということになる。従って、真陽性率は1/2となる。同様に、入会しないと予測したCさん、Dさん、Eさんの内、実際に入会しなかったのはDさん、Eさんである為、Cさんについては間違って陽性と予測してしまったことになる。従って、偽陽性率は1/3となる。
真陽性率と偽陽性率の値は、陽性と陰性を区分する分割点pの値によって変動し、すべてのpの値(0~1)について、真陽性率と偽陽性率の値をプロットしたグラフがROC曲線である。下記に上記の例の場合のROC曲線を示す。


ROC曲線とAUC
ROC曲線の下部分の面積をAUC(Area Under the Curve)と呼ぶ。AUCは0から1の値をとり、1に近いほどモデルの判別性能が高いことを示す。ROC曲線をプロットした際に、曲線が傾き45度の直線から左上に向かって膨らむほど良いモデルであり、右下に向かってくぼむほど悪いモデルであると評価できる。従って良いモデルの場合AUCが大きくなり、悪いモデルの場合AUCは小さくなる。AUCは二値分類における代表的な評価指標の一つである。ここで注意したいことは推定値に対して、二値分類する閾値を決定する際に、0と1の間の値である閾値0.5を設定することがあるが、モデルの性能を高くするには上記の説明における真陽性率、偽陽性率を基に、それぞれのビジネスや技術的な価値判断に基づいて適切な閾値を決定する必要があることである。例えば、病気の診断をする際に、本当は陰性であるのに、誤って陽性と診断することと、本当は陽性であるのに、誤って陰性と診断することであれば、後者の方が危険である。この場合は、偽陽性率が可能な限り0に近くなるように閾値を決定する事が求められるだろう。

混合行列
上記で、真陽性率と偽陽性率を説明したが、推定値に対してp以上のものを陽性と見なし閾値を決定して、結果を分類したものを混合行列と呼ぶ。混合行列はデータを分類したときに、その正解・不正解の数を表にすることで得られる。混合行列は下記のような表で表される。アルファベットのTはTrue、FはFalse、PはPositive、NはNegativeを指す。また、混合行列は英語ではConfusion Matrixと呼ばれる。このような手法はROC解析と呼ばれ、第2次世界大戦中に飛行機を発見するレーダーシステムの性能評価を目的として考案された方法である。ちなみにPythonなどのプログラミング言語では、混合行列を作成する処理がパッケージ化されており、推定値と実値を引数として渡す事で、自動で下記の表を作成してくれる。


混合行列と評価指標
二値分類における混合行列を使用した評価指標として、代表的なものにrecall(再現率)、precision(適合率)、F1-scoreと呼ばれる指標がある。これらもモデルの評価指標としてよく利用されている。
これらは、混合行列の成分を用いて下記の様に計算される。
recall=TP / (TP + FN)
precision = TP / (TP + FP)
F1-score=(2・recall・precision) / (recall + precision)

ROCによるモデルの性能評価
例えば、bodaisプラットフォームの「スコアリングエンジン」において、下図のようなゲインチャート(ROC曲線)が作成されモデル評価に使われている。ゲインチャートとは、横軸にスコア降順位、縦軸にスコア降順位までの累積レスポンス数を描いた曲線である。緑の曲線が傾き45度の直線から左上に向かって膨らむほど良いモデルであり、右下に向かってくぼむほど悪いモデルであると評価できる。上記のDMの例でいうと、下図は1.5万人に送付した場合、ランダム送付では1,841人が反応し、スコア上位では2,836人が反応するということである。


関連キーワード

関連事例


運営会社へのお問い合わせは、下記ボタンよりお問い合わせください。

運営会社へのお問い合わせはこちら 

bodais

bodais

DX総合支援サイト

運営会社