Published on

BA025. 最適な境界を求めて — Grid SearchとYouden's Jの数学

BA025. 最適な境界を求めて — Grid SearchとYouden's Jの数学

BA024(BA024. EXAWinベイジアンエンジンの進化:データが自らパラメータをチューニングする日)で、営業本部長はAuto-Tunerが3,240個のグリッドを探索して最適パラメータを見つけ出す場面を目撃した。画面上のグリッドが青から赤に染まっていく30秒間、エンジン内部ではどんな数学が動いていたのだろうか?

この記事では、Auto-Tunerの第1の柱 — Grid Search最適化Youden's J Index — の数学的原理をビジネスの意味とともに説明する。


1. 問題の定義:「良いパラメータ」とは何か?

EXAWinのベイジアンエンジンは2つのコアパラメータに依存する。

T(Stage Weight、ステージ重み):各営業ステージ(Discovery、Qualification、Solution-Fit、Negotiation、Closing)で発生するシグナルが受注確率に与える影響の大きさだ。T値が高いほど、そのステージでのシグナル(ポジティブでもネガティブでも)が確率をより大きく動かす。

k(Signal Sensitivity、シグナル感度):シグナルの強度(弱いポジティブ、強いネガティブなど)をAlpha/Betaの更新量に変換する係数だ。kが高いとエンジンは各シグナルに敏感に反応し、低いと鈍感に反応する。

問題はシンプルだ。Tとkをどのように設定すれば、エンジンが「受注できるディール」と「できないディール」を最も正確に見分けられるか?

この問いに答えるには、まず「正確に見分ける」とは数学的に何を意味するのか、定義する必要がある。


2. 分類問題への転換

営業エンジンの本質は二値分類器(Binary Classifier)だ。

すべてのディールは最終的に2つの結果のどちらかで終わる — 受注(Won)または失注(Lost)。エンジンは各ディールに対して受注確率P(Win)を計算し、この確率が特定の閾値(Threshold)を超えると「受注可能性が高い」、超えなければ「リスクあり」と判定する。

ここで4つのシナリオが発生する。

実際に受注実際に失注
エンジン:「受注する」✅ True Positive (TP)❌ False Positive (FP)
エンジン:「受注しない」❌ False Negative (FN)✅ True Negative (TN)

この表は混同行列(Confusion Matrix)と呼ばれ、あらゆる分類器の性能を評価する出発点だ。

ビジネスの意味

各セルが営業組織に与える影響は大きく異なる。

  • TP(真陽性):エンジンが「受注する」と言い、実際に受注した。→ 正常動作。リソースが正しく投入された。
  • FP(偽陽性):エンジンが「受注する」と言ったのに、失注した。→ 最も危険なエラー。営業チームが偽りの期待の中でリソースを浪費し、他の機会を逃す。BA024で本部長が経験した「68%で失注したディール」がまさにこれだ。
  • FN(偽陰性):エンジンが「受注しない」と言ったのに、実際に受注できた。→ 機会を放棄するか、リソースを少なく投入して、より大きな成功を逃す可能性がある。
  • TN(真陰性):エンジンが「受注しない」と言い、実際に失注した。→ 正常動作。不必要なリソース浪費を防止。

理想のエンジンはTPとTNを最大化し、FPとFNを最小化すべきだ。しかし現実では、この2つはトレードオフの関係にある。


3. 感度と特異度:永遠の綱引き

このトレードオフを定量化する2つの指標がある。

感度(Sensitivity、Recall、True Positive Rate)

Sensitivity=TPTP+FN\text{Sensitivity} = \frac{TP}{TP + FN}

「実際に受注したディールのうち、エンジンが『受注する』と正しく判定した割合。」

感度が高いとは機会を逃さないということだ。実際の受注案件を漏れなく捕捉する。しかし感度だけを高めようとすると、エンジンがすべてのディールに対して「受注する」と判定する極端な状態になる。結果としてFP(偽陽性)が激増する。

特異度(Specificity、True Negative Rate)

Specificity=TNTN+FP\text{Specificity} = \frac{TN}{TN + FP}

「実際に失注したディールのうち、エンジンが『受注しない』と正しく判定した割合。」

