ROC曲線とAUCの見方|カットオフ値の決め方と論文の書き方
ROC曲線は、検査値や予測スコアについて、カットオフ値をすべて動かしたときの感度(真陽性率)と1-特異度(偽陽性率)の組を描いた曲線です。その曲線下面積(AUC:area under the curve)は、アウトカムのある人とない人を検査値でどれだけ分けられるかを表し、0.5は偶然と同程度、1.0は完全に分けられることを意味します。論文では、AUCを95%信頼区間とともに報告し、カットオフ値を提案する場合は、その決め方と、事前に定めた値か同じデータから選んだ値かを明記します。本記事では、実データ(pROC::aSAH、n = 113)をRで解析し、ROC曲線の描画、Youden指数で選ぶカットオフ値、Methods・Resultsの記載例までを順に示し、データから選んだカットオフ値がどれほど不安定になり得るかも確かめます。
本記事で扱うのは、診断精度の報告(感度、特異度、Youden指数によるカットオフ値、AUCと95%信頼区間)です。信頼区間の一般的な解釈は信頼区間の解釈、サンプルサイズの決め方はサンプルサイズと検出力分析、避けたい誤り全般は統計エラー10選で解説していますので、ここでは繰り返しません。なお、本記事の「感度」は診断の感度(真陽性率)を指し、感度分析(sensitivity analysis)とは別の手法です。
1. ROC曲線とAUCが表すもの
血液マーカー、画像スコア、リスクスコアなど、連続値の測定からアウトカムを判定する場面は多くあります。「検査陽性」と呼ぶにはカットオフ値を決める必要があり、カットオフ値を1つ決めると、次の2つの数値が1組得られます。
- 感度(sensitivity) = 真陽性 ÷(真陽性 + 偽陰性)。アウトカムがある人のうち、検査が陽性と判定する割合です。
- 特異度(specificity) = 真陰性 ÷(真陰性 + 偽陽性)。アウトカムがない人のうち、検査が陰性と判定する割合です。
ROC曲線は、これらの組をすべてのカットオフ値について一度に描いたもので、縦軸に感度、横軸に1-特異度をとります。臨床医向けにROC曲線をまとめたレビュー(Nahm 2022、PMID 35124947)[10]は、対角線を、コイン投げと変わらない検査(AUC = 0.5)の線、理想的な曲線を左上の角に達する曲線(AUC = 1.0)と説明しています。
AUCの意味。Hanley・McNeil(1982、PMID 7063747)[1]は、AUCが「無作為に選んだ疾患のある1人が、無作為に選んだ疾患のない1人よりも強く疑われる順位に置かれる確率」に等しく、これがWilcoxon(Mann-Whitney)の統計量と同じ量であることを示しました。したがって、AUC 0.73とは、アウトカムのあった患者と、なかった患者を1人ずつ選んで組にしたとき、100組のうち約73組で、アウトカムのあった患者のほうが検査値が高い、という意味です。これは順位についての記述であり、特定のカットオフ値についての記述ではありません。
数値の読み方。Nahm(2022)[10]は、検査が意味を持つにはAUCが0.5を超えている必要があり、一般にAUCが0.8以上であれば許容できる(acceptable)とみなされる、と述べています。同論文が表にまとめている慣習的な呼称は次のとおりです。
| AUC | 慣習的な呼称(Nahm 2022、Table 4)[10] |
|---|---|
| 0.9 ≤ AUC | 優秀(Excellent) |
| 0.8 ≤ AUC < 0.9 | 良好(Good) |
| 0.7 ≤ AUC < 0.8 | 普通(Fair) |
| 0.6 ≤ AUC < 0.7 | 不良(Poor) |
| 0.5 ≤ AUC < 0.6 | 失敗(Fail) |
これらの呼称は慣習であって、検定ではありません。AUCは標本から推定する値ですので、必ず95%信頼区間とともに報告してください。Nahm[10]は、検査が統計学的に意味を持つには、AUCの95%信頼区間の下限が0.5を上回る必要があると述べています。呼称よりも信頼区間のほうが重要です。次の実例のように、1つのAUCが複数の呼称にまたがることもあります。
知っておきたい性質が2つあります。第一に、ROC曲線は感度と特異度だけの関数ですので、標本の中でアウトカムがどれだけ多いか(有病率)の影響を受けません[10](ただし、対象者の重症度などの構成が違えば、感度・特異度そのものは変わり得ます)。第二に、曲線そのものにはカットオフ値も対象者数も表示されません[10]。このため、論文ではそれらを別に記載する必要があります。第5節の報告手順は、このためのものです。
2. 実例:Rで解析する(実データ)
データ。aSAHは、pROCパッケージに付属するデータセットです。ヘルプページによると、動脈瘤性くも膜下出血(aSAH)患者113例の臨床・検査変数が収められており、出典はTurckら2010(PMID 19760205)[6]で、入院時に測定した生体マーカーを6か月後の転帰の予測因子として検討した研究です。アウトカムは、転帰良好(Good、n = 72)と転帰不良(Poor、n = 41)の二値で、検査としては血液マーカーのs100b(S100カルシウム結合タンパク質B)を用います。転帰不良の患者で高い値が予想されます。(pROCパッケージの論文、Robinら2011、PMID 21414208[7]は、元の研究の患者数を141例としています。パッケージ内のaSAHオブジェクトは113例で、本記事ではそれを解析しています。ヘルプページにはs100bの単位が記載されていないため、ここでも単位は示しません。ご自身の論文では、必ず単位を明記してください。)
ソフトウェア。R 4.3.3、pROC 1.19.0.1(Robinら2011、PMID 21414208)[7]、ggplot2 4.0.3。
library(pROC)
data(aSAH)
roc_s <- roc(aSAH$outcome, aSAH$s100b,
levels = c("Good", "Poor"), # controls first, cases second
direction = "<") # cases have HIGHER values
roc_s
ci.auc(roc_s) # DeLong 95% CI (default)
coords(roc_s, x = "best", best.method = "youden",
ret = c("threshold", "sensitivity", "specificity", "ppv", "npv"))
table(S100B = ifelse(aSAH$s100b > 0.205, "positive", "negative"),
Outcome = aSAH$outcome)
Rセッションの出力をそのまま示します。
Data: aSAH$s100b in 72 controls (aSAH$outcome Good) < 41 cases (aSAH$outcome Poor).
Area under the curve: 0.7314
95% CI: 0.6301-0.8326 (DeLong)
threshold sensitivity specificity ppv npv
threshold 0.205 0.6341463 0.8055556 0.65 0.7945205
Outcome
S100B Good Poor
negative 58 15
positive 14 26
levelsとdirectionの2行は重要です。向きを指定しないと、pROCは両群の中央値を比べて向きを自動で決めるため、AUCは0.5以上で報告され、仮説とは逆向きの関係があっても気づけません。逆に、向きや症例・対照の順序を誤って指定すると、AUCが0.5を下回り、曲線は対角線の下側に出ます。両方を明示し、Methodsにもその旨を書いてください。

