玄関雑学の部屋雑学コーナー統計学入門

9.2 群の判別と診断率

(1) 診断率

医学分野では、このように特定の検査項目の値に基づいて、被検者が特定の疾患にかかっているかどうかを診断することがしばしばあります。 その際、検査項目の値が境界値以上になることを陽性(Positive)、境界値未満になることを陰性(Negative)、境界値のことをカットオフポイント(cut-off point)、診断結果が正しいことをTrue、間違っていることをFalseと呼び、次のような値を診断率の指標としてよく利用します。 (→1.9 科学的研究のデザイン)

図9.2.1 診断率の模式図
表9.2.1 群と検査結果
 検査結果
陰性(Negative)陽性(Positive)
正常群(Normal)TNFPnN
疾患群(Disease)FNTPnD
TN+FNFP+TPn
感度(sensitivity) … 疾患群が陽性になる確率

特異度(specificity) … 正常群が陰性になる確率

正診率(accuracy) … 正しく診断する確率
AC=πDSN + (1-πD)SP
※疾患群の割合(nD/n)がその疾患の一般的な有病率πDを反映している時は次式で計算可能

陽性尤度比(positive likelihood ratio) … 真陽性確率と偽陽性確率の比

陰性尤度比(negative likelihood ratio) … 偽陰性確率と真陰性確率の比

陽性予測値または陽性適中度(positive predictive value) … 検査結果が陽性の時に本当に疾患である確率

※疾患群の割合(nD/n)がπDを反映している時は次式で計算可能

陰性予測値または陰性適中度(negative predictive value) … 検査結果が陰性の時に本当に正常である確率

※疾患群の割合(nD/n)がπDを反映している時は次式で計算可能

例えば表9.1.1のTCについて、境界値を229とした時の検査結果は次のようになります。 (注1)

表9.2.2 TCによる動脈硬化症の検査結果
 TCの検査結果
陰性(229未満)陽性(229以上)
正常群13215
動脈硬化症群1910
141125
感度: (95%信頼区間:0.55-0.997)
特異度: (95%信頼区間:0.60-0.98)
正診率: (95%信頼区間:0.69-0.97)
陽性尤度比: (95%信頼区間:1.83-24.93)
陰性尤度比: (95%信頼区間:0.02-0.75)
陽性予測値: (95%信頼区間:0.55-0.94)
陰性予測値: (95%信頼区間:0.67-0.99)
※正診率と陽性予測値・陰性予測値は表9.2.2のデータが動脈硬化症の一般的な有病率を反映していると仮定して計算した値

陽性尤度比は疾患群の検査結果が陽性になる確率つまり真陽性確率(感度)と、正常群の検査結果が陽性になる確率つまり偽陽性確率(1−特異度)の比です。 陰性尤度比は疾患群の検査結果が陰性になる確率つまり偽陰性確率(1−感度)と、正常群の検査結果が陰性になる確率つまり真陰性確率(特異度)の比です。 感度と特異度が大きいと陽性尤度比は1より大きくなり、陰性尤度比は1より小さくなります。 そのためこれらの値は検査項目が診断指標として有用であるかどうかを表す指標になります。

これらの値が陽性尤度比と陰性尤度比と呼ばれる理由は、これらの値は検査結果が陽性だった時または陰性だった時の疾患群の尤度と正常群の尤度の比と解釈することができるからです。 また陽性尤度比は通信工学などで用いられるS(シグナル)/N(ノイズ)比にも相当します。 尤度という耳慣れない言葉については次の第3節で説明します。 (→9.3 1変量の場合 (1)尤度と最尤法)

陽性予測値は検査結果が陽性の時に本当に疾患である確率であり、陰性予測値は検査結果が陰性の時に本当に正常である確率です。 これらの値の計算式として、疾患群の割合(nD/n)がその疾患の一般的な有病率(prevalence)πDを反映している時のものだけを記載している統計学の解説書がよくあります。 しかしそのようなデータは全体の例数nだけを研究者が指定し、被験者を自然状態でサンプリングして、それを何らかの方法で疾患群と正常群に分けて検査項目の値を測定するという横断的研究から得られます。 表9.2.2はそのようにして観察したデータではなく、動脈硬化症患者と正常者を同じくらいの例数だけ集めて観察したデータつまり症例対照研究から得られたデータです。

診断率を厳密に求めるためには、表9.2.2のように正常群の例数nNと疾患群の例数nDは研究者が指定した定数でなければなりません。 そのため原則として症例対照研究から得られたデータを用いる必要があります。 したがって表9.2.2の場合、疾患群の割合がその疾患の一般的な有病率を反映している時の計算式から求めた陽性予測値と陰性予測値は正確な値ではありません。

図9.2.2 実際の臨床現場での診断

実際の臨床現場では、たいていは図9.2.2のように有病率に応じて疾患群の例数は少なく、疾患群の正常群の例数は多くなります。 その結果、FPの例数が多くなりFNの例数が少なくなるため、陽性予測値は小さくなり陰性予測値は大きくなります。 このような時に正確な陽性予測値と陰性予測値を求めるには、図9.2.2の正常群と疾患群の比が必要になります。 そしてこの比を求めるには疾患の一般的な有病率の値つまり疾患の事前確率が必要になります。

疾患の事前確率がわかれば、陽性尤度比と陰性尤度比を利用して検査結果が陽性だった時の疾患オッズと検査結果が陰性だった時の疾患オッズを求めることができます。 そしてその疾患オッズから正確な陽性予測値と陰性予測値を求めることができます。 疾患オッズとは疾患である確率と疾患でない確率の比、つまり図9.2.2の正常群と疾患群の比のことです。 そして疾患である確率をπとすると、πと疾患オッズの間には次のような関係があります。

疾患オッズ:   疾患である確率:

動脈硬化症の事前確率つまり検査前確率(pretest probability)をπDとすると、検査をする前の疾患オッズは次のようになります。 これを事前オッズ(prior odds)または検査前オッズ(pretest odds)といいます。

検査前オッズ:

表9.2.2は症例対照研究から得られたデータですから、この表から計算した動脈硬化症群の割合は事前確率として使えません。 しかし仮にその値を動脈硬化症群の事前確率とすると、検査前オッズは次のようになります。