特異度が高いとは偽りの期待を与えないということだ。失注するディールを正確にフィルタリングする。しかし特異度だけを高めようとすると、エンジンが極度に保守的になり、実際の受注案件も「受注しない」と判定する。FN(偽陰性)が激増する。

営業における ジレンマ

この綱引きは営業現場で日々起きているジレンマと正確に対応する。

  • 攻撃的営業戦略(感度優先):「少しでも可能性があれば全部追う。」→ 機会を逃さないが、リソースが分散し無駄な努力が増える。
  • 保守的営業戦略(特異度優先):「確実なものだけに集中する。」→ 効率的だが、隠れた機会を逃す。

最高の営業組織はこの2つの間の最適バランスポイントを見つける。それがまさにYouden's Jの役割だ。


4. Youden's J Index:最適バランスの数学

Youden's J Indexは1950年に疫学者ウィリアム・ユーデンが診断検査の性能を評価するために提案した指標だ。その数学は驚くほど簡潔だ。

J=Sensitivity+Specificity1J = \text{Sensitivity} + \text{Specificity} - 1

あるいは同等に:

J=TPRFPRJ = \text{TPR} - \text{FPR}

ここでFPR(False Positive Rate)= 1 - Specificityだ。

直感的な解釈

  • J = 0:エンジンがコイン投げレベル。分類能力なし。
  • J = 1:完璧な分類器。受注案件をすべて正しく判定し、失注案件をすべてフィルタリング。
  • Jが最大になる地点:感度と特異度が同時に最も高いバランスポイント。

なぜJか? — 精度(Accuracy)の落とし穴

「単純に精度を最大化すればいいのでは?」という疑問が生じ得る。

Accuracy=TP+TNTP+TN+FP+FN\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}

単純精度には致命的な弱点がある。クラス不均衡(Class Imbalance)に脆弱だということだ。

例えば、100件のディール中90件が受注、10件が失注だったとする。エンジンが無条件に「受注する」と叫べば — いかなる分析もなしに — 精度は90%だ。ではYouden's Jは?

  • Sensitivity = 90/90 = 1.0(受注案件を全部的中)
  • Specificity = 0/10 = 0.0(失注案件を一つもフィルタリングできず)
  • J = 1.0 + 0.0 - 1 = 0.0

J Indexはこの種の「無能な楽観論」にゼロ点をつける。精度が90%でもJが0なら、そのエンジンに価値はない。

これがAuto-Tunerが精度ではなくYouden's Jを最適化目標に使う理由だ。


5. Grid Search:全数調査の力

YoudensのJを最大化するパラメータの組み合わせ(T、k)を見つける必要がある。Auto-Tunerが選択した方法はGrid Search(格子探索)だ。

アルゴリズム

Grid Searchの原理はシンプルだ。「すべての可能な組み合わせを試し、最良のものを選ぶ。」

  1. パラメータ空間の定義:各T値を0.1から1.0まで0.05刻みで、k値を0.5から2.5まで0.1刻みで設定する。
  2. グリッド生成:5つのStage × 各19個のT値候補 × 21個のk値候補 = 数千のグリッドポイントを生成する。
  3. 各グリッドポイントの評価:すべてのグリッドポイントに対して過去のディールデータ(Won/Lost)を適用し、そのパラメータで計算されたP(Win)が実際の結果とどの程度一致するか、Youden's Jを算出する。
  4. 最適点の選択:Jが最大のグリッドポイントのパラメータを最適候補として返す。

数学的手順(1つのグリッドポイントの評価)

1つのグリッドポイントを固定する。これをθ = (T₁, T₂, ..., T₅, k)とする。

過去N件のディールに対して:

Step 1. 各ディールの全活動(Activity)にθのT値とk値を適用し、Alpha/Betaを再計算する。

αnew=αprior+iTstage(i)kimpact(i)1[impact(i)>0]\alpha_{\text{new}} = \alpha_{\text{prior}} + \sum_{i} T_{\text{stage}(i)} \cdot k \cdot \text{impact}(i) \cdot \mathbb{1}[\text{impact}(i) > 0] βnew=βprior+iTstage(i)kimpact(i)1[impact(i)<0]\beta_{\text{new}} = \beta_{\text{prior}} + \sum_{i} T_{\text{stage}(i)} \cdot k \cdot |\text{impact}(i)| \cdot \mathbb{1}[\text{impact}(i) < 0]

