MAPIE项目中的ConformalizedQuantileRegressor对称性校正参数解析
引言
在机器学习回归任务中,预测区间(Prediction Intervals)的构建对于量化预测不确定性至关重要。MAPIE(MAPIE: Model Agnostic Prediction Interval Estimator)是一个强大的Python库,它提供了多种方法来构建可靠的预测区间。本文将重点介绍其中的ConformalizedQuantileRegressor(符合分位数回归)及其symmetric_correction参数的作用。
什么是ConformalizedQuantileRegressor
ConformalizedQuantileRegressor是MAPIE中一个重要的回归类,它结合了分位数回归和符合预测(Conformal Prediction)的优点。这种组合方法能够:
- 适应数据的异方差性(heteroscedasticity)
- 提供理论保证的覆盖概率
- 产生更精确的预测区间
symmetric_correction参数详解
symmetric_correction
是ConformalizedQuantileRegressor.predict_interval方法中的一个关键参数,它决定了如何计算预测区间:
- True(对称校正): 使用相同的残差集合来校正上下界
- False(非对称校正): 分别使用不同的残差集合来校正上下界
对称校正的特点
- 计算效率高
- 适用于误差分布对称的情况
- 区间宽度在预测值两侧相同
非对称校正的特点
- 能更好地捕捉数据中的异方差性
- 上下界可以有不同的宽度
- 更灵活地适应真实数据分布
实例分析
我们通过一个合成数据集来展示这两种方法的差异:
# 数据准备
X, y = make_regression(n_samples=1000, n_features=1, noise=20, random_state=1)
X_train, X_conformalize, X_test, y_train, y_conformalize, y_test = train_conformalize_test_split(...)
# 模型初始化
gb_reg = GradientBoostingRegressor(loss="quantile", alpha=0.5)
mapie_qr = ConformalizedQuantileRegressor(estimator=gb_reg, confidence_level=0.8)
# 预测区间计算
y_pred_sym, y_pis_sym = mapie_qr.predict_interval(X_test, symmetric_correction=True)
y_pred_asym, y_pis_asym = mapie_qr.predict_interval(X_test, symmetric_correction=False)
结果可视化
通过绘制两种方法的预测区间,我们可以直观地比较它们的差异:
- 对称区间:区间宽度在预测值两侧对称,适用于误差分布均匀的情况
- 非对称区间:区间宽度可以随输入特征变化而变化,能更好地适应异方差数据
![预测区间比较图]
覆盖分数比较
我们计算了两种方法的实际覆盖分数:
- 对称校正覆盖分数: {coverage_score_sym:.3f}
- 非对称校正覆盖分数: {coverage_score_asym:.3f}
两者都能接近我们设定的置信水平(confidence_level=0.8),但非对称方法通常能提供更精确的区间估计。
何时选择哪种方法
-
选择对称校正:
- 数据误差分布近似对称
- 计算资源有限
- 需要更保守的区间估计
-
选择非对称校正:
- 数据存在明显的异方差性
- 需要更精确的区间估计
- 可以接受稍高的计算成本
结论
MAPIE中的ConformalizedQuantileRegressor提供了灵活的预测区间构建方法。通过symmetric_correction参数,用户可以根据数据特性选择最适合的校正方式。理解这两种方法的差异有助于在实际应用中选择合适的工具,从而获得更可靠的预测不确定性估计。
对于初学者来说,建议先尝试对称校正,当发现数据存在明显异方差性时,再考虑使用非对称校正以获得更精确的结果。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考