動脈硬化症の事前確率(検査前確率):
動脈硬化症の検査前オッズ:

これは疾患か正常か不明な被験者について、検査をする前はその被験者が動脈硬化症である確率は0.4であり、動脈硬化症のオッズは0.67であるということを表しています。

一方、検査後に疾患群の検査結果が陽性になる確率つまり真陽性率は感度であり、これは疾患群の陽性尤度に相当します。 そのため被験者が疾患であり、かつ検査結果が陽性になる確率は、疾患の事前確率に疾患の陽性尤度をかけた値になるはずです。 例えば表9.2.2の動脈硬化症の場合は次のようになります。

動脈硬化症群の感度=動脈硬化症群の陽性尤度=
動脈硬化症でありかつ検査結果が陽性になる確率=動脈硬化症の事前確率×動脈硬化症の陽性尤度=
表9.2.2の場合:25×0.36=9例(動脈硬化症群における陽性の例数)

同様に正常群の検査結果が陽性になる確率つまり偽陽性率は(1-特異度)であり、これは正常群の陽性尤度に相当します。 そのため被験者が正常であり、かつ検査結果が陽性になる確率は、正常の事前確率に正常の陽性尤度をかけた値になります。 例えば表9.2.2の場合は次のようになります。

正常群の(1−特異度)=正常群の陽性尤度=
正常でありかつ検査結果が陽性になる確率=正常の事前確率×正常の陽性尤度=
表9.2.2の場合:25×0.08=2例(正常群における陽性の例数)

これらの確率から、検査結果が陽性だった時の動脈硬化症のオッズつまり疾患オッズを求めることができます。 これを事後オッズ(posterior odds)または検査後オッズ(posttest odds)といいます。 そしてベイズ(Bayes)の定理に基づいて、この検査後オッズを利用して検査結果が陽性の時の疾患の確率つまり陽性予測値を求めることができます。 このように事前確率に尤度をかけると事後確率になり、その事後確率から事前の状態を推測することができます。

検査結果が陽性の時の動脈硬化症の検査後オッズ=
検査結果が陽性の時の動脈硬化症の確率=陽性予測値:

疾患の事前確率と正常の事前確率の比が検査前オッズであり、検査結果が陽性の時の疾患群の尤度と正常群の尤度の比が陽性尤度比です。 そのため結局のところ、検査前オッズに陽性尤度比をかけると検査結果が陽性だった時の検査後オッズになります。 同様に検査前オッズに陰性尤度比をかけると、検査結果が陰性だった時の検査後オッズを求めることができます。 そしてそれらの検査後オッズを利用して陽性予測値と陰性予測値を求めることができます。

ちなみにベイズの定理に基づいたベイズ統計学(ベイジアン統計学、Bayesian Statistics)では、尤度比のことをベイズ因子(Bayes factor)と呼んでベイズ流仮説検定の指標として用います。 (→付録6 ベイズ統計学)

検査結果が陽性の時の検査後オッズ:
検査結果が陽性の時に疾患である確率=陽性予測値:
検査結果が陰性の時の検査後オッズ:
検査結果が陰性の時に疾患である確率=
陰性予測値=1−検査結果が陰性の時に疾患である確率:

表9.2.2について、検査結果が陰性の時の検査後オッズと陰性予測値を求めると次のようになります。


検査結果が陰性の時に疾患である確率=
陰性予測値:

この計算では検査前オッズとして表9.2.2から求めた値を使用したので、陽性予測値と陰性予測値は表9.2.2のデータから求めた値と一致しました。 しかし実際の計算では検査前オッズは動脈硬化症の一般的な有病率から計算するため、これらの値と一致するとは限りません。

例えば動脈硬化症の事前確率を10%、感度を95%、特異度を90%とすると、検査前オッズと検査後オッズ、そして陽性予測値と陰性予測値は次のようになります。

  
陽性予測値:

陰性予測値:

このように事前確率つまり有病率が低い疾患では、いくら感度と特異度が高くても陽性予測値はそれほど高くありません。 これは疾患の絶対数が少ないため、いくら検査で陽性になる確率が高くても検査結果が陽性になる例数そのものは少ないのに対して、正常は絶対数が多いため、いくら検査で陽性になる確率が低くても検査結果が陽性になる例数そのものは多いからです。 そのため普通は、たとえ検査で陽性になっても本当に疾患である確率はあまり高くありません。 その代わり陰性予測値は高くなるため、検査で陰性になれば疾患ではない確率はかなり高くなります

実際の臨床現場では被検者が正常か疾患かわからないため、感度や特異度よりも陽性予測値と陰性予測値が問題になる場面が多くなります。 そして上記のように、陽性予測値は疾患の有病率が低いほど低くなるという性質があります。 そのため検査項目を複数にしたり、1次検査で陽性になった人についてはさらに2次検査を行うなどして、陽性予測値を高くする工夫が必要になります。 (注2)

(2) DP-plot

疾患群と正常群の例数と標準偏差が等しく、データがそれぞれ正規分布している時、2群の平均値の中央を境界値にすると感度と特異度そして陽性予測値と陰性予測値は全て等しくなり、正診率も等しくなってしかも最大になります。 そしてその時の正診率が判別分析の判別確率に相当し、誤診率(1−正診率)が誤判別確率に相当します。 しかし実際のデータはそのような理想的な状態になることは少なく、疾患群と正常群の例数が異なっていたり、標準偏差が異なっていたりします。 そのため最適な境界値を求めるのは簡単ではありません。

最適な境界値を推定する方法のひとつに、DP-plot(Diagnostic Performance plot)を利用する方法があります。 これは国立長寿医療研究センターの中村昭範先生が考案された方法で、境界値を連続的に変化させた時の感度曲線、特異度曲線、正診率曲線、陽性予測値曲線、陰性予測値曲線を同じグラフ上に描き、それらのバランスを考慮して最適境界値を検討する方法です。

言葉で説明するとわかりにくいので、表9.1.1のTCについて実際にグラフを描いてみましょう。 図9.2.3のグラフにおいて、赤色の折れ線が境界値を実際のデータの最小値から最大値まで変化させた時の感度の変化を表す感度曲線(SN)青色の折れ線が特異度の変化を表す特異度曲線(SP)緑色の折れ線が正診率の変化を表す正診率曲線(AC)橙色の破線が陽性予測値の変化を表す陽性予測値曲線(PPV)水色の破線が陰性予測値の変化を表す陰性予測値曲線(PPV)です。 表9.2.1の下に書いた数式からわかるように正診率曲線、陽性予測値曲線、陰性予測値曲線は、感度曲線および特異度曲線と有病率から数学的に導くことができます。