図の読み方:曲線は破線の対角線(識別能なし)を明確に上回っていますが、左上の角からは遠く、S100B単独では転帰良好と転帰不良を中程度にしか分けられないことがわかります。
AUCを手計算で確かめる。AUCはWilcoxonの統計量に等しい(Hanley・McNeil 1982)[1]ため、ソフトウェアの値は自分で検算できます。転帰不良の全患者と転帰良好の全患者を総当たりで比べ、転帰不良の患者のS100Bが高い組を数えます(同値は0.5組として数えます)。
cs <- aSAH$s100b[aSAH$outcome == "Poor"]; co <- aSAH$s100b[aSAH$outcome == "Good"]
mean(outer(cs, co, ">")) + 0.5 * mean(outer(cs, co, "=="))
# [1] 0.7313686
pROCの値0.7314が再現されました。
信頼区間の求め方。ci.auc()の既定はDeLong法(DeLongら1988、PMID 3203132)[3]です。U統計量の理論と漸近正規性に基づくノンパラメトリックな方法で、ブートストラップを必要としません(Robinら2011)[7]。ブートストラップ法の信頼区間も得られます(method = "bootstrap")。本データでは約0.62〜0.83(2,000回の層別反復。set.seed(1)では0.624〜0.827で、小数第3位は乱数のシードによって変わります)となり、DeLong法の区間に近い値でした。
解釈。AUC = 0.731(95%信頼区間 0.630〜0.833)です。Nahm[10]の呼称では「普通(fair)」に当たりますが、区間は「不良(poor、0.6台)」から「良好(good、0.8台)」にまたがっています。転帰不良が41例という症例数では、この不確かさは想定どおりです。信頼できるAUCを得るために必要な対象者数の考え方は、Hanley・McNeil(1982)[1]も示しています。
3. カットオフ値の決め方:Youden指数、左上隅への最近点、その他
ROC曲線は、検査をすべてのカットオフ値にわたって記述するものですが、臨床医や論文の読者が求めるのは、通常1つの値です。これを選ぶ唯一の正しい方法はありません。Nahm(2022)[10]は、30を超える方法があること、また、感度を特異度に比べてどれだけ重視するかという臨床上の問いに応じて選ぶべきことを述べています。一般的な基準を2つ挙げます。
- Youden指数(Youden’s J) = 感度 + 特異度 − 1。対角線と曲線との垂直距離であり、Jが最大になるカットオフ値が最適とされます[10]。感度と特異度に同じ重みを置く基準で、見逃しと誤警報を同程度に重くみる状況を暗に想定しています。
- 左上隅への最近点:点(0, 1)までの距離√((1 − 感度)² + (1 − 特異度)²)が最小になるカットオフ値[10]。
pROCでは、どちらも引数1つで指定できます(best.method = "youden"または"closest.topleft")。本例では2つが一致します。
coords(roc_s, x = "best", best.method = "closest.topleft",
ret = c("threshold", "sensitivity", "specificity"))
# threshold sensitivity specificity
# 1 0.205 0.6341463 0.8055556
選ばれた点のJ = 0.634 + 0.806 − 1 = 0.440(26/41 + 58/72 − 1 = 0.4397)です。
実務上の注意が3つあります。
- 0.205はpROCの慣習で、観測値ではありません。pROCが返した0.205は、隣り合う2つの観測値0.19と0.22の中点で、この間のS100Bをもつ患者はいません。したがって、0.19以上0.22未満のどの値で切っても同じ2×2表になり、「S100B > 0.20」は「> 0.205」と113例すべてについて同じ分類になります。論文では、0.205のような計算上の中点ではなく、測定法の分解能に合わせた値を、単位とともに報告してください。
- 閾値が一意とは限りません。2つのカットオフ値でJが同じになった場合、
coords()は両方を返しますので、どちらを採用するかを決めて明記してください。本例では最大値は一意です。 - コストが異なるときは、Youden指数は適切とは限りません。見逃しのほうが誤警報よりはるかに重い場合(スクリーニング)や、その逆の場合(手術前の確認検査)は、臨床上のトレードオフ(感度または特異度の下限を固定する、重みづけした基準を使うなど)からカットオフ値を選び、その旨を明記してください。Nahm[10]は、正確度(正しく分類された割合)が標本の有病率に強く依存し、2種類の誤りを同じ重さで扱うため、カットオフ値を選ぶ根拠としては不適切だとも注意しています。
感度、特異度、予測値。S100B > 0.205の2×2表からは、感度 26/41 = 63.4%、特異度 58/72 = 80.6%、陽性的中率 26/40 = 65.0%、陰性的中率 58/73 = 79.5%が得られます。的中率は同じ表から求めますが、感度・特異度と違って、アウトカムのある患者の割合(本例では転帰不良36.3%)によって変わります。したがって、研究した集団に似た集団についてだけ引用してください。
感度・特異度の正確な信頼区間。これらは割合ですので、二項分布に基づく信頼区間を報告します。
binom.test(26, 41)$conf.int # sensitivity: 0.469 - 0.779
binom.test(58, 72)$conf.int # specificity: 0.695 - 0.889
(Clopper-Pearsonの正確な区間です。)STARDは、まさにこれを求めています。診断精度の推定値と、その精度(95%信頼区間など)です(STARD項目24、Bossuytら2015、PMID 26511519)[8]。ただし、これらの区間が含んでいないものがあります。それが次節の主題です。
4. 「最適」カットオフ値もまた推定値である
Youden指数による最適カットオフ値は、この113例のなかで最も成績のよい点を探して見つけたものです。そこから2つのことが言えます。
楽観的になります。Leeflangら(2008、PMID 18258670)[5]は、Youden指数でカットオフ値をデータから選ぶ手順をシミュレーションし、推定値を真の値と比較しました。真の感度と特異度がともに84%のとき、標本サイズ40の研究では推定値が約90%、標本サイズ200では約86%でした。バイアスは標本サイズが大きくなるほど小さくなります。彼らは、カットオフ値をデータから選ぶと、とくに小規模な研究で感度・特異度が過度に楽観的になり得ること、頑健な推定には相当に大きな標本サイズが必要なことを結論しています。Flussら(2005、PMID 16161804)[4]は、Youden指数とそのカットオフ値の推定量をシミュレーションで比較し、最もよく使われる経験的方法が、バイアスと二乗平均平方根誤差の点で総合的に最も劣ること、最適カットオフ値の結果は指数そのものよりもばらつきが大きいことを見いだしました。
不安定です。本データでそれを見るために、選択の手順全体を、ブートストラップ標本で2,000回繰り返しました(Good群とPoor群の中でそれぞれ患者を復元抽出)。そのたびに、Youden指数に基づく最適カットオフ値を記録します。
set.seed(20261006)
y <- aSAH$outcome; x <- aSAH$s100b
boot <- t(replicate(2000, {
i <- c(sample(which(y == "Good"), replace = TRUE),
sample(which(y == "Poor"), replace = TRUE))
rb <- roc(y[i], x[i], levels = c("Good", "Poor"), direction = "<", quiet = TRUE)
unlist(coords(rb, "best", best.method = "youden",
ret = c("threshold", "sensitivity", "specificity"))[1, ]) # 同点があれば先頭行
}))
colnames(boot) <- c("threshold", "sensitivity", "specificity")
round(apply(boot, 2, quantile, probs = c(.025, .5, .975)), 3)
threshold sensitivity specificity
2.5% 0.115 0.366 0.625
50% 0.205 0.634 0.819
97.5% 0.510 0.805 1.000

