1. 問題
点予測器 f(x) がありますが、プロダクト側では目標カバレッジ 1 - alpha を持つ [lower, upper] のような区間が必要です。スプリット・コンフォーマル予測のワークフローを設計し、訓練セット、キャリブレーションセット、テスト点がどのように使用されるかを説明してください。
2. 制約事項と前提の明確化
- まずは回帰と絶対残差スコアから始めます。分類セット、オンラインキャリブレーション、条件付きカバレッジは拡張事項です。
- モデルを先に適合させて凍結します。点予測器の適合にキャリブレーションセットを再利用してはなりません。
- カバレッジは交換可能なバッチ全体に対する周辺保証であり、すべてのサブグループや各点が同じ比率を持つという保証ではありません。
- 妥当性を議論する際は、i.i.d. 類似データ、時系列、共変量シフトを区別してください。
3. コアアプローチ
データを訓練セットとキャリブレーションセットに分割します。訓練データで点予測器を適合させた後、キャリブレーションの不適合度スコア s_i = |y_i - f(x_i)| を計算します。目標カバレッジ 1 - alpha に対して、有限サンプルのコンフォーマル分位点 q を取得します。新しい x に対し、[f(x) - q, f(x) + q] を返します。
交換可能性のもとで、この構成は周辺カバレッジの保証を提供します。有限のキャリブレーションセットに対する保守的な順序統計量を用いることで、新しいラベルは少なくとも概ね 1 - alpha の確率で区間内に収まります。点モデルが正確である必要はありませんが、その残差とノイズが区間幅を決定します。
4. 参照実装
def fit_split_conformal(train, calibration, alpha):
model = fit_point_predictor(train.x, train.y)
scores = sorted(
abs(y - model.predict(x))
for x, y in zip(calibration.x, calibration.y)
)
# Use the finite-sample conformal quantile, not a naive percentile.
rank = ceil((len(scores) + 1) * (1 - alpha))
q = scores[min(rank, len(scores)) - 1]
def predict_interval(x):
center = model.predict(x)
return center - q, center + q
return predict_interval5. 正確性と評価
独立したテストセットでカバレッジと平均区間幅を評価し、時間、地域、またはユーザーグループごとにスライスします。目標を下回るカバレッジは、非交換可能なデータ、小さなキャリブレーションセット、分布シフト、または実装のバグから生じる可能性があります。集約された比率では、特定のサブグループにおける体系的な失敗が隠れてしまうことがあります。
区間幅はスコアに依存します。絶対残差は対称な区間を生成しますが、分位点回帰や局所スケールスコアは非対称または適応的な区間を生成できます。より狭い区間が自動的に優れているわけではありません。カバレッジおよびビジネス上の損失と合わせて総合的に比較してください。
6. 発展的なトピックと注意点
- 「分布に依存しない(distribution-free)」は、あらゆる分布に対する無条件の保証を意味するわけではありません。古典的な保証は、キャリブレーションサンプルと新しいサンプルの間の交換可能性に依存します。
- 時間依存性は、単純なスプリット・コンフォーマルを無効にする可能性があります。ローリングキャリブレーションや重み付き手法を使用するか、保証を明示的に限定してください。
- 共変量シフトのもとでは、密度比重み付けが役立ちますが、誤った重みはカバレッジに影響します。元の保証がそのまま維持されると主張してはなりません。
- 周辺カバレッジは条件付きカバレッジではありません。小さなグループや極端な入力は、依然として非常に広い区間や非常に狭い区間を受け取る可能性があります。
7. 発展資料
スプリット、クロスコンフォーマル、オンライン、および重み付きコンフォーマル手法を比較してください。これらはデータ再利用、計算コスト、シフトへの適応、および理論的保証をトレードオフします。本番システムでは、カバレッジ、区間幅、残差ドリフト、キャリブレーションの鮮度、およびリジェクト率や人手によるレビュー率を監視する必要があります。
8. 面接の採点基準
訓練とキャリブレーションの分離ができるか
候補者は、訓練データのみで点予測器を適合させ、ホールドアウトされたキャリブレーションデータでスコアを計算し、有限サンプル分位点を使用する必要があります。
カバレッジの前提条件を述べることができるか
結果を各点に対する決定論的な保証として提示することなく、交換可能性、周辺カバレッジ、および条件付きカバレッジを区別する必要があります。
ドリフトや時間依存性を扱えるか
ローリング、重み付き、またはオンラインのキャリブレーションを提案し、追加の前提条件と変更される保証について説明する必要があります。
区間幅のバランスを取れるか
カバレッジと区間幅を併せて報告し、サブグループの失敗を監視し、統計指標をビジネス上の損失と結び付ける必要があります。