DOCUMENTATION

ベイジアン学習 Auto-Tuner ガイド

EXAWinの Auto-Tuner 機能を段階別に案内します — 分析の実行、結果画面 (要約・Signal Lift・Impact・T/k・Dampening・Silence・Prior・AUC・交差検証)、MCMC 事後分布、Particle Storm の視覚化、シミュレーション構造パネル、パラメータの適用まで。

Auto-Tuner ユーザーガイド

Auto-Tuner は、過去に受注(Won) / 失注(Lost) したプロジェクトの結果データを基にベイジアンエンジンのパラメータを 学習し、最適な値を推奨(Recommend) する機能です。管理者はデータに基づく根拠と推奨値を検討した上で、直接適用するかどうかを決定します。

位置: サイドバー → Bayesian → Auto-Tune

⚠️ Auto-Tuner を実行するには admin または super_user の権限が必要です。


1. 分析の実行

第1段階: Auto-Tune 画面への進入

サイドバーから Bayesian → Auto-Tune メニューをクリックします。初回アクセス時は中央に紹介画面が表示され、前回の分析結果が存在する場合は sessionStorage から自動的に復元されます。

第2段階: 分析開始

画面上部または中央の 分析開始 (Start Analysis) ボタンをクリックします。

分析を開始すると プログレスバー が表示され、11段階の進行状況がリアルタイムで示されます:

構成要素所要時間備考
Ruby Grid Search (Impact, T, k, Dampening, Silence)< 1秒即座に完了
Cross Validation (5-fold)< 1秒過学習の検証
Emcee MCMC Sampling15~30秒Phase 3 以上でのみ実行

💡 分析中に Cancel ボタンでキャンセルすることができます。キャンセルしても既存のデータに影響はありません。

⚠️ MCMC が含まれる場合、全体の分析に約 15〜40秒 がかかります。プログレスバーに経過時間が併記されます。


2. 結果画面の構成

分析完了後、結果は上から順に以下のセクションで構成されます:

① 要約カード (4列)

画面上部に4つの要約カードが表示されます。

カード内容
完結データ分析対象となったプロジェクト数 (Won / Lost の区分) + Phase バッジ
現在の分離度現在のパラメータで計算した分離度 (A〜D の等級表示)
予想分離度すべての推奨値を適用した場合にシミュレーションされる分離度の等級
Won vs Lost 平均Won プロジェクトの平均 P(Win) vs Lost プロジェクトの平均 P(Win)

等級の基準:

等級分離度意味
A≥ 0.40Excellent — パラメータが現実に適度に反映されている状態
B0.25 ~ 0.40Good — 良好だが改善の余地がある状態
C0.10 ~ 0.25Needs Improvement — パラメータの調整を推奨
D< 0.10Urgent — ただちにパラメータの再キャリブレーションが必要

② シミュレーション構造パネル

要約の下に 🔬 Auto-Tuner Simulation Structure 折りたたみパネルがあります。クリックすると、Auto-Tuner が実行した全体のシミュレーションの構造と回数が表示されます。

要約カード (4列):
カード内容
PROJECTS分析対象のプロジェクト数 (Won / Lost 区分)
RUBY ENGINERuby Grid Search のシミュレーション実行回数
MCMC ENGINEEmcee サンプリングによる simulate_project() の推定呼び出し回数
GRAND TOTALRuby と MCMC の合計回数

Computation Distribution バー: Ruby と MCMC の演算比率を視覚的に表示します。一般的に MCMC が全体の 99% 以上 を占めます。

Analysis Pipeline (3列):
  1. GRID SEARCH: 現在の値 ±範囲内で10個のポイントを試行し、分離度を最大化させます。
  2. CROSS VALIDATION: 5-fold 交差検証で過学習 (Overfitting) を検出します。
  3. MCMC Emcee: 32 walkers × (500 warmup + 1,500 draws) によるアンサンブルサンプリング。