また図9.2.4は2群のデータが正規分布すると仮定して、理論的なDP-plotを描いたグラフです。 ただし図9.2.3と図9.2.4は、どちらも表9.1.1のデータが動脈硬化症の一般的な有病率を反映していると仮定して描いています。 (注3)

図9.2.3 DP-plotによるTCの境界値 図9.2.4 理論的DP-plotによるTCの境界値

図9.2.3と図9.2.4の縦軸と平行な2本の破線のうち、左側の破線は感度曲線と特異度曲線の交点を示します。 この点をSS-point(SN・SP-point)といい、感度と特異度の平均値が最大になります。 SS-pointのTCの値は最適境界値候補のひとつであり、図9.2.3では230になります。 そしてこの時の感度は90%、特異度と正診率は88%、陽性予測値は約82%、陰性予測値は約93%になります。 また図9.2.4のSS-pointのTCは約228であり、理論的感度と理論的特異度と理論的正診率は約89%、理論的陽性予測値は約84%、理論的陰性予測値は約92%になります。

図9.2.3と図9.2.4の右側の破線は陽性予測値曲線と陰性予測値曲線の交点を示します。 この点をPN-point(PPV・NPV-point)といい、陽性予測値と陰性予測値の平均値が最大になります。 PN-pointのTCの値も最適境界値の候補のひとつであり、図9.2.3では240になり、感度は80%、特異度は93%、正診率と陽性予測値と陰性予測値は約88%になります。 また図9.2.4のPN-pointのTCは約233であり、理論的感度は約83%、理論的特異度は約93%、理論的正診率と理論的陽性予測値と理論的陰性予測値は約89%になります。

さらにそれらの点の間に正診率が最大になる点AC-pointがあり、この点のTCの値もまた最適境界値の候補のひとつです。 図9.2.3のAC-pointのTCの値は230〜240になり、前述の2つの最適境界値候補と同じ値になります。 また図9.2.4のAC-pointのTCの値は約232であり、理論的感度は約85%、理論的特異度は約92%、理論的正診率は約89%、理論的陽性予測値は約88%、理論的陰性予測値は約90%になります。 そして図9.2.3と図9.2.4からわかるように、正診率曲線はSS-pointとPN-pointを必ず通ります

また感度曲線と陽性予測値曲線の交点のTCと、特異度曲線と陰性予測値曲線の交点のTCは同じ値になり、これはAC-pointのTCの値と近似します。 そのためAC-pointのTCの値の代わりに、これらの交点SPN-point(SN・PPV-point、SP・NPV-point)のTCの値を最適境界値候補にすることもできます。

図9.2.3と図9.2.4はデータが動脈硬化症の一般的な有病率を反映している時、つまり有病率が40%の時のDP-plotです。 このDP-plotを元にして、有病率を色々な値にした時のDP-plotを描くことができます。 例えば図9.2.5は有病率が50%の時の理論的DP-plotです。 この時は5種類の曲線がひとつの点で交わり、SS-point=AC-point=PN-point=SPN-pointになります。 そしてその点のTCの値約228を境界値にすると、感度、特異度、正診率、陽性予測値、陰性予測値が全て同じ値になり、それは判別分析の判別確率とほぼ一致します。

図9.2.5 有病率50%の時の理論的DP-plot 図9.2.6 有病率10%の時の理論的DP-plot

それに対して図9.2.6は有病率が10%の時の理論的DP-plotです。 有病率が変わってもSS-pointは変わりません。 しかしAC-pointとPN-pointは右側つまり疾患側にずれます。 この場合、SS-pointのTCの値約228を境界値にすると、感度と特異度と正診率は約89%、陰性予測値は約97%と高い値になるにもかかわらず、陽性予測値は約47%しかありません。 またPN-pointのTCの値約255を境界値にすると、特異度は約97%、陽性予測値と陰性予測値正診率は約94%になるものの、感度が約41%しかありません。

このように有病率が小さい時は5つの曲線の交点がずれるため、最適境界値を決めるには検討を要します。 例えばこの診断項目を1次スクリーニングに用いる時は、病気の可能性のある人をできるだけ見逃したくない(疑わしきは罰する)ので感度を優先して陽性予測値は2の次にし、SS-point付近――時には感度をより高くするために、その点からさらに左側――で、数字のキリの良い値を境界値にするという方法が考えられます。

また2次スクリーニングに用いる時は、病気の人と病気ではない人を確実に診断するために正診率または陽性予測値および陰性予測値を優先して感度は2の次にし、AC-pointまたはPN-point付近で、数字のキリの良い値を境界値にするという方法が考えられます。 ただし2次スクリーニングでは1次スクリーニングの陽性予測値が有病率に相当し、1次スクリーニングの時よりも有病率が高くなるのが普通です。 そのためSS-pointとAC-pointとPN-pointが近づくため、境界値の範囲を絞り込むのが容易になります。

以上のように感度曲線と特異度曲線は有病率に影響されず、SS-pointも有病率によらず一定です。 そこでSS-pointの感度=特異度をこの診断項目の基本的な診断率と考え、診断能力の目安にすることができます。 そして対象にする疾患の有病率と使用目的――1次スクリーニングか2次スクリーニングか等――に応じて境界値を適宜変更し、その境界値における感度、特異度、正診率、陽性予測値、陰性予測値を診断能力の目安にします。 そのような詳細な診断能力の検討用グラフとしてDP-plotは非常に有用です。

図9.2.5と図9.2.6は2群のデータが正規分布すると仮定した時の理論的DP-plot曲線ですが、図9.2.3のような実際のデータを用いたDP-plotも描くことができます。 ただし実際のデータを用いたDP-plotはデータのばらつきをそのまま反映するため、境界値も各種の診断率も誤差が大きくなりがちです。 それに対して理論的DP-plotはデータのばらつきの影響を受けにくく、長い目で見ると境界値も各種の診断率も信頼性が高いという特徴があります。 実際のデータを用いたDP-plotは、ちょうど実際の吸光度データを折れ線で結んだ検量線に相当し、理論的DP-plotは回帰直線を用いた検量線に相当します。 そのため通常は理論的DP-plotを利用して境界値と診断能力を検討するのが合理的です。