図の読み方:標本のおよそ半数では0.205そのものが選ばれます。図のとおり、隣の0.21前後など、元データでは同じ分類になる切り方も含まれます。しかし、残りでは分類が変わる値も選ばれ、選ばれたカットオフ値の中央95%は0.115から0.510に及びます。上限は下限の4倍を超えます。
同じ結果は、pROCの関数でも得られます。ci.coords(roc_s, x = "best", best.method = "youden", boot.n = 2000)は、ブートストラップの反復ごとに最適カットオフ値を選び直します。実務上の教訓は次のとおりです。第3節の二項区間(感度46.9〜77.9%、特異度69.5〜88.9%)は、0.205を事前に決めた値のように扱っており、カットオフ値をデータから選んだことによる不確かさを過小評価しています。上のブートストラップのパーセンタイルは、選び直したカットオフ値での感度・特異度が、再標本のあいだでどれだけ動いたかを示しています(感度36.6〜80.5%、特異度62.5〜100%)。これは不安定さを示す図として読んでください。真の感度・特異度の信頼区間ではありません。各値は、カットオフ値を選んだ同じ再標本のなかで測っているため、なお楽観的だからです。
この確認には限界もあります。本データでの不安定さを示すものであり、バイアスを補正した推定値ではありません。また、Leeflangら[5]が検討した3つの対処法(分布の仮定、leave-one-out、平滑化ROC曲線)のいずれでもありません。
どう対処するか。STARD 2015の解説(Cohenら2016、PMID 28137831)[9]は、報告上の帰結を説明しています。検査を行った後で、検査性能が最大になるカットオフ値を選ぶと、精度の推定値が過度に楽観的になるおそれが高まり、とくに小規模な研究で顕著で、後続の研究で結果が再現されないこともあります(項目12a)。事前に指定するカットオフ値は、先行研究、臨床で使われているカットオフ値、診療ガイドライン、または製造販売元に由来するものを使えます。そこで、次のようにします。
- 測定しようとするマーカーに既存のカットオフ値があるなら、より良い値を探すのではなく、プロトコルで事前に指定し、その感度・特異度を報告します。
- やむを得ず自分のデータから導く場合は、探索的であると明記し、標本サイズとAUCの信頼区間を報告し、安定性(ブートストラップまたは交差検証)を示し、できれば独立したコホートで確認します。
5. 論文での報告方法
Methods(統計解析)の記載例
適宜書き換えてお使いください。日本語論文向けの例文を示します。
S100Bによる転帰不良の識別能は、受信者動作特性(ROC)曲線下面積(AUC)で評価した(参照基準:Glasgow Outcome Scale、GOS。転帰不良=GOS 1〜3、転帰良好=GOS 4〜5の二値化)。AUCの95%信頼区間はDeLong法で算出した。カットオフ値は事前に指定せず、Youden指数(感度 + 特異度 − 1)が最大となる値を事後的に選んだ。このカットオフ値での感度と特異度は、正確な(Clopper-Pearson)95%信頼区間とともに示した。データから選んだカットオフ値の安定性を評価するため、層別ブートストラップ標本2,000回で選択を繰り返した。解析にはRバージョン4.3.3とpROCパッケージ1.19.0.1を用いた。
英語論文向けの例文は次のとおりです。
Discrimination of S100B for poor outcome (reference standard: Glasgow Outcome Scale, GOS, dichotomised as poor, GOS 1-3, vs good, GOS 4-5) was assessed with the area under the receiver operating characteristic curve (AUC). The 95% confidence interval of the AUC was computed with the DeLong method. The cut-off value was not pre-specified; it was chosen post hoc as the value maximising the Youden index (sensitivity + specificity − 1). Sensitivity and specificity at this cut-off are given with exact (Clopper-Pearson) 95% CIs. To assess the stability of the data-driven cut-off, the selection was repeated in 2,000 stratified bootstrap samples. Analyses used R 4.3.3 and the pROC package, version 1.19.0.1.
(GOSの分け方は、データセットの変数gos6とoutcomeをRでクロス集計して確認できる内容です。GOS 1、2、3はすべてPoor、GOS 4と5はすべてGoodになります。Robinら2011[7]は、グラスゴー転帰尺度で分類された患者を記述しています。ご自身の研究では、その研究での定義と評価時点を使ってください。)
Results(実数値を入れた記載例)
日本語論文向けの例文です。
S100Bは、転帰不良の患者(n = 41)と転帰良好の患者(n = 72)をAUC 0.731(95%信頼区間 0.630〜0.833、DeLong法)で識別した。Youden指数が最大となるカットオフ値(J = 0.440)は事後的にS100B > 0.205と決定され、感度は63.4%(26/41、95%信頼区間 46.9〜77.9%)、特異度は80.6%(58/72、95%信頼区間 69.5〜88.9%)であった。2,000回のブートストラップ標本でカットオフ値を選び直したところ、選ばれた値は0.115から0.510(2.5〜97.5パーセンタイル)に及び、選び直したカットオフ値での感度と特異度は、それぞれ36.6%から80.5%、62.5%から100%であった(2.5〜97.5パーセンタイル。記述的な値であり、信頼区間ではない)。したがって、このカットオフ値は探索的なものであり、独立したコホートでの検証が必要である。
英語論文向けの例文は次のとおりです。
S100B discriminated patients with poor outcome (n = 41) from those with good outcome (n = 72) with an AUC of 0.731 (95% CI 0.630-0.833; DeLong). The cut-off that maximised the Youden index (J = 0.440) was determined post hoc at S100B > 0.205, giving a sensitivity of 63.4% (26/41; 95% CI 46.9-77.9%) and a specificity of 80.6% (58/72; 95% CI 69.5-88.9%). When the cut-off was re-selected in 2,000 bootstrap samples, the selected value ranged from 0.115 to 0.510 (2.5th-97.5th percentile), and the sensitivity and specificity at the re-selected cut-off ranged from 36.6% to 80.5% and from 62.5% to 100%, respectively (2.5th-97.5th percentiles; descriptive, not confidence intervals). This cut-off is therefore exploratory and requires validation in an independent cohort.
査読者と学術誌が求めること
検査の診断精度を評価する論文の報告ガイドラインは、STARD 2015(Bossuytら2015、PMID 26511519[8]。解説(Explanation and Elaboration):Cohenら2016、PMID 28137831[9])です。30項目の必須項目からなり、EQUATOR Networkのライブラリに登録されています[11]。今回の解析に関わる項目は次のとおりです。
| STARD 2015の項目 | 求められる内容 | 本記事での対応箇所 |
|---|---|---|
| 12a | 陽性とするカットオフ値の定義と根拠(事前指定か探索的かの区別) | Methodsの例文「事後的に選んだ…Youden指数」 |
| 19 | 参加者のフロー(図を用いる) | 本記事では示していません。適格者、検査を受けた人、解析対象の人数を示すフロー図が必要です |
| 23 | 指標検査の結果(またはその分布)と、参照基準の結果との分割表 | 第2節の2×2表 |
| 24 | 診断精度の推定値とその精度(95%信頼区間など) | AUC、感度、特異度(それぞれ95%信頼区間つき) |
| 26 | 研究の限界(バイアスの要因、統計学的な不確かさ、一般化可能性を含む) | 探索的なカットオフ値の記述と、ブートストラップの範囲 |
STARDが対象とするのは、診断精度研究です。多変量の予測モデルを構築する研究や、別のデザインでROC曲線を多数のアウトカムの1つとして報告する研究では、EQUATOR Networkのライブラリで、デザインに合うガイドラインを確認してください(本サイトのEQUATORネットワークの解説も参照)。
投稿前のチェックリスト
- 向き(どちらの群で値が高いか)と、どちらの群を「症例」とするかを明記する。
- AUCを95%信頼区間とともに報告し、方法(DeLong法かブートストラップか)を書く。
- カットオフ値が事前指定か、データから選んだ値か、どのように選んだかを明記する(STARD 12a)。
- カットオフ値を測定法の分解能で、単位とともに示す。感度と特異度は95%信頼区間とともに、2×2表も示す。
- データから選んだ値の場合は、Abstractと限界(Limitations)にもその旨を書き、安定性を示すか、検証する。
- 同じ患者で測定した2つのマーカーを比較するときは、2つのAUCを目で比べない。相関のあるROC曲線のための検定を使う。DeLongら(1988、PMID 3203132)[3]やHanley・McNeil(1983、PMID 6878708)[2]の方法が使え、pROCの
roc.test()はDeLong法とブートストラップ法の検定を実装している(Robinら2011)[7]。 - ソフトウェアとバージョンを明記する。
Robinら[7]は、ROC解析の結論がしばしば不統一な使い方や不十分な統計解析のまま導かれていると指摘しています。上のチェックリストは、それを防ぐためのものです。
よくある誤り
- 全データでカットオフ値を決め、検証済みのように報告する。第4節をご覧ください。
- AUCだけを報告する。読者はAUCをそのまま使えません。カットオフ値、2×2表、信頼区間が必要です。
- 正確度でカットオフ値を選ぶ。有病率に依存し、2種類の誤りのコストが等しいと仮定しています(Nahm 2022)[10]。
- 向きや症例・対照のコーディングを誤る。意図した向きでAUCが0.5を上回っているかを確認し、向きをどう設定したかを書いてください。
- 点推定値だけで「優秀」と呼ぶ。信頼区間を併記してください。症例が41例の本例では、区間が3つの慣習的な呼称(不良・普通・良好)にまたがっています。
- ROC曲線を臨床での有用性の指標とみなす。示しているのは識別能だけです。検査が意思決定を変えるかどうかは別の問いで、STARD項目3は、検査の想定される用途と臨床上の役割を示すことを求めています。
ROC解析を統計の専門家に確認してもらいたい方へ
Editverse Japanの医学統計解析サポートでは、統計の専門家が解析をサポートします。ご相談のうえで定めた範囲(ROC解析を含められます)で、データの解析、カットオフ値の妥当性の確認、Methods・Resultsの記載の整備を、著者の方とご一緒に進めます。解析コードと結果レポートを納品しますので、共著者の方がすべての数値を再現できます。このような統計支援は、ICMJEの著者資格基準のもとでも正当な貢献です。ただし、研究デザイン、カットオフ値の選択、解釈、結論は研究者のものです。
診断精度研究を執筆中の場合は、報告ガイドライン準拠確認が、原稿をSTARD 2015に照らして項目ごとに確認します。解析サービス全体については、統計解析サービスをご覧ください。採択まで追加料金なしでサポートを継続します(採否はジャーナルが判断します)。
まとめ
- ROC曲線は、すべてのカットオフ値について感度と1-特異度を描いたものです。AUCは、無作為に選んだ症例が無作為に選んだ対照より高く順位づけられる確率で、95%信頼区間(DeLong法またはブートストラップ法)とともに報告します。
- 実データの例(
pROC::aSAH、n = 113、S100B)では、AUC = 0.731(95%信頼区間 0.630〜0.833)でした。Youden指数による最適カットオフ値はS100B > 0.205で、感度63.4%、特異度80.6%でした。 - 同じデータから選んだカットオフ値は楽観的で不安定です。ブートストラップで選ばれたカットオフ値の2.5〜97.5パーセンタイルは0.115から0.510でした。可能な限りカットオフ値を事前に指定し、そうでなければ探索的と明記して検証してください。
- STARD 2015に沿って報告します。カットオフ値の決め方(項目12a)、2×2表(項目23)、95%信頼区間つきの精度(項目24)、限界(項目26)です。
公費・研究費でのお支払い
見積書・納品書・請求書の発行など、公費・研究費でのお支払いについては、公費・研究費でのお支払いをご覧ください。お見積もりのご相談は、お問い合わせからどうぞ。
関連記事
- 【統計の書き方】論文における統計解析結果の報告方法
- 【信頼区間の解釈】95% CIの正しい意味と論文での報告方法
- 【完全ガイド】EQUATORネットワークで最適な報告ガイドラインを選ぶ方法
- 症例数設計の計算方法とG*Power|サンプルサイズが足りないときの対処
- 査読で統計を指摘されたら|よくある7つの指摘と回答のしかた
- リッカート尺度の分析|平均か中央値か・検定の選び方と書き方
- カイ二乗検定とFisher正確検定|論文での使い分けと報告例文
- オッズ比の報告方法
- 統計解析サービス
- 感度分析(sensitivity analysis)
- EZRでの解析手順と論文での引用(EZR(Easy R)の使い方)
よくある質問
Q1. AUCがいくつなら「良い」と言えますか。
普遍的な基準はありません。よく引用される慣習(Nahm 2022)[10]では、0.5を識別能なし、0.8以上を一般に許容できる水準とし、0.7〜0.8を「普通(fair)」、0.9以上を「優秀(excellent)」と呼びます。どこまでの値で足りるかは臨床での使い道によって変わり、点推定値と同じくらい95%信頼区間が重要です。本例ではAUC 0.731の信頼区間が0.630〜0.833でした。
Q2. ROC曲線からカットオフ値をどう選びますか。
一般的な基準は、Youden指数J(感度 + 特異度 − 1)が最大になる点と、左上隅に最も近い点です。本例では、どちらも0.205になりました。見逃しと誤警報のコストが同じでない場合は、臨床上のトレードオフから選んでください。どの基準を使う場合も、カットオフ値が事前指定か同じデータから選んだ値かを明記します(STARD項目12a)。
Q3. 自分のカットオフ値が、新しい標本だと成績が悪くなるのはなぜですか。
同じデータで成績が最大になるように選んだカットオフ値は、とくに小規模な研究で、感度・特異度が楽観的になりがちです(Leeflangら2008)[5]。本例のブートストラップでは、再標本ごとに選ばれたカットオフ値の2.5〜97.5パーセンタイルは0.115から0.510でした。カットオフ値を事前に指定するか、独立したコホートで検証してください。
Q4. RでAUCの95%信頼区間を求めるには。
pROCでは、ci.auc(roc_object)が既定でDeLong法の区間を返します。ci.auc(roc_object, method = "bootstrap", boot.n = 2000)では、ブートストラップ法の区間が得られます。Methodsに方法を書いてください。
Q5. 2つのマーカーのAUCを比較できますか。
できます。ただし、同じ患者で両方を測定した場合、2つのAUCには相関があります。数値や2つの信頼区間を目で比べるのではなく、相関のある曲線のための検定(DeLongら1988、Hanley・McNeil 1983)[2][3]を使ってください。pROCのroc.test()などが使えます。
参考資料
PubMed収載文献(PMID、雑誌、巻号、年は、NCBI E-utilitiesのesummaryで2026年10月6日に確認しました)
- Hanley JA, McNeil BJ. The meaning and use of the area under a receiver operating characteristic (ROC) curve. Radiology. 1982;143(1):29-36. doi:10.1148/radiology.143.1.7063747. PMID: 7063747
- Hanley JA, McNeil BJ. A method of comparing the areas under receiver operating characteristic curves derived from the same cases. Radiology. 1983;148(3):839-843. doi:10.1148/radiology.148.3.6878708. PMID: 6878708
- DeLong ER, DeLong DM, Clarke-Pearson DL. Comparing the areas under two or more correlated receiver operating characteristic curves: a nonparametric approach. Biometrics. 1988;44(3):837-845. PMID: 3203132(PubMedにDOIの記載はありません)
- Fluss R, Faraggi D, Reiser B. Estimation of the Youden Index and its associated cutoff point. Biometrical Journal. 2005;47(4):458-472. doi:10.1002/bimj.200410135. PMID: 16161804
- Leeflang MMG, Moons KGM, Reitsma JB, Zwinderman AH. Bias in sensitivity and specificity caused by data-driven selection of optimal cutoff values: mechanisms, magnitude, and solutions. Clinical Chemistry. 2008;54(4):729-737. doi:10.1373/clinchem.2007.096032. PMID: 18258670
- Turck N, Vutskits L, Sanchez-Pena P, et al. A multiparameter panel method for outcome prediction following aneurysmal subarachnoid hemorrhage. Intensive Care Medicine. 2010;36(1):107-115. doi:10.1007/s00134-009-1641-y. PMID: 19760205(
aSAHデータセットの出典) - Robin X, Turck N, Hainard A, et al. pROC: an open-source package for R and S+ to analyze and compare ROC curves. BMC Bioinformatics. 2011;12:77. doi:10.1186/1471-2105-12-77. PMID: 21414208
- Bossuyt PM, Reitsma JB, Bruns DE, et al. STARD 2015: an updated list of essential items for reporting diagnostic accuracy studies. BMJ. 2015;351:h5527. doi:10.1136/bmj.h5527. PMID: 26511519
- Cohen JF, Korevaar DA, Altman DG, et al. STARD 2015 guidelines for reporting diagnostic accuracy studies: explanation and elaboration. BMJ Open. 2016;6(11):e012799. doi:10.1136/bmjopen-2016-012799. PMID: 28137831
- Nahm FS. Receiver operating characteristic curve: overview and practical use for clinicians. Korean Journal of Anesthesiology. 2022;75(1):25-36. doi:10.4097/kja.21209. PMID: 35124947
機関の情報源
- EQUATOR Network. STARD reporting guideline(STARD 2015のチェックリストとフロー図を提供。2026年10月6日に確認). https://www.equator-network.org/reporting-guidelines/stard/