Conformal Regression#
Conformal Prediction (CP) は予測区間(prediction intervals)を算出するためのフレームワーク。
予測の残差から予測の幅を算出する。
DMLのcross-fittingのように、train setでは残差の予測モデルをfitせず、分けておいたcalibration setで残差の学習を行う。
前提#
問題設定#
\(n\)個の訓練サンプル\(\{(X_i, Y_i)\}_{i=1}^n\)があるとし、予測対象のサンプル\((X_{n+1}, Y_{n+1})\)もあるとする。 両方のデータ\(\{(X_i, Y_i)\}_{i=1}^{n+1}\)は 交換可能(exchangeable) であると仮定する(例えばi.i.d.であるとする)。
\(Y_{n+1}\)が含まれると思われる marginal distribution-free prediction interval \(C(X_{n+1} \subseteq \mathbb{R}\)を構築したい。
exchangeability#
サンプル\((X_i, Y_i)\)が任意の同時分布\(P_{XY}\)から得られたものであり、サンプルの順列を変えても変わらないこと。i.i.d.よりは弱い仮定。
例えばサンプルが3つあるとして、\((X_1, Y_1), (X_2, Y_2), (X_3, Y_3)\) と \((X_2, Y_2), (X_1, Y_1), (X_3, Y_3)\) は同じ同時分布を持つということ(Exchangeable random variables - Wikipedia)。
Conformal Regression#
まず、訓練データを2つに分割する
training set: \(\{ (X_i, Y_i): i \in \mathcal{I}_1\}\)
calibration set: \(\{ (X_i, Y_i): i \in \mathcal{I}_2\}\)
任意の回帰アルゴリズム\(\mathcal{A}\)を用いて、回帰モデルを訓練する
calibration setで残差の絶対値を計算する
所与の水準\(\alpha\)のもとで、絶対残差の経験分布の分位点を計算する
新しく与えられた点\(X_{n+1}\)での予測区間は
/home/runner/work/notes/notes/.venv/lib/python3.10/site-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMRegressor was fitted with feature names
warnings.warn(
/home/runner/work/notes/notes/.venv/lib/python3.10/site-packages/sklearn/utils/validation.py:2739: UserWarning: X does not have valid feature names, but LGBMRegressor was fitted with feature names
warnings.warn(
Adaptive Conformal Prediction#
区間の幅を可変にしたものの総称?
Conformalized quantile regression#
locally adaptive
Romano et al. (2019). Conformalized quantile regression.
Seedat et al. (2023, April). Improving adaptive conformal prediction using self-supervised learning.