また図9.2.3、図9.2.4、図9.2.5、図9.2.6のDP-plotは5種類全ての曲線を描いています。 しかしDP-plotは目的に応じて不要な曲線を省略して描くことが可能であり、工夫次第で色々な使い方ができます。 例えば臨床現場では感度と特異度、そして陽性予測値と陰性予測値を問題にすることが多いので、AC曲線を省略して簡便で実用的なDP-plotを描くことができます。 そして図9.2.7のように実際のデータから求めた感度と特異度もプロットすれば、データの分布がどの程度正規分布と近似しているか検討することができます。 また疾患の一般的有病率が不明の時はPPV曲線とNPV曲線も省略して、SN曲線とSP曲線だけを描くこともできます。

図9.2.7 AC曲線を省略したDP-plot(有病率10%) 図9.2.8 複数項目のAC曲線を描いたDP-plot

さらに横軸のデータの値を2群合わせて標準化――データから全体の平均値を引き、それを全体の標準偏差で割って全体の平均値を0、標準偏差を1にすること――すると、複数の項目の各種曲線を同じグラフ上に描くことができます。 データを標準化するとDP-plotの横軸のスケールが変わるだけで、縦軸の確率値は変わりません。 そのためこのグラフによって複数の項目の診断能力を比較することができます。

図9.2.8は表9.1.1のTCとTG、そしてTCとTGを用いた判別スコアを標準化して、それぞれの理論的AC曲線(有病率を40%としたもの)だけを描き、さらに実際のデータから求めた正診率をプロットとしたものです。 このグラフから、TCの診断能力はかなり高いのに対してTGの診断能力は非常に低いことと、それにもかかわらずTCとTGを両方用いると診断能力が高くなるのでTGを測定するのは無駄ではないことがわかります。 またTCの分布は比較的正規分布に近いのに対して、TGの分布は正規分布から少しずれていることもわかります。

診断分野では複数の検査項目の診断能力を比較し、どの検査項目の診断能力が最も高いか検討することがよくあります。 図9.2.8のようなDP-plotはそのためグラフとして有用です。 しかし複数の項目の診断能力を比較するよりも、少数の項目を組み合わせて、できるだけ効率的に診断できるような判別関数を検討する方が合理的です。 それには第5節で説明する変数選択法を用いると便利です。

(3) PN-plot

感度と特異度の間にトレードオフの関係があるように、陽性予測値と陰性予測値の間にもトレードオフの関係があります。 そして感度・特異度と陽性予測値・陰性予測値の関係は数学的に決められていて、それは有病率によって変化します。 その関係をグラフ化したものが図9.2.9と図9.2.10のPN-plot(PPV・NPV-plot)です。 これはDP-plotとセットで使用するために、やはり国立長寿医療研究センターの中村昭範先生が考案されたグラフです。

図9.2.9 感度=特異度80%の時のPN-plot 図9.2.10 感度=特異度90%の時のPN-plot

図9.2.9は感度と特異度を80%に固定し、有病率を0%から100%に変化させた時の陽性予測値の変化を表す陽性予測値曲線(PPV)と、陰性予測値の変化を表す陰性予測値曲線(NPV)です。 そして図9.2.10は感度と特異度を90%に固定した時の陽性予測値曲線(PPV)陰性予測値曲線(NPV)です。

図9.2.10から有病率が10%の時は感度と特異度が90%あっても、陽性予測値は50%程度しかないことがわかります。 そしてこのことから、例えば「良い診断法の条件は感度と特異度が80%以上あり、かつ陽性予測値が60%以上、陰性予測値が90%以上あること」などという条件は、対象疾患の有病率を考慮に入れなければ無意味であることがわかると思います。 このPN-plotを利用すれば、対象疾患の有病率に応じた「良い診断法の条件」を合理的に設定することができます。

(4) ROC曲線

最適な境界値を推定する別の方法として、ROC曲線(Receiver Operating Characteristic curve、受信機操作特性曲線)を利用する方法があります。 ROC曲線は境界値を最小値から最大値まで変化させた時の偽陽性率(False Positive Fraction、FPF)つまり(1−特異度)を横軸に、真陽性率(True Positive Fraction、TPF)つまり感度を縦軸にプロットしたものです。 これは信号検出理論に基づいてレーダーの性能を評価するために開発されたものですが、医学分野でもよく利用されます。

これも言葉で説明するとわかりにくいので、表9.1.1のTCについて実際にグラフを描いてみましょう。 図9.2.11のグラフにおいて、赤色の実線で描いた折れ線は実際のデータに基づいて描いたROC曲線であり、赤色の破線で描いた曲線は2群のデータが正規分布すると仮定して描いた理論的なROC曲線です。 これらの曲線は図9.2.3のDP-plotにおける感度曲線および特異度曲線の値と、図9.2.4のDP-plotにおける理論的感度曲線および特異度曲線の値をプロットしたものに相当します。

図9.2.11 TCのROC曲線 図9.2.12 TCのROC曲線

座標の左上隅の点は感度と特異度がどちらも1になる理想的な境界点です。 この点に最も近い曲線上の点が感度と特異度の平均値を最大にする点であり、この場合は230になります。 この値は図9.2.3のDP-plotから求めた境界値と一致します。 ただしROC曲線は実際の検査項目の値が表示できないため、グラフからこの境界値を読み取ることはできません。 これは境界値探索用グラフとしては致命的な欠点です。

さらにROC曲線は感度と特異度しか考慮しないため、DP-plotのように正診率や陽性予測値および陰性予測値まで考慮して境界値を検討することはできません。 これらのことを考慮すると、境界値探索用グラフとしてはROC曲線よりもDP-plotの方がはるかに有用です

しかしこの方法では複数の検査項目のROC曲線をひとつのグラフ上に描くことができるため、複数の検査項目について診断指標としての性能を比較することができます。 ただし複数の検査項目の診断指標としての性能を比べるのはレーダーなどと違ってかなり複雑な問題であり、信号検出理論に基づいたROC曲線をそのまま適用するのは少々問題があります。

