データリーケージとは?
モデルを作る過程で、本来は使ってはいけない情報が入り込むこと。代表例は、予測時点より後に得られる情報を説明変数に入れてしまうこと(例:退院時 FIM を入院時の予測モデルに入れる)。
— Interactive Data Leakage Demo
データリーケージ(data leakage)とは、本来は予測時点で使えない情報や、テストデータの情報が学習過程に入り込んでしまう現象です。見かけ上の AUC や Accuracy は不自然に高くなりますが、実際の未知患者では役に立たないモデルになります。「内部検証で AUC=0.95 だったのに、別施設で試したら 0.65 まで下がった」── 多くの場合、犯人はこのリーケージです(理論的整理は 09·02 データリーケージとは何か を参照)。本デモでは、リーケージの強さをスライダーで動かしながら、赤いモデル(リーケージあり)だけが急に高性能になる現象を体感します。
右の操作パネルから 「リーケージの強さ」 をまず 0 にして、青(正しいモデル)と赤(リーケージあり)の AUC を比較。次に 0.7〜1.0 へ徐々に上げていくと、赤の AUC・Accuracy だけが急上昇するのが見えるはずです。これが「答えに近い未来情報」を覗き見した結果です。
横軸:入院時点で使える情報 / 縦軸:退院後に近い「答えを含む情報」。
// TIP 赤の AUC が青より大幅に高い時 → モデルが賢いのではなく「答えを覗いている」可能性あり。
モデルを作る過程で、本来は使ってはいけない情報が入り込むこと。代表例は、予測時点より後に得られる情報を説明変数に入れてしまうこと(例:退院時 FIM を入院時の予測モデルに入れる)。
本デモの理論的解説記事。10 種類のリーケージパターン、Pipeline での防止、外部検証の必須性。
Pipeline と交差検証で、前処理パラメータが test に漏れない構造を作る実装パターン。
姉妹デモ。前処理を fold 内で閉じるべき理由が体感的に分かる。
補完器を分割前に fit するのもリーケージ。本デモと同じ Pipeline 規律で対処する。
同一施設内の評価は楽観的。施設・時間でまたいだ評価がリーケージの究極の防止策。
前処理→分割の順序を Methods に書くプロンプト。リーケージ防止の Methods 記述支援。