ここでimpact(i)はi番目のシグナルのインパクトスコアだ。

Step 2. 再計算されたAlpha/Betaで最終的なP(Win)を算出する。

P(Win)j=αjαj+βjP(\text{Win})_j = \frac{\alpha_j}{\alpha_j + \beta_j}

Step 3. すべてのディールのP(Win)と実際の結果(Won/Lost)を比較し、様々な閾値(例:0.3、0.4、0.5、0.6、…)での混同行列を生成する。

Step 4. 各閾値でSensitivityとSpecificityを計算し、Jを算出する。

Step 5. このグリッドポイントθで達成可能な最大Jを記録する。

この過程をすべてのグリッドポイントに対して繰り返し、最高のJを記録したグリッドポイントを最適パラメータとして選択する。


6. ROC曲線と最適閾値

Grid Searchの過程で、各グリッドポイントごとにROC曲線(Receiver Operating Characteristic Curve)が描かれる。

ROC曲線とは?

ROC曲線は、閾値(Threshold)を0から1へ連続的に変化させた際、各閾値での(FPR, TPR)ペアを座標平面にプロットした曲線だ。

  • X軸:False Positive Rate(1 - Specificity)— 偽陽性率
  • Y軸:True Positive Rate(Sensitivity)— 感度

曲線の形と意味

  • 左上の頂点(0, 1):完璧な分類器の位置。FPR=0、TPR=1。
  • 対角線(y=x):ランダム推測。分類能力なし。
  • 曲線が左上の頂点に近いほど優れた分類器。

Youden's JとROCの関係

Youden's Jが最大となる地点は、ROC曲線上で対角線(y=x)からの垂直距離が最も大きい点に対応する。

J=TPRFPR=対角線からの垂直距離J = \text{TPR} - \text{FPR} = \text{対角線からの垂直距離}

この点での閾値が、そのパラメータ組み合わせの最適判定基準となる。

ビジネスの意味

ROC曲線は営業リーダーにとって非常に直感的なツールだ。

「閾値を50%に設定すると、受注ディールの82%を捕捉するが、失注ディールの15%も『受注する』と誤判定する。閾値を60%に上げると、受注捕捉率は71%に下がるが、偽陽性は6%に減少する。」

このトレードオフを視覚的に示し、「我々の組織に最適な境界線はどこか?」に対する数学的な答えを提供するのが、ROC + Youden's Jの役割だ。


7. Grid Searchの限界と補完

Grid Searchは強力だが、2つの本質的な限界がある。

限界1:離散(Discrete)探索

Grid Searchはグリッド上の点だけを評価する。T値を0.05刻みでスキャンするため、最適値が0.223であれば0.20と0.25だけを評価し、その間を見逃す。解像度を上げれば精度は向上するが、計算量は指数関数的に増加する。

Auto-Tunerの解法:Grid Searchを1次フィルタとして使う。「おおよその最適領域」を見つけた後、第2段階であるMCMCがその領域を連続空間で精密探索する。

限界2:点推定(Point Estimate)

Grid Searchは「J=0.74の最適点」というひとつの答えしか出さない。しかしその周辺のパラメータも似たJを示すかもしれない。T(Discovery)が0.22のときJ=0.74で、0.21のときJ=0.73なら、その差は統計的に意味があるのか?

Auto-Tunerの解法:MCMCが最適点周辺の確率分布全体を探索し、「0.19〜0.25の間ならどこでも95%の確率で安全だ」という区間推定(Interval Estimate)を提供する。

これがAuto-TunerがGrid Searchで止まらず、MCMCアンサンブルサンプリングに進む理由だ。


8. ビジネスシナリオ:Before/After

BA024の営業本部長のケースに戻ってみよう。

Before(手動設定)

パラメータ設定根拠
T(Discovery)0.30「初回ミーティングが良ければ半分は成功」→ 過大評価
T(Solution-Fit)0.80「技術検証は確かに重要だ」→ 消極的評価
k1.50「シグナルひとつひとつが大事」→ 過敏反応