例えば本来のROC曲線の横軸は雑音を受信して信号ありとする確率であり、縦軸は信号を受信して信号ありとする確率です。 これはS/N比を意識したものであり、ROC曲線が座標の左上隅に近いほどS/N比が大きくなります。 医学分野では真陽性率と偽陽性率の比である陽性尤度比がS/N比に相当し、ROC曲線が座標の左上隅に近いほど大きな値になります。 しかし医学分野では陽性尤度比よりも感度と特異度をよく用いるため、横軸を(1−特異度)ではなく特異度にした方がわかりやすいと思います。 そのようにして描いたグラフが図9.2.12のグラフです。 図9.2.11と図9.2.12を比べると、やはり図9.2.12の方がわかりやすいと思います。

また実際のデータに基づいたROC曲線はデータを順序尺度として扱ったノンパラメトリック単変量判別分析に相当し、マン・ホイットニィのU検定と深い関係があります。 それに対して2群のデータが正規分布すると仮定した理論的なROC曲線はデータを計量尺度として扱ったパラメトリック単変量判別分析に相当し、判別分析と深い関係があります。 そのため医学分野では、判別分析と整合性が高いという点で理論的なROC曲線を利用する方が良いと思います。 (注4)

例えば表9.1.1のTCに小さい順に順番を付けると表9.2.3のようになります。 この順番をデータにしてROC曲線を描くと図9.2.11または図9.2.12と全く同じものになり、境界値は6(データ230の順番)になります。 つまりROC曲線は表9.2.3のTCに順番を付け、それに基づいてグラフを描いているわけです。 このことからROC曲線はデータを順序尺度として扱ったノンパラメトリック単変量判別分析に相当することがわかると思います。

表9.2.3 動脈硬化症患者と
正常者のTCとその順番
No.TCTCの順番
1動脈硬化症2205
2動脈硬化症2306
3動脈硬化症2407
4動脈硬化症2407
5動脈硬化症2508
6動脈硬化症2609
7動脈硬化症2609
8動脈硬化症2609
9動脈硬化症27010
10動脈硬化症28011
11正常1801
12正常1801
13正常1902
14正常1902
15正常2003
16正常2003
17正常2003
18正常2104
19正常2104
20正常2104
21正常2205
22正常2205
23正常2205
24正常2306
25正常2407

一方、DP-plotの横軸はデータの実測値のため、TCの順番を用いて描くと図9.2.3および図9.2.4とは別のものになります。 興味のある方は、表9.2.3のデータを用いて実際にDP-plotとROC曲線を描いてみてください。


(注1) 各種の指標については、次のような方法で信頼区間を求めることができます。

感度:疾患群における陽性出現率に相当するため、二項分布を利用した出現率の信頼区間計算法によって計算  (→3.2 1標本の計数値 (2)名義尺度 (注1))
 下限:φ1=2×2=4、φ2=2×9=18、F(4,18,0.025)=3.60834
 
 上限:φ1=2×1=2、φ2=2×10=20、F(2,20,0.975)=0.0253499
 
特異度:正常群における陰性出現率に相当するため、二項分布を利用した出現率の信頼区間計算法によって計算
 下限:φ1=2×3=6、φ2=2×13=26、F(6,26,0.025)=2.94472
 
 上限:φ1=2×2=4、φ2=2×14=28、F(4,28,0.975)=0.117987
 
正診率:全例における(TN+TP)出現率に相当するため、二項分布を利用した出現率の信頼区間計算法によって計算
 下限:φ1=2×4=8、φ2=2×22=44、F(8,44,0.025)=2.4964
 
 上限:φ1=2×3=6、φ2=2×23=46、F(6,46,0.975)=0.200336
 
陽性尤度比:疾患群と正常群の陽性率比に相当するため、リスク比の信頼区間計算法によって計算  (→3.4 2標本の計数値 (2)名義尺度 (注5))
 、t(∞,0.05)=1.96
 下限:
 上限:
陰性尤度比:疾患群と正常群の陰性率比に相当するため、リスク比の信頼区間計算法によって計算
 
 下限:
 上限:
陽性予測値:疾患の事前確率と陽性尤度比の信頼区間から計算
 動脈硬化症の事前確率=0.4 (ここでは表9.3のデータから計算)
 下限:
 上限:
陰性予測値:疾患の事前確率と陰性尤度比の信頼区間から計算
 動脈硬化症の事前確率=0.4 (ここでは表9.3のデータから計算)
 下限:
 上限:

(注2) 実際の臨床現場では被検者が正常か疾患かわからないため、感度や特異度よりも陽性予測値と陰性予測値の方が問題になる場面が多くなります。 そして特定の疾患の一般的な有病率とその疾患用の検査の感度と特異度がわかっていて、ある被検者が特定の検査で陽性になった時、その被検者が本当に疾患である確率つまり陽性予測値を求めたいことがしばしばあります。

また有病率が低い疾患用検査の診断率を検討する場合、全体の例数nだけを決めて対象をサンプリングし、それを疾患群と正常群に分けて検査値を調べるという横断的研究では、疾患群の例数nDが少なくなると同時に確率変数になって誤差が入り込み、感度の信頼性が低くなってしまいます。 また(注1)で説明したように、感度の信頼区間はnDは定数でTPだけが確率変数という前提に基づいて二項分布を利用して求めます。 そのため診断率を正確に求めたい時は疾患群の例数nDと正常群の例数nNを決め、疾患群と正常群を独立にサンプリングして検査値を調べるという症例対照研究で診断率を検討する必要があります。

症例対照研究では疾患群の例数nDと正常群の例数nNを任意に決めることができるため、TPとFNの例数、TNとFPの例数も任意に変化することになります。 その時、TPとFNの比率、TNとFPの比率は変わらないので感度と特異度は正確に計算できます。 ところがTPとFPの比率、TNとFNの比率は変化してしまい、疾患群の割合がその疾患の一般的な有病率を反映している時の単純な計算式では陽性予測値と陰性予測値を正確に計算することができなくなります。 このような時は疾患の一般的な有病率つまり疾患の事前確率と、感度および特異度から陽性予測値と陰性予測値を求める必要があります。

