AUCとは?ROC曲線とは?感度(sensitivity)とは?特異度(specificity)とは?

AUCという言葉は医療系あるいは機械学習の世界では頻出で、何の説明もなくAUCはいくらいくらでしたといった使われ方をします。初めてこの世界に来た人にしてみれば、「?」です。AUCとは何かを調べるとROCが出てきて、それ何?と思って調べると、TPFやFPFが出てきて、最初から理解するしかありません。

AUC:ROC曲線のグラフの下の部分の面積(‘Area Under the Curve)の略語

ROC:ROC曲線とは、Receiver Operating Characteristic curveのこと。検査や診断において、陽性か陰性かを判別するカットオフ(選別点)を動かした場合の、偽陽性率(=FPF)を横軸に、真陽性率(=TPF)を縦軸にとって、線で結んだグラフ。

偽陽性率=1-特異度

陽性率=感度

特異度

まだ何のこっちゃ?ですが、ROCを理解するための重要の前提は、「検査や診断は白か黒かにハッキリ分けられることは普通はない」という事実です。つまりあるマーカーの値で病気か病気でないかを判断しましょうと言ったときに、「病気か病気でないかを判別するカットオフ値をどう設定するか」という恣意的な操作が入っているのです。とある「簡易うつ病診断テスト」で質問項目20個に答えてもらった場合に、各項目1点として、15点を超えた人をうつ病と判断するのか、12点を超えた場合にうつ病とみなすのか、というわけです。12点だった人の場合でも実はうつ病の人と、実はうつ病ではない人が混じっているわけです。この場合、うつ病かどうかの診断が別の方法で確定できるという前提で話しています。つまりもともとうつっぽい性格なんだけど全然うつ病ではない人がいたときに、その人は、「擬陽性」(うつでないのにうつと判断されてしまう)になるというわけです。

別の例で説明すると、がん患者の集団とがんでない人の集団があったとして、あるがんマーカーの値を調べたとします。仮にがんマーカーの値が0から100までの値をとれるとします。がん患者の集団はおおよそ80くらいの値に集中していて、がんではない人のマーカーの値は20くらいに集中していたとします。がんマーカーの値が50の場合に、がんの人もいればがんでない人もいて入り混じった状態です。このような状況だと、このがんマーカーでがんかどうかを判別することは、「ある程度」の正確さでしかできず、カットオフの値をどう設定するかで、がん(の疑い)かどうかの判断が変わってくるということになります。そこで、カットオフの値を動かしたときに、偽陽性率(=FPF)を横軸に、真陽性率(=TPF)(感度とも呼ばれる)を縦軸にとってグラフが書けるということになります。このグラフがROC曲線と呼ばれ、その下側の面積がAUCと呼ばれます。

pythonで試してみます。健常者4000人のがんマーカー値の平均が40、標準偏差12、また、がん患者1000人のがんマーカー値の平均値が70、標準偏差12だったとします(pythonで、そうなるように乱数を発生させた)。すると、マーカー値の分布をプロットして、ROC曲線を描いてみると、

となりました。AUCは96%みたいです。今度は試しに、健常者4000人のがんマーカー値の平均が45、標準偏差12、また、がん患者1000人のがんマーカー値の平均値が45、標準偏差12だったとします。すると、描画したら

となり、AUCは50%でした。これはつまり、このがんマーカーは健常者とがん患者とを全く区別できていないという、極端な条件です。

こんどは、健常者40人、がんマーカー値の平均値40、標準偏差20、がん患者の人数を5人、平均値を60、標準編偏差20としてみます。すると、

で、AUCを計算する70.5%になりました。

今度は、健常者400人、平均40、標準偏差20、がん患者50人、平均60、標準偏差10にしてみます。

これのAUDは80.7%。上のヒストグラムから明らかなように、今の場合がん患者の分布はほとんど健常者の分布の内部にあります。するとROC曲線をみてわかるように、偽陰性率を上げないと感度も上がらないわけですね。いいマーカーは直線関係よりもできるだけ上に膨らんで欲しいのですが、今の場合は直線的に上昇しているだけで、あまり良いマーカーでないことがわかります。

最後に、健常者45人、がんマーカー平均値40、標準偏差10、がん患者5人、がんマーカー平均値70、標準偏差10でランダムに分布を得ました。

今の場合、偶然ですが、健常者とがん患者の重なりはゼロです。すると偽陽性率0のカットオフがあるので、感度は100%になります。AUCは100%。例数が少ない場合に実験データからROC曲線やAUCを求めると、こういうことも起こるようです。

参考図書

  1. 森本 剛『医学論文のための 研究デザインと統計解析』(中山書店2017年)146ページ 診断特性 Topic マーカー研究と診断特性pp144-157 この本は臨床研究実践のための教科書としては最強の部類に入ります。

AUCとは

ROC曲線は、診断法がどれぐらい有用なのかを知るときに使われ、曲線下の面積(AUC)によって定量化されます。(医療統計コラム File 2. ROC曲線は、こんなふうに描かれます jmp

ROC曲線とは

  • 与えられた値から,真(TRUE)か偽(FALSE)かを判断したい
  • 与えられた値をどこで切っても,TとFは完全には分離できません
  • 区切る値(閾値,カットオフポイント)をいろいろ変えて,横軸にfalse positiveの割合,縦軸にtrue positiveの割合をとってプロットしたものが,ROC曲線
  • ROCはReceiver Operating Characteristicの略で,第2次大戦のときに米国のレーダーの研究から生まれた概念

ROC曲線 edu.mie-u.ac.jp

  1. ROC curve analysis  MedCalc

血中薬物濃度-時間曲線下面積(AUC)とは?

AUCは体循環血液中に入った薬物量比例します。(薬物血中濃度-時間曲線下面積(AUC) 治験ナビ)

Area Under the Curve One of the most important pharmacokinetic parameters is the area under the drug concentration versus time curve within the dosing interval (AUC) because AUC relates dose to exposure. Because the dosing interval is typically once daily or every 24 h on safety studies, the reported AUC is typically AUC0–24 h. AUC is the quantitative measure of the apparent amount of compound at the site from which samples were collected and concentrations measured, which in most cases is the systemic circulation. When sampling occurs from the systemic circulation, it is often an indication of systemic exposure. The simplest method for calculating AUC is the linear trapezoidal rule (Gibaldi and Perrier 1982). (sciencedirect.com)

参考ウェブサイト

  1. 機械学習の評価指標 – ROC曲線とAUC TECH BLOG by GMO