この設定でのYouden's J = 0.52。100件中52件を正しく分類した水準だ。

パラメータデータ根拠
T(Discovery)0.22初期反応は実際の受注への寄与度が低い
T(Solution-Fit)0.87技術適合性が受注の核心的決定要因
k1.34過度な感度を抑制し、ノイズを低減

この設定でのYouden's J = 0.74。42%向上。

実質的な差

106件の過去ディール中、Before設定でFP(偽陽性)だった11件のディール — エンジンが「受注する」と言ったが失注した — のうち8件がAfter設定では「リスクあり」に正確に再分類された。

これが意味すること:8件のディールに投入された営業リソース(平均3ヶ月×2名×ディールあたり)が浪費されなかったはずだ。そのリソースは、実際に受注可能性の高いディールに再配置されていたはずだ。

パラメータ1つの小数点(0.30→0.22)が生む差は、年間数千時間の営業リソースと数億円の機会費用だ。

まとめ

Grid SearchとYouden's JはAuto-Tunerの第1の柱だ。このステージが果たす役割を一文にまとめると:

「すべてのパラメータ組み合わせを試し、『受注ディールを逃さず、かつ失注ディールに偽りの期待を与えない』最適バランスポイントを数学的に見つける。」

しかしGrid Searchが提供するのは「この丘が一番高い」という点推定だけだ。次回は、MCMCアンサンブルサンプラーが「そしてこの高さが正しいと256人の探検家が合意した」という区間推定をどのように生成するか、そして5-Fold交差検証が「この結果が未来にも通用するか」をどのように試験するかを扱う。


📡 次回

BA026. 粒子たちの合意 — MCMCアンサンブルと交差検証の数学

なぜ256体のウォーカーなのか? R̂収束診断は何を保証するのか? HDI 95%信頼区間は通常の「信頼区間」とどう違うのか? そして5-Fold交差検証はなぜ「試験答案を暗記した学生」を見抜く最良の方法なのか? Auto-Tunerの第2・第3の柱を解剖する。

Bayesian EXAWin-Rate Forecaster

交渉のあらゆる微細な信号をベイズ更新でリアルタイム分析し、営業の成功確率を精緻に予測。EXAWinにより、直感の営業이 완벽한 데이터 사이언스へと進化します。

Comments0

Deep Dive

More in Bayesian

Explore Archive
BA024. EXAWinベイジアンエンジンの進化:データが自らパラメータをチューニングする日
Bayesian
Auto-Tuner
EXA Intel

BA024. EXAWinベイジアンエンジンの進化:データが自らパラメータをチューニングする日

EXAベイジアンエンジンは受注確率を算出してくれたが、その精度は人間が設定した初期パラメータに依存していた。100件の過去ディールデータが蓄積されたとき、エンジンは自ら進化する準備を整えた。Grid Search、MCMCアンサンブルサンプリング、交差検証 — 3つの数学的ツールが協業して最適パラメータを探し出すプロセスを物語で描く。

ANALYSIS
BA026. 粒子たちの合意 — MCMCアンサンブルと交差検証の数学
Bayesian
Auto-Tuner
EXA Intel

BA026. 粒子たちの合意 — MCMCアンサンブルと交差検証の数学

Grid Searchが「最も高い丘」を見つけたなら、MCMCアンサンブルサンプラーは「256人の探検家がその高さが正しいと合意する」プロセスだ。Emceeのアフィン不変ウォーカー、R̂収束診断、HDI 95%信頼区間、5-Fold交差検証、Signal Lift分析の数学的原理を、ビジネスの文脈と共に解き明かす。

ANALYSIS
BA03.[On Time Risk: 付録 1] EXAエンジンの解剖:混合分布と観測偏差
Bayesian
Bayesian
EXA Intel

BA03.[On Time Risk: 付録 1] EXAエンジンの解剖:混合分布と観測偏差

BA03.[On Time Risk: 付録 1] EXAエンジンの解剖:混合分布と観測偏差

ANALYSIS
BA025. 最適な境界を求めて — Grid SearchとYouden's Jの数学 | EXA Enterprise