今、特定の疾患の有病率つまり疾患の事前確率をP(D)、非有病率つまり疾患ではない事前確率をP(¬D)とします。 そして検査の感度つまり疾患である時に検査で陽性になる条件付き確率(疾患の陽性尤度)をP(P|D)、特異度つまり疾患ではない時に検査で陰性になる条件付き確率(正常の陰性尤度)をP(N|¬D)、陽性予測値つまり検査で陽性になった時に本当に疾患である条件付き確率をP(D|P)、陰性予測値つまり検査で陰性になった時に本当に疾患ではない条件付き確率をP(¬D|N)とします。 この時、事前確率に関するベイズ(Bayes)の定理から次のような関係が成り立ちます。 (→付録6 ベイズ統計学)

陽性予測値:
陰性予測値:
P(D):有病率(疾患の事前確率)
P(¬D)=1-P(D)=1-有病率:非有病率(非疾患の事前確率)
P(P|D)=感度:真陽性の条件付き確率(疾患の陽性尤度)
P(P|¬D)=1-P(N|¬D)=1-特異度:偽陽性の条件付き確率(非疾患の陽性尤度)
P(N|¬D)=特異度:真陰性の条件付き確率(非疾患の陰性尤度)
P(N|D)=1-P(P|D)=1-感度:偽陰性の条件付き確率(疾患の陰性尤度)

検査前オッズ、陽性尤度比、陰性尤度比、検査後オッズ、そして陽性予測値と陰性予測値の関係を上の表現で表すと次のようになります。

検査前オッズ:
陽性尤度比:
陰性尤度比:
検査結果が陽性の時の検査後オッズ:
検査結果が陰性の時の検査後オッズ:
陽性予測値:
陰性予測値:

例えば有病率を10%、感度を95%、特異度を90%とすると、陽性予測値と陰性予測値は次のようになります。


以上のように、有病率が低い疾患では陰性予測値は非常に高くなるものの、陽性予測値はそれほど高くなりません。 そのためたとえ検査で陽性になったからといって、本当に疾患であるとは言い切れないことになります。 そこで普通は1つの検査だけで疾患かどうかを判断することはなく、数種類の検査を行い、その結果を総合して疾患かどうかを判断したり、1次検査で陽性になった人については2次検査を行って疾患かどうかを判断したりします。

例えば前述の検査とは独立の検査で、同じように感度が95%、特異度が90%の検査をもうひとつ実施したとします。 そしてその結果も陽性だったとすると、その時の陽性予測値は次のようになります。

疾患の時に2種類とも陽性になる確率=0.95×0.95=0.9025 → 2種類の検査の感度=0.9025
疾患ではない時に2種類とも陽性になる確率=0.1×0.1=0.01 → 2種類の検査の特異度=1 - 0.01=0.99

別の考え方として、2種類目の検査を2次検査と考えることもできます。 その時の2次検査の陽性予測値は、有病率として1次検査の陽性予測値を代入して求めます。

2次検査における有病率P2(D)=1次検査の陽性予測値≒0.514

以上のように、2種類の方法で計算した陽性予測値は一致します。 これは偶然ではなく、1次検査の陽性予測値PPVを2次検査の有病率P2(D)として代入すると、次のように2種類の検査がどちらも陽性になった時の陽性予測値を求める式と一致します。

実際の診断では複数の検査項目を行うと同時に、それらで疾患の疑いがある人については2次検査を行うのが普通です。 上記のように複数項目の陽性予測値や2次検査の陽性予測値が1つの検査項目だけの陽性予測値よりもかなり高くなることから、複数の検査項目と2次検査の重要性がわかると思います。

(注3) DP-plotの各種曲線は次のようにして計算することができます。

感度曲線:p=SN  特異度曲線:p=SP   正診率曲線:p=AC=πDSN + (1-πD)SP
陽性予測値曲線:p=
陰性予測値曲線:p=
SN:感度  SP:特異度  πD:有病率
※陽性予測値曲線と陰性予測値曲線において、SNとSPを固定してπDを変化させるとPN-plotにおける陽性予測値曲線と陰性予測値曲線になる。

そして理論的DP-plotにおける感度曲線と特異度曲線は次のような式で表すことができます。

感度曲線:p=
特異度曲線:p=
μN:正常群の平均値  σN2:正常群の分散   μD:疾患群の平均値  σD2:疾患群の分散

これらの式に基づいて、それぞれの曲線の交点と正診率が最大になる点を求めると次のようになります。

○SS-point(感度曲線と特異度曲線の交点):
○AC-point(正診率最大点):
※どちらも証明は第3節(注2)参照
○PN-poin(陽性予測値曲線と陰性予測値曲線の交点):=
→ πD2SN(1-SN)=(1-πD)2SP(1-SP)となる点
※この時のxの値はニュートン法などを利用して近似的に求める。
○正診率曲線と感度曲線の交点:AC=πDSN + (1-πD)SP=SN → (1-πD)SN=(1-πD)SP
∴SN=SPつまり正診率曲線と感度曲線の交点=正診率曲線と特異度曲線の交点=SS-point
○正診率曲線と陽性予測値曲線の交点:AC=πDSN + (1-πD)SP= → πD2SN(1-SN)=(1-πD)2SP(1-SP)
∴PPV=NPVつまり正診率曲線と陽性予測値曲線の交点=正診率曲線と陰性予測値曲線の交点=PN-point
○感度曲線と陽性予測値曲線の交点:SN= → πD(1-SN)=(1-πD)(1-SP)
 特異度曲線と陰性予測値曲線の交点:SP= → πD(1-SN)=(1-πD)(1-SP)
2種類の交点SNP-pointは感度と特異度について同じ関係が成り立つ=xは同じ値
※この時のxの値はニュートン法などを利用して近似的に求める。

最適境界値候補を求める指標としてYouden's indexというものが提唱されています。 これは(SN+SP-1)という値であり、この値が最大になる時のxを最適境界値候補にします。 理論的感度と理論的特異度の合計が最大になるのは、理論的感度と理論的特異度が等しくなる時です。 したがって「Youden's indexが最大になる点=SS-point」になります。

またROC曲線を利用して境界値を求める時は、左上隅の点つまりSN=1、SP=1の点に最も近いROC曲線上の点のxを最適境界値候補にします。 そしてその点と左上隅の点との平方距離は{(1-SP)2+(1-SN)2}になります。 この平方距離を最小にする点はSNとSPの平均値が最大になる点ですから、やはりSS-pointになります。