Step-by-Step Breakdown (11段階):
Step分析呼び出し回数
1current_separationP個
2signal_lift_analysis0 (DB 集計)
3impact_grid_searchI × G × P
4optimal_thresholds0 (DB ベース)
5k_recommendations0 (統計計算)
6dampening_searchD × P
7silence_penalty_searchS × P
8projected_separationP個
9calculate_auc0 (P(Win) ベース)
10cross_validateF × P
11mcmc_ensemble_samplingW × Steps × P

ここで P=プロジェクト数、I=Impact タイプ数、G=Grid ポイント(10)、D=Dampening 試行回数、S=Silence 試行回数、F=5 (fold数)、W=32 (walkers)、Steps=2,000 (warmup+draws) です。

③ Signal Lift 分析

各シグナルの 判別力 (Lift) を分析します。

カラム説明
SIGNALシグナル名
WON%Won プロジェクトでの出現率
LOST%Lost プロジェクトでの出現率
LIFTWon 出現率 / Lost 出現率
GRADE判別力の等級 + 絵文字
  • Lift > 1: Won プロジェクトでより頻繁に出現 → ポジティブ(陽性)な指標
  • Lift < 1: Lost プロジェクトでより頻繁に出現 → ネガティブ(陰性)な指標
  • ⚠ MISMATCH: 現在の分類 (Positive/Negative) と実際の判別力が不一致の場合、赤い警告が表示されます。

シグナルの Impact 分類が誤って割り当てられている場合、ここで検出されます。Mismatch が発見された場合は、Signal Master での再分類を検討してください。

④ Prior α, β 推奨

過去のデータを基に 最適な初期 Prior (事前確率) を推奨します。

項目説明
Method推定方法 (積率法(Method of Moments) または MLE)
α (Success Weight)現在 → 推奨値 (95% CI を表示)
β (Failure Weight)現在 → 推奨値 (95% CI を表示)
Evidence Maturity🌱 Early / 🌿 Growing / 🌳 Mature (プロジェクトごとの平均 α+β+n)

Phase 3 では 積率法 (Method of Moments) を、Phase 4 以上では MLE (Newton-Raphson 法) を用いた固定点反復により、より精密な推定値を使用します。

⑤ Impact の最適化

各 Impact Type ごとの Grid Search 推奨結果 です。 adjust という権告が出た Impact のみ、カード形式で表示されます。

各カードには以下が含まれます:

  • Impact Type 名
  • 現在の値 → 推奨される値
  • 分離度の改善量 (+%p)
  • チェックボックス — 適用するパラメータの選択 (Select All が可能)

💡 Phase に応じて探索範囲が変わります: Phase 3 は ±30%、Phase 4 は ±40%、Phase 5 は ±50% となります。

⑥ Threshold (T) & Velocity (k)

2つのテーブルが並んで配置されます。

Threshold (T):
カラム説明
STAGE営業ステージ名
CURRENT現在の閾値 (Threshold)
OPTIMALYouden の J 統計量に基づく最適な閾値
JYouden の J 統計量 (< 0.20 の場合は推奨不可)
Velocity (k):
カラム説明
STAGE営業ステージ名
CURRENT現在の k の値
OPTIMALGrid Search による最適化された k (上限: 12)
AVG α+β該当ステージの平均証拠量

変更の推奨がない行にはチェックボックスが表示されません。

⑦ Impedance Impact

T および k の推奨値を適用した場合に インピーダンス関数に与える影響 をシミュレーションします。

カラム説明
STAGE営業ステージ
P(WIN)該当ステージの平均 P(Win)
現在現在の T/k でのインピーダンス (%)
推奨適用推奨 T/k でのインピーダンス (%)
変化↑ / ↓ + %p の差違
nWon / Lost の件数
BU該当ステージの BayesianUpdate 件数

T/k の変更によりインピーダンスに変化が生じない場合は "変化なし ✅" のメッセージが表示されます。

⑧ Dampening & Silence Penalty

2つのカードが並んで配置されます。

パラメータ説明デフォルト値
Dampening同時シグナルの減衰率。0=最強のシグナルのみ, 1=すべて同等に反映0.25
Silence Penalty活動の空白期間(沈黙)に対するペナルティの比率0.30

