医療現場において、疾患の発症リスクや治療効果を予測する「臨床予測モデル」は、より精度の高い意思決定を支援する強力なツールである。しかし、モデルの予測性能を評価する際、従来の指標だけでは見落とされがちな「臨床的有用性」という側面がある。本記事では、この臨床的有用性をより深く評価するための指標である「NRI (Net Reclassification Improvement)」と「IDI (Integrated Discrimination Improvement)」に焦点を当て、その概要、他の評価指標との違い、具体的な計算例、そして結果の解釈までを分かりやすく解説する。これらの指標を理解することで、臨床予測モデルが医療現場に真に貢献しているかを適切に評価できるようになる。
NRIとIDIの概要
臨床予測モデルの評価には、AUC(Area Under the Curve)など様々な指標が用いられる。AUCはモデルの識別能、つまり病気の人とそうでない人をどれだけ区別できるかを示す優れた指標である。しかし、AUCが高いからといって、必ずしもそのモデルが臨床現場で役立つとは限らない。なぜなら、AUCはリスクスコアの順序付けに着目する一方で、実際に患者の診断や治療方針に変化をもたらすかという点については直接評価できないからである。
そこで登場するのが、NRIとIDIである。これらの指標は、モデルが患者のリスク層別化をどれだけ改善したか、そしてそれが臨床的な意思決定にどれだけ影響を与えるかを評価する。
- NRI (Net Reclassification Improvement): NRIは、新しいモデルを導入することで、患者がより適切なリスクカテゴリーに再分類される割合を示す指標である。具体的には、旧モデルと新モデルでリスクカテゴリーが変化した患者について、その変化が良い方向(例えば、実際にイベントが発生した人が高リスクに、イベントが発生しなかった人が低リスクに再分類される)に向かった割合から、悪い方向に向かった割合を差し引いたものである。NRIは、設定されたリスク閾値(カットオフ値)に基づいて計算されるため、臨床的な意思決定に直接結びつきやすいという特徴を持つ。
- IDI (Integrated Discrimination Improvement): IDIは、新しいモデルを導入することで、イベント発生群と非発生群の予測確率の差がどれだけ広がったかを示す指標である。簡単に言えば、病気の人では予測確率が高く、健康な人では予測確率が低い、というモデルの「識別力」の向上を定量化する。IDIはNRIと異なり、特定の閾値に依存せず、予測確率の分布全体の変化を評価するため、モデルの全体的な識別能力の向上度合いをより包括的に捉えることができる。
使い分けのガイドライン
基本的には、「AUC → IDI → NRI」の順で深掘りしていくのが一般的である。
AUCがモデルの全体的な識別能を見るのに対し、NRIとIDIはモデルが実際に個々の患者のリスク評価をどれだけ「改善」したかに焦点を当てる。
- モデル開発の初期段階: 主にAUCを用いて、モデルの基本的な識別能を確認する。
- 既存モデルの改良・新規モデルの比較: NRIやIDIを用いて、新しいモデルが既存のモデルと比較して、どれだけ臨床的に有用な情報を提供できるかを評価する。特に、AUCでは差が見られにくい場合でも、NRIやIDIが有意な改善を示すことがある。これは、わずかな予測確率の変化でも、それがリスクカテゴリーの変更につながり、臨床的介入の有無に影響を与える可能性があるためである。
① IDIを使うべき場面
- モデルの理論的な改善を示したいとき。
- まだ明確な治療の閾値が決まっていない研究段階で、新しく追加した変数(バイオマーカーなど)が予測能を全体的に高めているかを確認したいとき。
② NRIを使うべき場面
- 臨床的な導入価値をアピールしたいとき。
- 「この新モデルを使えば、100人中○人がより適切な治療を受けられるようになります」という具体的な説明が必要なとき。
- ガイドライン等で「リスク20%以上で投薬」などの閾値が明確に決まっているとき。
具体例
架空の心血管疾患発症予測モデルを例に考えてみよう。既存モデルと新しいモデルがあり、新しいモデルが既存モデルよりも心血管疾患発症リスクの予測精度を高めているかを評価する。
シナリオ:
- イベント: 10年以内の心血管疾患発症(Yes/No)
- 患者数: 1000人
- リスクカテゴリー: 低リスク(予測確率 < 0.1)、中リスク(0.1 ≦ 予測確率 < 0.3)、高リスク(予測確率 ≧ 0.3)
旧モデルと新モデルで各患者のリスク確率が計算され、それぞれの閾値に基づいてリスクカテゴリーに分類される。NRIは、この再分類の結果を分析し、より適切なリスクカテゴリーへ移動した患者の割合を評価する。IDIは、イベント発生群と非発生群それぞれの予測確率の平均値の変化を評価し、両群の分離がどれだけ改善されたかを定量化する。
R 計算例
ここでは、Rを用いたNRIとIDIの計算例を示す。PredictABELパッケージがこれらの指標の計算に便利である。
R スクリプト例:
if(!require (PredictABEL)) install.packages("PredictABEL")
library(PredictABEL)
# ダミーデータの作成(実際は臨床データを使用)
set.seed(123)
n <- 1000
outcome <- rbinom(n, 1, 0.2) # イベント発生有無 (1:発生, 0:非発生)
# 旧モデルと新モデルの予測確率
# 旧モデル (例: 年齢、性別など)
pred_old <- runif(n, 0.05, 0.4)
# 新モデル (例: 旧モデルに加えて、新しいバイオマーカーなど)
pred_new <- pred_old + rnorm(n, 0, 0.1) # 新しい情報で予測が改善されたと仮定
pred_new[pred_new < 0] <- 0
pred_new[pred_new > 1] <- 1
data <- data.frame(outcome, pred_old, pred_new)
# リスク閾値の定義
# 実際の臨床ガイドラインやリスク評価に基づいて設定
thresholds <- c(0, 0.1, 0.3, 1)
# NRIとIDIの計算
# reclassification関数でNRIとIDIをまとめて計算できる
# event: イベント発生有無 (0/1)
# p_std: 旧モデルの予測確率
# p_new: 新モデルの予測確率
# cutoff: リスク閾値ベクトル
reclassification(
data = data,
cOutcome = 1, # outcome変数の列番号
predrisk1 = pred_old,
predrisk2 = pred_new,
cutoff = thresholds
)
実行結果:
> reclassification(
+ data = data,
+ cOutcome = 1, # outcome変数の列番号
+ predrisk1 = pred_old,
+ predrisk2 = pred_new,
+ cutoff = thresholds
+ )
_________________________________________
Reclassification table
_________________________________________
Outcome: absent
Updated Model
Initial Model [0,0.1) [0.1,0.3) [0.3,1] % reclassified
[0,0.1) 70 37 2 36
[0.1,0.3) 68 292 104 37
[0.3,1] 1 63 165 28
Outcome: present
Updated Model
Initial Model [0,0.1) [0.1,0.3) [0.3,1] % reclassified
[0,0.1) 21 15 2 45
[0.1,0.3) 20 61 23 41
[0.3,1] 3 12 41 27
Combined Data
Updated Model
Initial Model [0,0.1) [0.1,0.3) [0.3,1] % reclassified
[0,0.1) 91 52 4 38
[0.1,0.3) 88 353 127 38
[0.3,1] 4 75 206 28
_________________________________________
NRI(Categorical) [95% CI]: 0.0115 [ -0.0832 - 0.1063 ] ; p-value: 0.81139
NRI(Continuous) [95% CI]: 0.0481 [ -0.1072 - 0.2034 ] ; p-value: 0.54352
IDI [95% CI]: 0.006 [ -0.0098 - 0.0218 ] ; p-value: 0.45377
>
結果読み取り
IDI
IDIは、「予測確率の平均値」を計算している。
- Presen群: 新モデルでの平均予測確率が、旧モデルよりどれだけ上がったか($\text{IS}$:Integrated Sensitivity)
- Absent群: 新モデルでの平均予測確率が、旧モデルよりどれだけ下がったか($\text{IP}$:Integrated specificity)
$$IDI = (\text{Mean } P_{new, present} – \text{Mean } P_{old, present}) – (\text{Mean } P_{new, absent} – \text{Mean } P_{old, absent})$$
今回の結果 0.006 は、新モデルによって「病気の人と健康な人の予測確率の差が、全体として 0.6% 拡大した」ことを意味する。しかしながら、統計学的に有意ではなかった。
NRI (Continuous)
NRI(Continuous) は、上記の表(0.1や0.3といった閾値)を無視し、予測確率が1%でも上がったか下がったか」ですべての動きをカウントしたもの。
- 個々の患者の微小な変化を拾うため、一般的に Categorical NRI よりも値が大きく(感度が高く)出る傾向がある。
0.0481であるが、統計学的有意ではなかった。
NRI (Categorical)
NRIは、「イベント発生群(Present)での改善」と「イベント非発生群(Absent)での改善」の合計である。
① Outcome: present (イベント発生群) の動き
この群では、リスクカテゴリーが上がることが「改善」。
- Up (改善): $15 + 2 + 23 = 40$ 人
- Down (改悪): $20 + 3 + 12 = 35$ 人
- 計算: $\frac{(40 – 35)}{\text{Total Present (198)}} = \frac{5}{198} \approx 0.0252$
② Outcome: absent (イベント非発生群) の動き
この群では、リスクカテゴリーが下がることが「改善」。
- Down (改善): $68 + 1 + 63 = 132$ 人
- Up (改悪): $37 + 2 + 104 = 143$ 人
- 計算: $\frac{(132 – 143)}{\text{Total Absent (802)}} = \frac{-11}{802} \approx -0.0137$
③ NRI の合計
$$NRI = 0.0252 + (-0.0137) = 0.0115$$
- この
0.0115も数値上わずかに改善しているが、統計学的有意ではなかった。
総合的な解釈
この結果から以下のことが言える:
- 改善の程度: 新モデルは旧モデルと比較して、わずかな改善を示しているが、その改善は統計的に有意ではない
- 臨床的意義: 1-5% (0.01 – 0.05)程度の改善は、臨床的に意味のある改善とは言い難い
- モデルの有用性: 新しいバイオマーカーや変数を追加しても、予測精度の大幅な向上は期待できない可能性がある
- サンプルサイズ: n=1000のサンプルサイズは十分であるが、真の改善効果が小さい場合、より大きなサンプルサイズが必要かもしれない
実用的な推奨事項
- (今回扱った架空の)新モデルの採用は慎重に検討すべき
- 他の評価指標(AUC、Hosmer-Lemeshow検定など)も併せて評価することを推奨
- コスト効果分析も考慮に入れるべき
- より大きなサンプルサイズでの検証を検討できるとよい
まとめ
臨床予測モデルの評価において、NRIとIDIは、従来のAUCだけでは捉えきれない「臨床的有用性」という重要な側面を明らかにする強力なツールである。NRIはリスクカテゴリーの再分類の改善を、IDIはイベント発生群と非発生群の予測確率の差の拡大を定量化する。
これらの指標を適切に用いることで、単に予測精度が高いだけでなく、実際に患者の診断や治療方針に良い影響を与えるモデルを選び出すことが可能となる。特に、新たなバイオマーカーや診断技術を組み込んだモデルの評価、あるいは既存の臨床予測モデルの改良効果を検証する際には、NRIとIDIがその真価を発揮するだろう。
医療現場での意思決定をより科学的かつ効果的にするためにも、NRIとIDIの理解と活用は不可欠である。本記事が、臨床予測モデルの評価を深める一助となれば幸いである。




コメント