他にも表9.2.1のような2×2分割表について独立性の検定のχ2値を求め、その値が最大になる時のxを最適境界値候補にするという方法もあります。 独立性の検定のχ2値が最大になるのは、表9.2.2の交差積差の平方(TN・TP-FN・FP)2が最大になる時です。 この交差積差の割合をSNとSP、そしてπで表すと次のようになります。

交差積差の割合=(1-π)SP・πSN - (1-π)(1-SP)・π(1-SN)=π(1-π){SP・SN-(1-SP)(1-SN)}=π(1-π)(SN+SP-1)

上式から平方交差積差が最大になる、つまりχ2値が最大になるのは(SN+SP-1)を最大にする時のxであり、これはYouden's indexが最大になる点であることがわかります。

実際のデータを用いると、これらの方法で求めた最適境界値は一致するとは限りません。 しかしそれは折れ線グラフで描いた検量線を用いて物質の濃度を推測したようなものであり、データのバラツキによる推測誤差です。 回帰直線を用いた検量線を利用すれば濃度の推測値が一定になるのと同様に、理論的感度曲線と理論的特異度曲線を用いればこれらの方法で求めた最適境界値は全てSS-pointに一致します。

(注4) ROC曲線によって2種類の検査項目の性能を比べる例として、表9.1.1のTCとTGのROC曲線を同じグラフ上に描いてみましょう。

図9.2.13 TCとTGのROC曲線

正常群と疾患群の分布が全く重ならず、感度と特異度がどちらも100%になる点が存在するような理想的な検査項目の場合、ROC曲線は右上隅の点(0,1)→左上隅の点(1,1)→左下隅の点(1,0)というカギ型の曲線を描きます。 反対に正常群と疾患群が完全に重なってしまい、境界値が求められないような最悪な検査項目の場合、ROC曲線は右上隅の点(0,1)→左下隅の点(1,0)という対角線を描きます。 そのことを頭に置いて図9.2.13を見ると、TCの検査項目としての性能はかなり高いのに対して、TGの検査項目としての性能は非常に低いということがわかります。

しかしこれはあくまでも目で見て感覚的に評価したものであり、数量評価ができないので客観的な指標にはなりません。 そこでROC曲線の積分値つまりAUC(Area Under Curve、曲線下面積)に注目し、これを検査項目の性能を表す指標のひとつにするというアイデアが生まれます。 ROC曲線のAUCは理想的な検査項目では1になり、最悪な検査項目では0.5になるため、この値で検査項目の性能を表そうというわけです。 ROC曲線のAUCとその標準誤差は次のようにして計算することができます。

○境界値:xの時
nD=TP + FN  nN=TN + FP
感度:   特異度:
○境界値:(x - Δx) → xと変化した時
感度変化分:   特異度変化分:
AUC変化分(図9.2.13の灰色部分):

特異度積和変化分:

感度積和変化分:

AUCの分散:   AUCの標準誤差:
AUCの100(1-α)%信頼区間=W±t(∞,α)SE(W) → 下限:AUCL=W - t(∞,α)SE(W)  上限:AUCU=W + t(∞,α)SE(W)

図9.2.13のTCについて実際に計算すると次のようになります。

表9.2.4 TCのROC曲線AUC計算表
データ動脈硬化症正常TPΔFNTNΔFPnD・nN・ΔWnD2・nN・ΔQ1nD・nN2・ΔQ2
1800210000000
1900210022202000
2000310042202000
2100310073303000
22013100103303000
230119113328.5271133
24021811418.572.3333182.3333
2501062151749.3333420.6667
260305115000225
270102315000675
280101115000225
281以上000115000225
1015-10-151441392.66662086
     


AUCの95%信頼区間=0.96±0.0674 → 下限:AUCL=0.8926 上限:AUCU=1.0274→1

後述するように、AUCは疾患群のデータが正常群のデータよりも大きい確率を表す値です。 そのため感度や特異度と同じような確率値と解釈することもできます。 すると二項分布の正規近似により、AUCの分散を次のようにして求めることができます。 この値と上記の複雑な式で求めた分散がよく似た値であることから、この簡便な近似式を用いてもかまわないと思います。 (→3.2 1標本の計数値 (2)名義尺度(分類データ) (注2))

図9.2.13のTGについても同様にして計算すると次のようになります。 これらの値から、ROC曲線のAUCはTCとTGの検査項目としての性能をだいたい反映していることがわかると思います。

TGのROC曲線のAUC=0.48  標準誤差=0.12812

ただTGのAUCは0.48であり、0.5よりわずに小さくなっています。 図9.1.1を見れば何となくわかるように、これは動脈硬化群のTGの分布が正常群よりも広くて少し歪んでおり、正常群よりも平均値が高いにもかかわらず最小値は正常群よりも小さいことが原因です。

このように2群の分布状態が大きく異なっていたり、分布が歪んでいたりすると、2つの項目のROC曲線が交差し、他方に比べてAUCが小さいにもかかわらず最適境界値における感度と特異度は高いという矛盾した現象が起こります。 こういった現象はレーダーではほとんど起こりませんが、医学分野のデータでは十分に起こり得ることです。 したがって検査項目の性能を比較するための指標はあくまでも診断率であり、ROC曲線のAUCは参考にすぎないという点に注意する必要があります。

またAUCとマン・ホイットニィのU検定におけるU値、そしてウィルコクソンの順和検定における順位和Tの間には次のような関係があります。 (→3.4 2標本の計数値 (1)順序尺度 (注3))


UD:疾患群のU値  TD:疾患群の順位和

UD値は疾患群のnD個のデータそれぞれが、正常群のnN個のデータのうちの何個より大きいかを表す値です。 この値は疾患群のデータと正常群のデータで総当たり戦を行った時の疾患群の勝ち数を表す値であり、次のようにして求めます。

Si,j=┌1 … 疾患群データxi>正常群データxj(勝ち)
├0.5 … 疾患群データxi=正常群データxj(引き分け)
└0 … 疾患群データxi<正常群データxj(負け)
  UDの最小値=0(全敗)   UDの最大値=nD nN(全勝)

一方、AUCの変化分の式を少し変形して次のようにします。

