評価・監視・ガードレール

ドリフト検知とは|はっきり変わっても0.0585で、目安のしきい値に届かなかった

ドリフト検知とは何をするのかしきい値はどこに置けばよいのか件数はどれだけ必要なのか

区分の割合を3割から2割に動かしても、指標は0.0585でした。よく使われる目安の0.1に届きません。

件数も効きます。まったく変化していないデータでも、100件で0.0241、2万件で0.0000と値が変わりました。

この記事の要点

  • 大きな変化なら0.3867で拾える
  • はっきりした変化でも0.0585
  • 変化なしのデータでも100件だと0.0241
  • 2万件まで増やすと0.0000

はっきり変わっても0.0585で、目安のしきい値に届かなかった

変化の程度を4段階に変えて指標を計算しました。よく使われる目安では、途中の変化を拾えません。

ドリフト検知の指標がどこから反応するのかを、実際に走らせて確かめました。使ったのは問い合わせの区分5種類の割合です。

基準の期間を5万件、比べる期間を1000件としました。変化の程度を4段階に変えて、指標を計算しています。

javascript
// 母集団安定性指標(PSI)
const psi = (a, b) => a.reduce((s, x, i) => {
  const p = Math.max(x, 1e-6), q = Math.max(b[i], 1e-6);
  return s + (q - p) * Math.log(q / p);
}, 0);
text
基準となる期間の分布(5万件)

区分        割合
宿泊費            30.1%
交通費            24.9%
日当             20.0%
前払             15.0%
その他            10.1%

変化の程度        指標の値  目安の判定
変化なし                0.0014  変化なしとみなす
わずかに変化              0.0026  変化なしとみなす
はっきり変化              0.0585  変化なしとみなす
大きく変化               0.3867  変化ありとみなす

上の表を見てください。はっきり変化させた場合でも0.0585で、よく使われる目安の0.1に届きませんでした。

何を動かしたか

はっきり変化の行では、宿泊費を30%から20%に、日当を20%から25%に動かしています。10ポイントの移動です。

業務としては十分な変化です。問い合わせの中心が移っているので、用意しておくべき回答も変わります。それでも指標は反応しませんでした。

目安をそのまま使わない

0.1や0.25といった値は、よく紹介される目安です。ところがこの題材では、拾いたい変化がその下に隠れました

Evidentlyのドキュメントも、この検知の論理は変更できるとしています。手法を選び、しきい値を指定し、独自の判定を渡せる作りです。既定のままにしない前提になっています。

拾いたい変化が、目安の下に隠れることがある。

単位: 点大きく変化0.3867点はっきり変化0.0585点わずかに変化0.0026点変化なし0.0014点基準5万件・比較1000件での実測。指標は単位のない値で、ここでは点として示している。目安は0.1と0.25。
図1 ── 変化の程度と指標の値
出典Evidently ドキュメント「Data drift」2026-08-18 確認
You can modify this drift detection logic.
原文Evidently ドキュメント「Data drift」 この内容の有効期限2027-02-18

ドリフト検知とは何をするのか

基準にする期間と、いまの期間の分布を比べます。基準を決めておくことが前提になります。

ドリフト検知は、入力の傾向が変わったことに気づく仕組みです。日本語では傾向のずれの検知と呼ばれます。

2つの期間を比べる

比べる相手が要ります。Evidentlyのドキュメントも常に2つのデータを渡す必要がある。いまの側と、基準として働く側であるとしています。

つまり基準の期間を先に決めておく必要があります。決めていなければ、変わったかどうかも言えません。

何を比べるか

比べるのは値そのものではなく分布です。同じドキュメントも2つのデータについて、ある列の値の分布を比べるとしています。

  1. 問い合わせの種類の割合。前の節で使ったのはこれ
  2. 入力の長さの分布。急に長い入力が増えていないか
  3. 使われる時間帯。夜間の利用が増えていないか
  4. 答えられなかった割合。結果の側の変化

4番目は結果の側です。入力が変わっていなくても、出せる答えが変わることがあります。両方を見ておくと切り分けられます。

なぜ気づきたいのか

