Tan Jay

标准保形推断

Tan Jay / 2025-03-03


保形推断(Conformal Inference) 通过 验证集的非符合性分数分位数 构建预测区间,提供无分布假设的统计覆盖保证。其核心优势在于:

以下是保形推断的标准流程,适用于回归或分类任务,旨在生成具有统计保证的预测区间或集合。流程分步详解如下:

数据准备 → 模型训练 → 计算验证集非符合性分数 → 确定分位数阈值 → 构建预测区间 → 验证覆盖概率

1. 数据准备

将数据集划分为 训练集(Train)验证集(Calibration)测试集(Test)

示例划分比例

2. 模型训练

使用训练集训练一个基模型(Base Model):

模型输出

3. 计算非符合性分数(Nonconformity Scores)

对验证集中的每个样本 $(x_i, y_i)$,计算其与模型预测的 不一致程度

4. 确定分位数阈值(Quantile Threshold)

利用验证集的非符合性分数计算分位数阈值 $\hat{t}$,确保覆盖概率至少为 $1 - \alpha$

$$ \hat{t} = \text{Quantile} \left( 1 - \alpha + \frac{1}{n_{\text{cal}} + 1}; \text{scores} \right) $$

公式解释
将验证集分数排序后,取第 $\lceil (1 - \alpha)(n_{\text{cal}} + 1) \rceil$ 小的值作为阈值。还可以用其他依据选择分位数阈值,比如:稳健分位数阈值

5. 构建预测区间或集合

对测试样本 $x_{\text{test}}$,生成预测区间或集合:

6. 验证覆盖概率

在测试集上评估预测区间/集合的覆盖概率: $$ \text{Coverage} = \frac{1}{n_{\text{test}}} \sum_{i=1}^{n_{\text{test}}} \mathbf{1}\{y_i \in C(x_i)\} $$

示例:波士顿房价预测

  1. 数据划分
    506个样本 → 训练集(303)、验证集(101)、测试集(102)。
  2. 模型训练
    随机森林回归模型。
  3. 非符合性分数
    验证集样本的预测误差绝对值 $|y_i - \hat{y}_i|$
  4. 分位数阈值
    $\alpha = 0.1$ → 取验证集误差的第91大值作为 $\hat{t}$
  5. 预测区间
    新样本预测值 ± $\hat{t}$
  6. 覆盖验证
    测试集中至少90%的真实房价落在区间内。

关键注意事项

  1. 可交换性假设
    数据需满足可交换性(如i.i.d.或有限总体不放回抽样),否则覆盖概率可能失效。
  2. 分位数调整
    验证集大小影响阈值稳定性,小样本时覆盖率可能波动。
  3. 非符合性评分选择
    分数函数需与任务匹配(如回归用绝对误差,分类用概率补数)。

补充

在保形推断中,分位数阈值 $\hat{t}$ 的正确计算公式和详细推导如下:

数学公式

给定显著性水平 $\alpha$(如 $\alpha = 0.1$ 对应 90% 置信水平),验证集大小为 $n_{\text{cal}}$,分位数阈值的计算公式为: $$ \hat{t} = \text{Quantile}\left(1 - \alpha + \frac{1}{n_{\text{cal}} + 1}; \text{scores}\right) $$ 或等价地: $$ \hat{t} = \text{第 } \left\lceil (1 - \alpha)(n_{\text{cal}} + 1) \right\rceil \text{小的非符合性分数} $$

公式详解

1. 公式推导

2. 计算步骤

  1. 排序非符合性分数
    将验证集的非符合性分数从小到大排序:
    $$ s_{(1)} \leq s_{(2)} \leq \dots \leq s_{(n_{\text{cal}})} $$
  2. 确定分位数位置
    计算分位数的索引位置: $$ k = \left\lceil (1 - \alpha)(n_{\text{cal}} + 1) \right\rceil $$ 其中,$\lceil \cdot \rceil$ 表示向上取整。
  3. 取第 $k$ 小的分数作为阈值
    $$ \hat{t} = s_{(k)} $$

示例说明

假设:

则: $$ k = \left\lceil (1 - 0.1)(100 + 1) \right\rceil = \left\lceil 0.9 \times 101 \right\rceil = \left\lceil 90.9 \right\rceil = 91 $$ 因此,$\hat{t}$ 取验证集排序后的第 91 小的非符合性分数。

调整项的意义

常见错误

  1. 忽略调整项
    直接使用 $k = \lceil (1 - \alpha)n_{\text{cal}} \rceil$,导致覆盖概率不足。
    错误示例
    $n_{\text{cal}} = 100, \alpha = 0.1 \Rightarrow k = 90$,此时实际覆盖率可能仅接近 90%,而非至少 90%。

  2. 分母错误
    误用 $n_{\text{cal}}$ 而非 $n_{\text{cal}} + 1$,导致分位数位置偏差。

总结

分位数阈值 $\hat{t}$ 的正确计算是保形推断有效性的核心。其公式为: $$ \hat{t} = s_{(k)}, \quad k = \left\lceil (1 - \alpha)(n_{\text{cal}} + 1) \right\rceil $$ 通过引入调整项 $\frac{1}{n_{\text{cal}} + 1}$,保形推断在有限样本下仍能严格保证覆盖概率不低于 $1 - \alpha$。这一机制是保形推断理论严谨性的关键体现。