疾患群と正常群のデータを小さい順に並べ、最小値から順番に境界値にした時、境界地のデータが疾患群の時は変形後の式のΔFNが1に、ΔTNが0になり、右辺の値は0になります。 境界値のデータが正常群の時は反対にΔFNが0に、ΔTNが1になり、右辺の値はその時のTPの値つまり疾患群の中でその正常群のデータよりも大きいデータの個数になります。 疾患群と正常群で同じ値があった時はΔFNとΔTNの両方が1になり、右辺の値はその時のTPの値に0.5を加えた値になります。

つまり変形後の式の右辺は正常群のデータごとに、そのデータよりも大きな疾患群のデータの個数を数えていることになります。 このことは表9.2.4のnD・nN・ΔWxの欄を見ると、より理解できると思います。 したがって変形後の式の右辺を合計したものはSi,jを合計したものに相当し、それはUDそのものになります。 そしてAUCはUDをその最大値である(nD・nN)で割った値のため、UDが勝ち数であるのに対して勝率になります。

このようにROC曲線のAUCとU値または順位和は本質的に同じものです。 そのため検査項目の値を順序尺度扱いして正常群と疾患群を順位和検定し、結果が有意になった時はAUCが0.5よりも大きくなるということになります。 これは、とりもなおさず2群の順位分布の中心位置つまり順位平均がずれていて、正常群と疾患群を判別する境界順位が存在するということを意味します。

ただしそれはあくまでも順位平均値のズレと境界順位の存在であり、平均値が異なっていて境界値が存在するという意味ではありません。 そのためAUCが0.5より大きいからといって、2群の平均値が異なっていて境界値が存在するとは限りません。 実際、前述のように表9.2.3のTGのAUCは0.5より小さく、順位平均値は動脈硬化群の方が小さいにもかかわらず、平均値は動脈硬化群の方が大きいという矛盾した結果になっています。

このことからROC曲線はノンパラメトリック単変量判別分析に相当し、知らず知らずのうちに検査項目を順序尺度として扱ってしまっているので、結果を解釈する時には十分な注意が必要です。

また2種類の検査項目のAUCを比較する検定手法も開発されていて、それを利用して2つのAUCの差が0かどうかを検定することがたまにあります。 これはこの検定結果と診断率を比較検討することによって、どちらがより有用な検査項目かを判断することが目的です。 (Hanley & McNeil、1983)

しかし2種類の検査項目には相関があるのが普通ですから、2つのAUCを比較するのは簡単ではありません。 もし2種類の検査項目が完全に相関していたら、2つのAUCは全く同じ値になり、診断率も全く同じになります。 その場合、2種類の検査項目の相関性を知らずにAUCと診断率だけを比較すると、どちらがより有用な検査項目か判断できません。

それよりも2種類の検査項目を変数にした判別分析を行い、両者の相関を考慮した上で総合的に検討する方が合理的かつ実際的です。 2種類の検査項目の判別係数や標準判別係数を比較すれば、どちらの項目が判別により寄与しているか検討することができます。 また判別分析の結果を用いれば、両者をどのように組み合わせれば最も効率的な判別ができるかも検討することができます。 (→9.4 多変量の場合 (3)判別分析結果の解釈)

AUCの変化分の式は⊿TNが0の時は0になるため、AUCに寄与するのは⊿TNが1で⊿FNが0または1の時だけです。 そのためAUCに寄与する部分だけ書くと次のようになります。


このように第1項はSNiの平均値つまり感度の期待値になり、第2項は(⊿SNi/2)の平均値つまり疾患群と正常群で同じ値がある時のAUC増加分の期待値になります。 そしてAUCの変化分は特異度の変化分に基づいて求めることもできるため、これと同じ関係が特異度についても成り立ちます。 そのためAUCは疾患群と正常群で同じ値がない時は感度と特異度の期待値になり、同じ値がある時はそれよりも少し大きな値になります。

正常群のデータが正規分布N(μNN2)に従い、疾患群のデータがN(μDD2)に従う時、正常群の正規分布関数値が理論的特異度になり、疾患群の(1−正規分布関数値)が理論的感度になります。 そしてそれらの値を用いて理論的ROC曲線を描くことができます。 さらに理論的ROC曲線のAUCは次のような式で求められます。

  
F(u):標準正規分布の確率分布関数  f(u):標準正規分布の確率密度関数

uは正常群と疾患群の平均値の差を2群の差のデータの標準偏差で標準化した形式になっています。 そしてこの値は、後述するマハラノビスの平方距離と次のような関係があります。

正常群におけるマハラノビスの平方距離:
疾患群におけるマハラノビスの平方距離:
※2群の分散が同じと仮定して、その分散をσN2とσD2の平均値で推定し、2群の平均値間のマハラノビスの平方距離を求めると
2群の平均値間のマハラノビスの平方距離:
判別確率:

∴AUC>判別確率≒理論的感度≒理論的特異度

この場合、2群の平均値が異なっていればマハラノビスの平方距離が0より大きくなり、判別確率とAUCが0.5より大きくなります。 そしてそれは2標本t検定によって検定することができます。 したがってこのようにデータを計量尺度として扱った時は、順位尺度として扱った時に比べて理論的な整合性がより高いことがわかると思います。

また上記の関係から、AUCは判別分析における判別確率つまり理論的感度と理論的特異度より少し大きくなることがわかります。 AUCはマン・ホイットニィのU検定における勝率と同じものであり、疾患群と正常群のデータの大きさを比較した時、疾患群のデータの方が大きい確率を表す指標です。 そのため検査項目の診断能力を評価する指標としては、やはり感度と特異度、そして理論的感度と理論的特異度と整合性の高い判別確率の方が合理的です。 (→9.4 多変量の場合 (注3))

表9.1.1のTCとTGについて実際に計算すると次のようになります。 なお理論的境界値は感度と特異度が等しくなる点であり、その計算方法は第3節の(注2)で説明します。 (→9.3 1変量の場合 (注2))

○TC
  
判別確率:
理論的境界値=228.259 理論的感度=0.890 理論的特異度=0.890 理論的正診率=0.890
○TG
  
判別確率:
理論的境界値=207.42 理論的感度=0.510 理論的特異度=0.510 理論的正診率=0.510