入力の傾向が変わると、用意しておいた仕組みが合わなくなります。文書を足す、指示を書き直すといった手当てが要ります。

気づかなければ、答えられない問い合わせが静かに増えます。苦情が来るまで分かりません。答えの側の質を測る話はRAGASの記事で扱っています。

余談 この計測での注意

分布は種を固定した乱数で作っています。実際の問い合わせを測ったものではありません。使った指標も1種類だけで、他の手法では反応の仕方が変わります。ここで見せているのは、既定のしきい値をそのまま使うと拾いたい変化を逃すことがあるという関係です。

出典Evidently ドキュメント「Data drift」2026-08-18 確認
You always need to pass two datasets: current (dataset evaluated for drift) and reference (dataset that serves as a benchmark).
原文Evidently ドキュメント「Data drift」 この内容の有効期限2027-02-18

件数が少ないと、変化していなくても値が出る

観測する件数そのものが指標に効きます。少ないと、変わっていないのに変わったように見えます。

ドリフト検知では、観測する件数が指標に効きます。変化していないデータで件数だけを変えて確かめました。

text
件数      指標の値  目安の判定
   100件    0.0241  変化なしとみなす
   300件    0.0120  変化なしとみなす
  1000件    0.0117  変化なしとみなす
  5000件    0.0005  変化なしとみなす
 20000件    0.0000  変化なしとみなす

上の表はすべてまったく同じ分布から取ったものです。それでも100件では0.0241、2万件では0.0000になりました。

少ないほど大きく出る

100件しかないと、たまたまの偏りがそのまま指標に出ます。変化がないのに0.0241という値が立ちました。

前の節の「はっきり変化」が0.0585だったことを思い出してください。100件での揺れの倍しかありません。件数が少ないと、本物の変化と見分けがつきません。

件数によって手法が変わる

この性質は道具の側でも考慮されています。Evidentlyのドキュメントは基準のデータが1000件以下の小さなデータの場合として、規模ごとに違う統計的な手法を当てる作りを説明しています。

つまり件数を確かめずに指標だけ見るのは危ないということです。日次で見るか週次で見るかによって、揺れの大きさが変わります。

しきい値の決め方

  1. 変化がない期間どうしで測る。揺れの大きさが分かる
  2. 過去に実際に起きた変化で測る。拾いたい値が分かる
  3. その2つの間にしきい値を置く。既定の値は使わない
  4. 観測する件数を固定する。件数が動くと値も動く

4番目を忘れると、問い合わせが減った日に指標が跳ねます。件数の変化を、傾向の変化と取り違えることになります。

同じ分布でも、件数が少ないと値が立つ。

00100件300件1000件5000件20000件指標の値すべて同じ分布から取った実測。指標は単位のない値で、ここでは点として示している。
図2 ── 変化なしのデータでの指標の値
出典Evidently ドキュメント「Data drift」2026-08-18 確認
For small data with <= 1000 observations in the reference dataset
原文Evidently ドキュメント「Data drift」 この内容の有効期限2027-02-18

よくある質問

しきい値はいくつにすればよいですか
既定の目安をそのまま使うと、この計測のようにはっきりした変化を見逃します。自分のデータで測って決める必要があります。
観測する件数はどれだけ要りますか
少ないと変化していなくても値が出ます。この計測では100件で0.0241、5000件で0.0005でした。
変化を見つけたらどうするのですか
まず何が変わったかを見ます。入力そのものが変わったのか、集計の仕方が変わったのかで対処が違います。
何と何を比べるのですか
基準にする期間と、いま見ている期間の2つです。基準の側を決めておくことが前提になります。

まとめ

  • 入力の傾向が変わったことに気づく仕組み
  • はっきりした変化でも0.0585にとどまる
  • 件数が少ないと変化なしでも値が出る
  • しきい値は自分のデータで決める

今日から始められること

  1. 基準にする期間のデータを保存する
  2. 同じ区分で、いまの期間の割合を出す
  3. 過去に実際に起きた変化で、指標がいくつになるか測る
  4. その値をもとにしきい値を決める

実務で組んだドリフト検知のワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る