各カードに「現在の値 → 推奨される値 + 改善量」が表示されます。すでに最適な場合は "✅ Optimal" と表示されます。

⚠️ Phase 4 に満たない場合、Dampening / Silence のチェックボックスは 無効化 (disabled) され、「🟢 '良好' 以上である必要があります」という案内が表示されます。


3. MCMC 事後分布 分析

Phase 3 以上の場合、Grid Search 結果の下に MCMC 事後分布 推定結果 が表示されます。

MCMC ヘッダー

項目説明
Samples × Walkersサンプル数 × walker 数 (例: 1,500 samples × 32 walkers)
全体の最大 R-hat + 収束状態 (✅ または ⚠️)
RuntimeMCMC 実行時間 (秒)
Projects分析に含まれたプロジェクト数

Particle Storm 視覚化

▶ Play Particle Storm ボタンをクリックすると、各パラメータの事後分布がリアルタイムのアニメーションとして構築されます:

  • 密度ヒストグラム: MCMC サンプルが一つずつ蓄積され、分布の形態が浮かび上がります。
  • 緑色の実線: MCMC 推定の平均 (Mean)。
  • 赤色の点線: 現在のパラメータ設定値 (Current)。
  • 紫色のボックス: 95% HDI (Highest Density Interval) 区間。

💡 Particle Storm は視覚的な効果を提供するためのものであり、実際の MCMC 処理過程をそのまま映し出しているわけではありません。各パラメータの trace データを順次ヒストグラムに反映させています。

MCMC データテーブル

カラム説明
チェックボックス — 適用するパラメータの選択 (Select All 可能)
Parameterパラメータ名 (⚙️ = Dampening, 🔇 = Silence)
Current現在の設定値 (赤色)
MCMC事後分布の平均値 (緑色)
±SD標準偏差 (Standard Deviation) — 推定の不確実性
HDI 95%95% 最高密度区間 (紫)
収束診断の指標 (緑 < 1.05, 黄色 < 1.10, 赤 ≥ 1.10)
Δ現在の値と MCMC 推定値との差 (↑ / ↓ / ≈)

⚠️ R̂ > 1.05 のパラメータは 収束が不完全 であるという警告です。 R̂ > 1.10 の場合は 未収束 を意味するため、推奨値を適用しないでください。

💡 チェックボックスがない行: MCMC 推定平均と現在の値の差が 0.02 以下 (ε 閾値) の場合、変化は微々たるものと判断され、適用対象から除外されます。該当行の Δ カラムには が表示されます。例えば、Dampening が現在 0.25 で MCMC 平均が 0.259 の場合、差が 0.009 (≤ 0.02) のため、適用対象外となります。

HDI 解釈ガイド

HDI [3.5, 6.2], 現在の値 5.0
→ 現在の値が HDI の範囲内に存在するため合理的です。変更は不要です。

HDI [2.0, 3.5], 現在の値 5.0
→ 現在の値が HDI の範囲外です。過大評価されている可能性が高いです。調整を推奨します。

HDI [0.8, 8.0] (範囲が極めて広い場合)
→ データが不足しているため推定値が不確実です。参考程度に留めてください。

4. 推奨の適用

Apply Bar

結果画面の下部に 固定バー (Apply Bar) が表示されます:

  • 左側: 選択されたパラメータの数
  • 右側: Apply Selected ボタン

Phase 別の適用制限

Phase適用の可否
1~2適用不可 — Apply ボタンは完全に無効化
3Impact, T, k + MCMC は可能 (Dampening/Silence はロック)
4+すべてのパラメータの適用が可能

適用ターゲット

ソース対象パラメータ適用される位置
Grid SearchImpact, T, k, Dampening, SilenceDB を直接アップデート
MCMCImpact(mcmc_impact), Dampening(mcmc_dampening), Silence(mcmc_silence_ratio)DB を直接アップデート

⚠️ Grid Search と MCMC の推奨を 両方とも チェックした場合、最後に適用された値が DB に反映されます。同一パラメータに対しては、どちらか一方のソースのみを選択してください。

