統計専門家のための分割推論 (Split Conformal Prediction):理論、実装、そして応用上の注意点
はじめに:モデルの不確実性を定量化する新たなアプローチ
近年、機械学習モデルの高性能化に伴い、予測結果の点推定だけでなく、その不確実性を定量化することがますます重要になっています。特に、医療、金融、自動運転など、リスクの高い意思決定が求められる分野では、予測の信頼性を示す予測区間や信頼集合が必要不可欠です。従来の統計的手法では、モデルの仮定(例えば、残差の正規性や等分散性)に基づいて予測区間を構築することが一般的ですが、複雑な非線形モデルや高次元データに対しては、これらの仮定が満たされない場合が多く、得られる区間の妥当性が保証されないという課題がありました。
このような背景の中、モデルに依存しない不確実性定量化手法として、Conformal Prediction (CP) が注目されています。CPは、予測区間や信頼集合が、指定したカバー率(信頼水準)を有限サンプルでも統計的に保証するという強力な性質を持ちます。特に、CPのバリアントであるSplit Conformal Prediction (SCP) は、実装が比較的容易であることから広く用いられています。本稿では、このSCPに焦点を当て、その理論的基盤、実装上の詳細、応用例、そして専門家として理解しておくべき応用上の注意点や最新の議論について掘り下げていきます。
Conformal Predictionの理論的基盤
Conformal Predictionは、データの交換可能性(Exchangeability)という比較的緩やかな仮定のもとで、未知の新しい観測点に対する予測区間や信頼集合が指定されたカバー率を条件なしに(unconditionally)保証するという理論的に強力なフレームワークです。基本的なアイデアは、新しい観測点が既存のデータセットと「どの程度異なっているか」を測るNon-conformity Measure(不適合度)を定義し、その値に基づいて信頼領域を構成するというものです。
具体的には、データセット ${(\mathbf{x}1, y_1), \dots, (\mathbf{x}_n, y_n)}$ と新しい観測点 $(\mathbf{x}{n+1}, y_{n+1})$ が与えられたとき、$y_{n+1}$ の候補値を $\hat{y}$ とし、拡張されたデータセット ${(\mathbf{x}1, y_1), \dots, (\mathbf{x}_n, y_n), (\mathbf{x}{n+1}, \hat{y})}$ における $(\mathbf{x}{n+1}, \hat{y})$ のNon-conformity Measure $\alpha{n+1}(\hat{y})$ を計算します。そして、元のデータセットに対するNon-conformity Measureの値を ${\alpha_i}{i=1}^n$ としたとき、$\alpha{n+1}(\hat{y})$ が ${\alpha_i}_{i=1}^n$ の経験分布においてどの程度の順位に位置するかを示す p-value を定義します。
$p(\hat{y}) = \frac{\sum_{i=1}^n \mathbf{1}(\alpha_i \ge \alpha_{n+1}(\hat{y})) + 1}{n+1}$
ここで、$\mathbf{1}(\cdot)$ は指示関数です。CPの理論によれば、もしデータが交換可能であるならば、この p-value は区間 $[0, 1]$ 上の一様分布に従います。したがって、信頼水準 $1-\gamma$ に対して、p-value が $\gamma$ より大きいような $\hat{y}$ の集合
$C(\mathbf{x}_{n+1}) = {\hat{y} \mid p(\hat{y}) > \gamma}$
は、$y_{n+1}$ をカバーする確率が $1-\gamma$ 以上であることを保証します。これが Conformal Prediction の核となる考え方です。
Split Conformal Prediction (SCP) の詳細
Conformal Predictionの基本的な枠組みは、新しい観測点を含む拡張データセット全体を用いてNon-conformity Measureを計算するため、計算コストが高いという課題がありました。特に、Non-conformity Measureの計算にモデルの再学習や再推定が必要な場合、新しい観測点ごとにこれを繰り返すのは非現実的です。
Split Conformal Predictionは、この計算上の困難を克服するためのアプローチです。SCPでは、まずデータセットを2つの disjoint なサブセットに分割します。
- 訓練セット (Training Set): モデル(例えば、回帰モデル $f(\mathbf{x})$ や分類モデル $g(\mathbf{x})$)を学習するために使用します。
- 適合セット (Calibration Set): 学習済みモデルを用いて、各観測点のNon-conformity Measureを計算し、その経験分布を推定するために使用します。
手順は以下の通りです。
- 元のデータセット ${(\mathbf{x}i, y_i)}{i=1}^n$ を訓練セット $D_{train}$ と適合セット $D_{cal}$ に分割します。例えば、$n_1$ 個を訓練セット、$n_2$ 個を適合セットとし、$n_1+n_2=n$ とします。
- 訓練セット $D_{train}$ を用いて、ベースとなる予測モデル(例えば、点予測器 $\hat{f}$ やクラス予測器 $\hat{g}$)を学習します。
- 適合セット $D_{cal} = {(\mathbf{x}j, y_j)}{j=1}^{n_2}$ に対して、学習済みモデル $\hat{f}$ または $\hat{g}$ を用いて Non-conformity Measure $\alpha_j$ を計算します。Non-conformity Measureは様々な定義が可能ですが、回帰問題では $|y_j - \hat{f}(\mathbf{x}j)|$ (absolute residual) や $(y_j - \hat{f}(\mathbf{x}_j))^2$ (squared residual) が一般的です。分類問題では、予測クラスの確率や他のスコアに基づくものが考えられます(例えば、$\max{k} \hat{p}(k|\mathbf{x}_j) - \hat{p}(y_j|\mathbf{x}_j)$ や $1 - \hat{p}(y_j|\mathbf{x}_j)$ など)。
- 計算された適合セットにおけるNon-conformity Measureの集合 ${\alpha_j}{j=1}^{n_2}$ を用いて、新しい観測点 $(\mathbf{x}{new}, y_{new})$ に対する予測区間または信頼集合を構築します。信頼水準 $1-\gamma$ に対し、適合セットのNon-conformity Measureの $(1-\gamma)(n_2+1)$-th 経験分位点(あるいはそれに近い値)を閾値として使用します。具体的には、${\alpha_j}{j=1}^{n_2}$ を昇順に並べたものを $\alpha{(1)} \le \alpha_{(2)} \le \dots \le \alpha_{(n_2)}$ としたとき、$\lceil (1-\gamma)(n_2+1) \rceil$-th の値を閾値 $\hat{q}$ とします。
- 新しい観測点 $\mathbf{x}{new}$ に対して、予測モデル $\hat{f}(\mathbf{x}{new})$ を計算し、予測区間を $\hat{f}(\mathbf{x}{new}) \pm \hat{q}$ として構築します。分類問題では、各クラス $k$ に対してNon-conformity Measure $\alpha{new}(k)$ を計算し、$\alpha_{new}(k) \le \hat{q}$ となるクラスの集合を信頼集合とします。
SCPの主要な利点は、適合セットのNon-conformity Measureの経験分布が、訓練セットでのモデル学習とは独立に得られるため、計算が効率的であることです。また、この方法で構築された予測区間/信頼集合は、データの交換可能性のもとで、新しい観測点に対する条件なしカバー率が少なくとも $1-\gamma$ となることを保証します。ただし、SCPは訓練セットと適合セットへの分割が必要なため、利用できるデータ量が減少するという欠点があります。また、このカバー率保証は「条件なし (unconditional)」であり、特定の $\mathbf{x}$ の値に対する条件付きカバー率が保証されるわけではない点に注意が必要です。Full Conformal Predictionは条件付きカバー率の保証に向けて議論されていますが、計算コストが高い傾向があります。
実装上の考慮事項と応用例
SCPの実装は比較的シンプルですが、いくつかの考慮事項があります。
- データ分割比率: 訓練セットと適合セットのサイズ $n_1, n_2$ の選択はトレードオフです。$n_1$ が大きいとモデルの精度が向上する可能性がありますが、$n_2$ が小さいと適合セットのNon-conformity Measureの経験分布の推定精度が低下し、得られる予測区間/信頼集合が広くなりがちです。逆に、$n_2$ が大きいと閾値の推定精度は向上しますが、モデル精度が低下する可能性があります。実務的には、データの特性やモデルの複雑さに基づいて経験的に決定されることが多いですが、$n_1$ と $n_2$ を同程度にしたり、$n_1$ を大きめにしたりといった heuristic が用いられます。交差検証を用いて最適な分割比率を探索することも考えられます。
- Non-conformity Measureの選択: Non-conformity Measureの選択は、得られる予測区間/信頼集合の形状や幅に影響を与えます。回帰では絶対残差 $|y - \hat{f}(\mathbf{x})|$ が一般的ですが、残差のばらつきが $\mathbf{x}$ に依存する場合(heteroscedasticity)には、より洗練されたNon-conformity Measure、例えば $|y - \hat{f}(\mathbf{x})| / \sigma(\mathbf{x})$ (ここで $\sigma(\mathbf{x})$ は位置に依存するばらつきの推定値)を定義することで、区間の幅を適切に調整できる可能性があります。分類では、クラス確率に基づくものが直感的ですが、他のメトリックも検討可能です。
- アルゴリズム: 閾値の計算は、適合セットのNon-conformity Measureの値をソートして分位点を取る「Sorted Conformal」が標準的です。
SCPは、様々な機械学習モデルと組み合わせて利用できます。線形回帰、ロジスティック回帰はもちろん、決定木、ランダムフォレスト、勾配ブースティング、サポートベクターマシン、そして深層学習モデルに対しても適用可能です。モデルの内部構造に関する仮定を必要としないため、複雑なブラックボックスモデルに対しても、統計的に妥当な予測区間や信頼集合を付与できる点が大きな利点です。
応用例:
- 医療診断: 画像診断モデルの出力に対して、予測される疾患クラスの信頼集合を提示することで、診断の信頼性を示す。
- 異常検知: 正常データのConformity Measureの分布を学習し、新しいデータのConformity Measureが異常に小さい場合に異常と判断する。
- 金融予測: 資産価格予測モデルの予測値に対して予測区間を付与し、ポートフォリオのリスク管理に役立てる。
- 品質管理: 製造プロセスにおけるセンサーデータからの予測値に対して許容範囲を示す予測区間を構築する。
応用上の注意点と課題
SCPは強力な手法ですが、適用にあたってはいくつかの注意点と未解決の課題が存在します。
- データの独立同分布 (i.i.d.) または交換可能性 (Exchangeability): SCPの理論的なカバー率保証は、データがi.i.d.であるか、より一般的には交換可能であるという仮定に基づいています。時系列データや空間データなど、データ間に依存関係がある場合には、この保証が成り立たない可能性があります。このような非i.i.d.データに対するConformal Predictionの研究は現在も活発に進められています(例えば、AdaptabilityやGeneralizabilityを考慮したアプローチ)。
- Out-of-Distribution (OOD) データ: 訓練データや適合データと統計的に性質が異なる新しいデータに対する予測では、SCPのカバー率保証が維持されない可能性が高いです。OOD検出と組み合わせたり、頑健なNon-conformity Measureを設計したりといった研究が進められています。
- 計算コスト: SCP自体はFull CPよりも計算効率が良いですが、非常に大規模なデータセットや、多数の新しい観測点に対して頻繁に予測区間を計算する必要がある場合には、依然として計算コストが問題となることがあります。
- 区間の幅: 得られる予測区間や信頼集合の幅は、Non-conformity Measureの選択やデータ分割に依存します。必ずしも最短の区間が得られるわけではなく、特定のタスクに対してより狭い区間が必要な場合には、Non-conformity Measureの設計や他の手法との組み合わせを検討する必要があります。
- 条件付きカバー率: 前述の通り、SCPが保証するのは条件なしカバー率です。特定の $\mathbf{x}$ に対して「その予測区間が真値をカバーする確率が $1-\gamma$ である」とは直接言えません。例えば、データが多様なサブグループを含む場合、一部のサブグループではカバー率が低くなる可能性があります。条件付きカバー率の保証を目指す研究(例えば、Adaptive Conformal Prediction や Weighted Conformal Prediction)も進んでいます。
- Null Set Issue (分類): 分類問題において、すべてのクラスに対してNon-conformity Measureが閾値を超えてしまう場合、信頼集合が空集合となることがあります。これは、その観測点が学習データから大きく外れている可能性を示唆しますが、実務的には扱いが難しい問題です。
教育上の説明のコツ
統計学を専門とする大学教員として、SCPを学生に説明する際のポイントをいくつか考えられます。
- 学部生向け: まず、「不確実性」を示すことの重要性を、具体的な応用例(例えば、天気予報や医学検査)を挙げて説明します。点推定だけでなく、予測区間や信頼集合が必要であることを理解させます。次に、従来の予測区間がモデル仮定に依存する難しさを指摘し、SCPが「モデルに依存しない」かつ「カバー率を保証する」という点を強調します。Non-conformity Measureは「予測からどれだけ外れているか」を示すスコアであると説明し、適合セットを用いてそのスコアの分布を調べることで、新しいデータが「異常」でないかの閾値を決める、という直感的な説明をします。データの分割が必要な理由も、モデル学習と閾値決定を独立に行うためであると伝えます。
- 大学院生向け: 上記に加え、SCPの理論的な保証が「交換可能性」の仮定に基づいていることを明確に伝えます。条件なしカバー率と条件付きカバー率の違い、そしてSCPが保証するのは前者であることを強調し、その意味するところ(例えば、サブグループ間のカバー率のばらつき)を議論します。Non-conformity Measureの様々な選択肢とその影響、ヘテロセダスティシティへの対応などを説明します。Full CPや他のConformal Predictionバリアントとの比較、非i.i.d.データやOODデータへの適用に関する課題と最新の研究動向にも触れることで、研究テーマとしての可能性を示唆します。
まとめと今後の展望
分割推論(Split Conformal Prediction)は、モデル非依存で統計的にカバー率が保証された予測区間や信頼集合を構築するための強力かつ実用的な手法です。そのシンプルな構造ゆえに、様々な機械学習モデルと容易に組み合わせることができ、予測の不確実性を定量化したい多くの応用分野で活用されています。
しかしながら、データの交換可能性仮定、OODデータへの対応、条件付きカバー率の課題など、専門家として深く理解し、注意すべき点も存在します。これらの課題を克服するための研究(例:データ依存構造を考慮したCP、頑健なNon-conformity Measure、条件付きカバー率保証を目指すCP)は現在も活発に進められており、今後の発展が期待されます。
SCPは、統計学と機械学習の境界領域における重要なツールであり、その理論と応用を深く理解することは、予測モデリングにおける不確実性定量化の信頼性を向上させる上で不可欠です。専門家コミュニティでの議論や研究を通じて、その適用範囲をさらに広げ、より洗練された手法が開発されることが期待されます。