◈ CSD 1ハゼ予測 精度分析

ARIGATO COFFEE ROASTERY — aillio-roasting-profiles — 2026-03-20 — 解析対象: 31プロファイル

WATCH 発火率

87%
27 / 31 プロファイル

WARN 発火率

39%
12 / 31 プロファイル

MAE(平均絶対誤差)

41.8
目標 ±15s 表示に対して

WATCH リードタイム(平均)

96.6
中央値 105s / 最小 5s / 最大 123s

誤差分布(全 320 tick · FC前のみ)

プロファイル別 MAE

WATCH リードタイム分布

Bias 分布(過大/過小推定)

◈ 分析サマリー

✓ WATCH は安定して早期発火(~97秒前)

27/31 プロファイルで WATCH が発火。平均リードタイム 96.6秒(中央値 105秒)と、 焙煎士が介入するのに十分な余裕を提供している。4件の未発火は緩やかなRoR変動を持つ豆(Magarrissa-Tulise、スイカ系)で共通しており、 豆種・焙煎プロファイルの特性による可能性が高い。

✗ 主要課題①:系統的な過小推定(Bias = −25.8秒)

予測値が実際の残り時間より 平均25.8秒短く 表示されている。 原因は CSD_FC_ESTIMATE_MAX_SEC = 60 の設定。WATCHが実際には平均97秒前に発火するのに、 上限を60秒と仮定しているため、発火直後から既に「60秒」という不足した値を表示し続ける。 現状では「±15秒」に収まるのは全tickの 16.9% のみ。

✗ 主要課題②:WARN 発火率が低い(39%)

AR(1) ≥ 0.50 のしきい値に達するプロファイルが 31 件中 12 件のみ。 Jigesa_no17 での最大 AR(1) = 0.45–0.48 という実測値に基づき 0.50 に下げたが、 それでも多くのプロファイルでは届かない。WARNが発火したとしてもリードタイムが WATCH より平均20秒しか短くならず、両者の差別化が薄い。

✗ 主要課題③:遅延発火ケース(リードタイム ≤ 10秒)

no9(5秒)・no23(10秒)の2プロファイルでWATCHが発火したのはFCのわずか5〜10秒前。 これらはbias値も大きく正方向(過大推定 +43〜+50秒)で、逆に「まだ60秒ある」と表示しながら すぐにFCが来るという最悪ケース。AR(1)が遅れて上昇したか、warmup期間の影響が考えられる。

◈ キャリブレーション推奨

推奨①:CSD_FC_ESTIMATE_MAX_SEC を 100 秒に引き上げ

実データ上のWATCH平均リードタイムが 96.6秒 のため、上限を 100秒 に設定することで AR(1)=0.35 時点での推定値が実態に近くなる。サンプル計算:

AR(1)=0.35 (WATCH):  frac = (0.85-0.35)/(0.85-0.35) = 1.00 → 100秒(現行: 60秒)
AR(1)=0.50 (WARN):   frac = (0.85-0.50)/(0.85-0.35) = 0.70 → 70秒(現行: 42秒)
AR(1)=0.70:          frac = (0.85-0.70)/(0.85-0.35) = 0.30 → 30秒(現行: 18秒)
AR(1)=0.85 (IMMIN):  0秒(変更なし)
  

変更箇所: live_monitor.pyCSD_FC_ESTIMATE_MAX_SEC = 60100

推奨②:WARN しきい値を 0.45 に引き下げ(発火率向上)

全プロファイルのAR(1)最大値を確認したところ、多くは 0.45〜0.55 付近で頭打ちになっている。 現行の CSD_AR1_WARN = 0.50 では半数以上で未発火。 0.45 に引き下げることで発火率が改善する見込み(推定 60〜70%)。 ただしWATCHとの差別化が更に薄まるため、UI表現の見直しも検討すること。

変更箇所: live_monitor.pyCSD_AR1_WARN = 0.500.45

推奨③:UI表示に「リードタイム不確実性」を反映

WATCH発火直後(FC 80〜120秒前)は予測精度が低い(bias大)。 FC 30秒以内になると誤差が収束する傾向がある。 UIで ±15秒 の表示を発火直後は ±40秒、FC近接時は ±15秒 に 動的変更することで、ユーザーへの過信を防げる:

AR(1) < 0.50 → 「推定 XX秒 ±40秒」
AR(1) 0.50〜0.70 → 「推定 XX秒 ±25秒」
AR(1) > 0.70 → 「推定 XX秒 ±15秒」
  

推奨④:豆種別プロファイルデータの蓄積

未発火の4プロファイルはすべてMagarrissa-Tulise系またはスイカ系。 ゆっくり上昇する系の豆はKalman innovationの自己相関が蓄積しにくい可能性がある。 データが10件以上蓄積できたら豆種別のCSD_WATCHしきい値調整(例: 遅い豆 → 0.30)を検討。

◈ プロファイル別詳細
ファイル FC時刻 CSD状態 WATCHリード WARNリード MAE Bias アクティブtick数