// PART 14 · DEMO 03
DEMO REHAB L1

データリーケージを、グラフで体験する

— Interactive Data Leakage Demo

15 min hands-on · L1 · 2026.05.20 update · by Editor

データリーケージ(data leakage)とは、本来は予測時点で使えない情報や、テストデータの情報が学習過程に入り込んでしまう現象です。見かけ上の AUC や Accuracy は不自然に高くなりますが、実際の未知患者では役に立たないモデルになります。「内部検証で AUC=0.95 だったのに、別施設で試したら 0.65 まで下がった」── 多くの場合、犯人はこのリーケージです(理論的整理は 09·02 データリーケージとは何か を参照)。本デモでは、リーケージの強さをスライダーで動かしながら、赤いモデル(リーケージあり)だけが急に高性能になる現象を体感します。

// HOW TO USE

右の操作パネルから 「リーケージの強さ」 をまず 0 にして、青(正しいモデル)と赤(リーケージあり)の AUC を比較。次に 0.7〜1.0 へ徐々に上げていくと、赤の AUC・Accuracy だけが急上昇するのが見えるはずです。これが「答えに近い未来情報」を覗き見した結果です。

// SAFE vs LEAKED INFORMATION

横軸:入院時点で使える情報 / 縦軸:退院後に近い「答えを含む情報」。

歩行自立あり 歩行自立なし 正しい境界 リーケージ境界

// TIP  赤の AUC が青より大幅に高い時 → モデルが賢いのではなく「答えを覗いている」可能性あり。

01

データリーケージとは?

モデルを作る過程で、本来は使ってはいけない情報が入り込むこと。代表例は、予測時点より後に得られる情報を説明変数に入れてしまうこと(例:退院時 FIM を入院時の予測モデルに入れる)。

02

医療AIで起こりやすい例

  • 退院時 FIM を、退院時歩行自立の予測に使う
  • 入院期間や退院先など、結果に近い情報を入れる
  • 全データで標準化・欠損補完・特徴選択してから分割する
  • 同じ患者の複数データが訓練とテストに分かれて入る
03

対策

  • いつの時点で予測するモデルかを先に決める
  • 説明変数がその時点で入手可能か確認する
  • 前処理は訓練データの中だけで学習する(Pipeline)
  • 患者単位・施設単位で分割する(GroupKFold)
  • 可能なら外部検証を行う

// RELATED関連記事で深く学ぶ