時間依存性ROC曲線

(Time-dependent ROC)

解説

時間依存性ROC曲線とは

時間依存性ROC曲線 (Time-dependent ROC Curve) は、生存データにおけるバイオマーカーや予測スコアの予測精度を、特定の時点ごとに評価するための手法です。

通常のROC曲線はアウトカムが二値(発症/非発症)の場合に適用しますが、生存解析では観察打ち切りが生じるため、通常のROCをそのまま使うことはできません。時間依存性ROCは、この打ち切りを考慮したうえで、各評価時点における感度・特異度を推定します。

本アプリでサポートする機能

AUC の推定

  • 指定した複数の評価時点ごとの AUC 計算
  • AUC の 95% 信頼区間(Bootstrap; iid 法)
  • AUC の時間推移プロット

ROC 曲線

  • 各マーカーの ROC 曲線プロット(第1評価時点)
  • 複数マーカーの ROC 曲線重ね合わせ図

最適カットオフ値

  • Youden index (感度 + 特異度 - 1 が最大となる点) によるカットオフ算出
  • カットオフに対応する感度・特異度の表示

複数マーカーの比較

  • 全マーカーの AUC 推移を1グラフに重ねて比較
  • マーカー間の AUC 差の統計的検定(timeROC::compare())
  • delta AUC・p 値・優位マーカーの一覧表示

ROC タイプの選択

  • C/D (Cumulative/Dynamic): 時点 t までにイベントが起きた人を陽性と定義(論文での標準)
  • I/D (Incident/Dynamic): 時点 t ちょうどにイベントが起きた人を陽性と定義

データの準備

  • 観察期間: 追跡開始からイベント発生または打ち切りまでの時間(連続変数)
  • イベント変数: イベント発生・打ち切りを示す変数。値はユーザーが自由に指定(例: 1/0、死亡/生存)
  • マーカー変数: 予測能を評価したい連続変数(複数可)
  • サンプルサイズの目安: 最低10件以上(信頼区間の安定には50件以上を推奨)

結果の解釈

AUC

  • AUC = 0.5:ランダムと同等(予測能なし)
  • AUC > 0.7:許容できる予測能
  • AUC > 0.8:優れた予測能

AUC の時間推移

  • 時点によって AUC が変動する場合、マーカーの予測能が時間とともに変化することを意味します
  • 特定の時点で AUC が高いマーカーは、その時点でのイベント予測に有用です

最適カットオフ (Youden index)

  • 感度と特異度のバランスが最も良い点。臨床的な判断基準として参照できます
  • カットオフはあくまで統計的な基準であり、臨床的妥当性の検討が必要です

マーカー比較検定

  • delta AUC > 0: 左側マーカーの AUC が右側より高い
  • p < 0.05 (*) / p < 0.01 (): AUC 差が統計的に有意 * 信頼区間(Bootstrap 回数 ≥ 500 を推奨)が設定されている場合のみ検定が実行されます ==== ROC タイプについて ==== * C/D (Cumulative/Dynamic): 時点 t までの累積イベント発生者を陽性とする定義。打ち切りを IPCW(逆確率重み付け)で補正。論文での標準的な選択 * I/D (Incident/Dynamic)**: 時点 t ちょうどで発生したイベントを陽性とする定義。特定時点での予測に焦点を当てる場合に使用

注意事項

  • 時間依存性ROCは探索的手法であり、マーカーの臨床的有用性の確認には別途検証データが必要です
  • 評価時点はデータの観察期間の範囲内で設定してください(範囲外の時点は推定が不安定)
  • サンプルサイズが小さい場合や打ち切り割合が高い場合、AUC推定が不安定になります
  • Bootstrap CI の計算は時間がかかります。0 を指定すると CI なしで高速に実行できます
  • マーカー比較検定には Bootstrap(iid=TRUE)が必要です

アプリ

データ

設定

分析設定
評価時点 (カンマ区切り)
AUCを計算したい時点を入力してください。
ROC タイプ
C/D: 時点 t までにイベントが起きた人を陽性と定義。I/D: 時点 t ちょうどにイベントが起きた人を陽性と定義。
Bootstrap 回数 (信頼区間)
0 を指定すると信頼区間を計算しません。500 以上を推奨。計算に時間がかかります。