# 逐次検定
Navigation: [[index]] | [[overview]]
## 定義
逐次検定(sequential testing)とは、固定サンプルサイズ(fixed-$n$)の統計検定とは異なり、データが逐次的に到着するたびに何度でも仮説検定を実施しても、型 I エラー(誤検知)確率を全観測時点にわたって同時に(time-uniformに)$\alpha$以下に厳密に制御できる統計的枠組みである。固定-$n$検定は「厳密に1回だけ」使う前提で構築されており、蓄積データに繰り返し適用する「peeking」を行うと型 I エラー確率の制御が破綻する。逐次検定はこの制約を取り除き、開発者が任意の時点で「観測を続けるか、判定を下すか」をデータ依存的に決定できる(optional stopping)。基盤となる数学的道具は anytime-valid な confidence sequence(全ての $n$ について同時に成り立つ信頼区間・信頼帯)であり、Darling and Robbins(1968)の "power-one" 検定に起源を持ち、Howard and Ramdas(2022)が経験過程の集中不等式から一般の分布関数・分位点関数に対する confidence sequenceを導出した([[@2022__KDD__Rapid Regression Detection in Software Deployments through Sequential Testing]])。
## 横断的知見
- **カナリアテスト実務の「peeking」問題は理論的懸念にとどまらず、実測可能な誤検知率の増大として現れる**: [[@2022__KDD__Rapid Regression Detection in Software Deployments through Sequential Testing]]の付録Eシミュレーションでは、帰無仮説が真の状況で固定-$n$検定(Mann-Whitney U・Kolmogorov-Smirnov)を継続的モニタリングに用いると、100回中64回・57回もの誤検知が発生した。これに対し逐次検定(Howard-Ramdas)は誤検知0回だった。[[カナリアテスト]] concept が集約する CanaryAdvisor(2015)・Google CAS(2018)はいずれも固定-$n$統計検定を前提とした設計であり、いずれも「何度も検定を実行して良いか」という peeking の問題そのものには明示的に触れていない。逐次検定の視点から見ると、これら先行システムが実運用でどう peeking を回避している(あるいは回避できていない)かは wiki 上で未接続の問いとして残る。
- **平均値の差ではなく確率的順序(stochastic order)で regression を定義する発想は、カナリアテストの判定粒度を「少数の離散状態への還元」から「分布全体の比較」へ引き上げる**: [[カナリアテスト]] concept の既存の横断的知見は、CanaryAdvisor・CASが「統計判定を PASS/FAIL/中間状態という少数の離散状態に還元する」という設計の収束を指摘していたが、これらはいずれも判定に用いる統計量自体が主に平均や単純な閾値比較である(具体的な検定統計量は各ソースの記述に依存)。[[@2022__KDD__Rapid Regression Detection in Software Deployments through Sequential Testing]]は、意思決定理論的な観点(非減少損失関数のもとでの期待損失の順序)から、平均が同じでも裾が悪化するケース(PlayDelayの例)を明示的に検知対象に含めるべきだと論じており、「離散状態への還元」という設計とは独立した軸として「何を持って劣化とみなすか(検定対象の統計的性質)」の洗練が進んでいることを示す。
## 未解決の問い
- Kayenta・CanaryAdvisor・CASのような既存の固定-$n$カナリア分析システムにおいて、実運用で peeking がどの程度発生しているか、また各システムがそれをどのように(明示的な運用ルールで、あるいは黙認して)扱っているかは、[[@2022__KDD__Rapid Regression Detection in Software Deployments through Sequential Testing]]がKayentaについて指摘した以外の事例では未調査。
- 逐次検定は型 I エラー確率をすべての $(n_a, n_b)$ の組について同時に制御する代償として、対立仮説下での検出に固定-$n$検定より多くの観測数を要する場合がある。この「検知の速さ」と「保証の厳密さ」のトレードオフを、実運用のカナリアテストの停止時間予算のもとでどう最適化すべきかは開発者の裁量に委ねられており、体系的な指針は本論文の範囲外。
- カウントメトリクス(イベント到着時刻列)の逐次検定は到着間隔の定常性(stationary renewal process)を仮定するが、低頻度メトリクス・長時間テストでこの仮定が崩れた場合に型 I エラー保証がどの程度劣化するかは、著者ら自身が未解決と認めている(5節)。
- 逐次検定・anytime-valid inferenceの枠組みは、平均値の差(Johari et al. の Always Valid Inference、Zhao et al. の staged rollout framework)を対象にした先行研究を確率的順序へ拡張したものだが、AIOpsの異常検知・変更点検知([[異常検知]] concept参照)で用いられる統計的検定手法との接続はwiki上でまだ未整理。
## 関連
- ソース: [[@2022__KDD__Rapid Regression Detection in Software Deployments through Sequential Testing]]
- 関連プロダクト・組織: [[Netflix]] / [[Kayenta]]
- 関連人物: [[Michael Lindon]] / [[Chris Sanden]] / [[Vaché Shirikian]]
- 関連概念: [[カナリアテスト]](統計判定の対象領域として直接関連。固定-$n$ vs 逐次検定という設計軸を追加する)
- 関連 MOC: [[SRE - MOC]](発見性のための一方向参照)
## 出典
- [[@2022__KDD__Rapid Regression Detection in Software Deployments through Sequential Testing]]