適用前の確認事項

  1. Grade の確認: 現在の等級と予想される等級の変化を確認してください。
  2. Overfitting Risk: 交差検証 (Cross Validation) で過学習の警告がある場合は慎重に適用してください。
  3. MCMC R̂: R̂ > 1.05 のパラメータについて、MCMC の推奨は参考程度に使用してください。
  4. HDI の範囲: HDI が極端に広いパラメータはデータ不足を意味します。
  5. Phase 制限: Dampening / Silence は Phase 4 以上でのみチェックボックスが有効になります。

適用後

  • 確認ダイアログ が表示され、承認すると DB がアップデートされます。
  • 適用後、sessionStorage は初期化されるため、再分析が必要となります。
  • 適用に成功したパラメータの数がトーストメッセージとして表示されます。

5. データ成熟度 (Phase) と機能制限

Auto-Tuner は Won / Lost のうち 件数が少ない方 (min) の数値を基準として、5段階の信頼レベル (Phase) を割り当てます。

Phase条件表示使用可能な機能
1min < 5分析不可 — トータルデータ不足
2min 5~9🟠Signal Lift の方向性のみに参照
3min 10~19🟡Impact, T, k + MCMC の実行
4min 20~49🟢+ Dampening, Silence
5min ≥ 50🔵全機能の解放 + 安定した MCMC 推定

💡 Phase をレベルアップさせる最良の方法: より多くのプロジェクトを正式に Won または Lost として完結 (Close) さてください。進行中 (Active) のプロジェクトは分析に含まれません。


6. よくある質問 (FAQ)

Q. 分析を何度も繰り返し実行しても問題ないですか?

はい。Auto-Tuner は DB を一切修正しません。 分析はメモリ上でのシミュレーションとして動作し、「Apply Selected」ボタンを押すまでは既存のデータに何の影響も与えません。

Q. 分析中にキャンセルした場合はどうなりますか?

プログレスバーの横にある Cancel (赤いボタン) をクリックすると、AJAX のリクエストが直ちに中止されます。データへの影響はありません。

Q. 分析に長い時間がかかります

MCMC (Phase 3 以上) が作動している場合、15〜40秒ほどかかります。これは Pythonベースの MCMC エンジン (Emcee) が内部で数十万回のシミュレーションを行うためです。MCMC を含まず Ruby Grid Search のみ (Phase 2) を実行した場合は、1秒以内に完了します。

Q. Grid Search と MCMC の推奨値が異なる場合はどうすればよいですか?

状況解釈推奨される対応
両方の結果が一致高い確信度推奨どおり適用 ✅
MCMC は類似の方向だが HDI が広い方向性は合っているが不確実性がある慎重に適用
両結果が大きく乖離しているGrid Search が局所解 (ローカル最適) の可能性ありMCMC の HDI を優先して参考にする

Q. R̂(R-hat)が高いという警告が出ます

R̂ > 1.05 は、MCMC のチェーンがまだ完全に収束していないことを意味します。そのため、このパラメータにおける MCMC からの推定結果の信頼性は低いです。Grid Search 側の推奨を優先して使用し、より多くのデータが蓄積した後に MCMC を再実行してください。

Q. MCMC のセクションが表示されません

次のいずれかの条件に当てはまる場合、MCMC は実行されません:

  • Phase 3 未満 (min が 10件 未満)
  • サーバーに Python Emcee などの環境がインストールされていない場合

どちらのケースにおいても、Grid Search とその結果は正常に機能して表示されるため、MCMC が動作しなくても Auto-Tuner は問題なく使用できます。

Q. Particle Storm とは何ですか?

MCMC のサンプルデータを リアルタイムアニメーション で視覚化した機能です。事後分布がどのような形状を描いているのか、直感的に理解できるようになります。Play ボタンを押すと、すべてのパラメータのアニメーションが順次再生されます。

Q. 以前に実行した分析結果が残っています

Auto-Tuner は、分析結果を sessionStorage (セッションストレージ) にキャッシュします。ページを離れて再び戻った場合でも、前の結果が維持されます。パラメータを Apply するか、Re-run ボタンで再分析を実行すると、ストレージは初期化されてリセットされます。


関連ドキュメント