近些年来,分布鲁棒优化(Distributionally Robust Optimization, DRO)与数据科学的结合发展迅速,尤其是在如何利用历史数据构建更具表达能力的不确定集这一问题上,出现了大量新思路。其中,一类非常重要的方法是基于上下文信息分布鲁棒优化(Contextual DRO, CDRO)。这类方法不再假设所有历史样本同分布,而是尝试根据当前环境(如天气、时间、区域等)筛选“更相关”的历史数据,从而构建更精细的分布刻画。

本周,我重点回顾了基于局部学习(local learning)的上下文鲁棒优化方法。其核心思想是:只利用“与当前情境相似”的历史样本来刻画不确定性,而不是对所有历史数据一视同仁。

1 局部学习

局部学习(Local Learning)是一类基于“相似性”的方法,其核心思想是:

在进行预测或估计时,优先利用与当前输入更接近的样本,而不是使用全部数据。

具体来说,给定一个输入 $x$,通过某种距离度量找到与其相似的历史样本,并基于这些“邻近数据”进行计算。根据使用方式的不同,局部学习通常分为两类:

  • 硬选择:只选取最近的一部分样本(如kNN);
  • 软加权:对所有样本赋权,但距离越近权重越大(如KDE)。

1.1 K最近邻

K最近邻(k-Nearest Neighbors, kNN)是一种最直观的局部学习方法。

基本思想

对于当前上下文 $x$,在历史数据集中找到与其“最相似”的 $k$ 个样本,仅使用这 $k$ 个样本来进行建模。

具体做法:

  1. 定义距离度量

    对上下文特征空间定义一个距离函数,例如欧氏距离: $$ d(x, x_i) = \lVert x - x_i\rVert_2 $$

  2. 选择邻居

    在历史样本 $\lbrace x_i \rbrace_{i=1}^N$ 中,选取距离当前 $x$ 最近的 $k$ 个样本,记为集合 $\mathcal{N}_k(x)$。

  3. 构建经验分布

    仅基于这 $k$ 个样本构建经验分布: $$ \hat{\mathbb{P}}_k = \frac{1}{k} \sum_{i \in \mathcal{N}_k(x)} \delta_{\xi_i} $$

特点与理解:

  • 本质是一个硬选择(hard selection)方法:要么被选中,要么被忽略
  • 能很好捕捉局部结构和分布变化
  • 对参数 $k$ 较为敏感:
    • $k$ 太小 → 方差大(不稳定)
    • $k$ 太大 → 退化为全局方法

1.2 核密度估计

相比kNN的“硬选择”,核密度估计(Kernel Density Estimation, KDE)提供了一种软加权(soft weighting)的局部学习方式。

核心思想

所有历史样本都会被使用,但根据其与当前上下文的距离赋予不同权重——越接近的样本权重越大。

具体做法

  1. 选择核函数 常见的核函数为高斯核: $$ K_h(x, x_i) = \exp\left(-\frac{|x - x_i|^2}{2h^2}\right) $$ 其中 $h$ 为带宽(bandwidth)。

  2. 计算权重 对每个历史样本赋予权重: $$ w_i(x) = \frac{K_h(x, x_i)}{\sum_{j=1}^N K_h(x, x_j)} $$

  3. 构建加权经验分布 $$ \hat{\mathbb{P}}(x) = \sum_{i=1}^N w_i(x) \delta_{\xi_i} $$

特点与理解:

  • 是kNN的“平滑版本”

  • 权重随距离连续变化,更稳定

  • 带宽 $h$ 控制“局部性”:

    • $h$ 小 → 更局部(接近kNN)

    • $h$ 大 → 更全局

2 上下文分布鲁棒优化

2.1 一般形式

在传统的分布鲁棒优化(DRO)中,我们假设随机变量 $\tilde{\xi}$的真实分布未知,仅知道其属于一个模糊集合(ambiguity set)P\mathcal{P}P,从而求解如下问题: $$ \min_{x \in \mathcal{X}} \ \sup_{\mathbb{P} \in \mathcal{P}} \ \mathbb{E}_{\mathbb{P}}[Q(x, \tilde{\xi})] $$ 但在很多实际问题中,不确定性并不是“无条件”的,而是依赖于上下文(context)。例如:

  • 天气(晴天 / 雨天)
  • 时间(工作日 / 周末)
  • 价格、促销等外部信息

这些信息通常在决策前是可观测或可预测的,并且会显著影响随机变量的分布。因此,上下文分布鲁棒优化(Contextual DRO)的核心思想就是:

不再直接对$\tilde{\xi}$建模,而是建模条件分布 $$ \mathbb{P}(\tilde{\xi} \mid \tilde{\theta}) $$

其基本形式如下:

因此,其一般形式可以写为: $$ \min_{x \in \mathcal{X}} \ \sup_{\mathbb{P} \in \mathcal{P}(\theta)} \ \mathbb{E}_{\mathbb{P}}[Q(x, \tilde{\xi}) \mid \tilde{\theta} = \theta] $$ 其中:

  • $\theta$:当前或预测的上下文
  • $\mathcal{P}(\theta)$:依赖于上下文的分布集合

💡Hint:传统 DRO对所有历史数据一视同仁,而上下文 DRO“只相信和当前情境相似的数据”

2.2 基于核密度估计的上下文鲁棒优化

如何利用上下文信息构建条件分布?在实际场景中,如外卖平台运力规划(Zhang et al. 2026)等,常使用KDE来构造上下文相关的经验分布。给定历史数据,

$$ \left\{(\theta_w, \hat{\xi}_w)\right\}_{w=1}^{N} $$

以及未来预测的上下文$\bar{\theta}$,不再等权使用数据,而是使用核函数构造权重: $$ \bar{p}_w = \frac{K((\theta_w - \overline{\theta})/h_N )}{\sum_{w^\prime=1}^{N} K((\theta_{w^\prime} - \overline{\theta})/h_N )}, \quad \forall w \in [N] $$ 其中,

  • $K(\cdot)$:核函数,$K(\theta)=(1-\lVert\theta\rVert^2)\mathbb{I}\lbrace\theta \leq 1\rbrace$

  • $h_N$:带宽(控制“局部范围”)

💡Hint: 历史样本越“接近当前上下文”,权重越大

通过这种方式,可以得到加权的经验分布(上下文相关),并构建上下文相关的采样平均近似模型(Contextual Sample Average Approximation, CSAA), $$ (\text{CSAA}) \ \min_{x \in \mathcal{X}} \ \sum_{w=1}^{N} \overline{p}_w Q(x, \hat{\xi}_w) $$

然而,预测的上下文信息可能不准确,因此基于它构造的权重也可能有偏差。为此,可进一步引入Wasserstein距离分布模糊集,对真实的权重$\pmb{p}$分布进行不确定性建模, $$ \mathcal{P}:=\lbrace\pmb{p} \in \mathbb{R}_+^N \mid \mathcal{W}(\pmb{p}, \hat{\pmb{p}}) \leq \epsilon \rbrace $$

其中,$\mathcal{W}(\cdot, \cdot)$是Wasserstein距离,$\epsilon$是半径超参数。进而构造上下文分布鲁棒优化模型, $$ (\text{CDRO}) \ \min_{x \in \mathcal{X}} \ \sup_{\pmb{p} \in \mathcal{P}} \sum_{w=1}^{N} p_w Q(x, \hat{\xi}_w) $$

Reference

[1] Bertsimas, Dimitris, and Nathan Kallus. “From predictive to prescriptive analytics.” Management Science 66.3 (2020): 1025-1044.

[2] Zhang, Jing, et al. “Workforce planning for meal deliveries with Ad-Hoc drivers: A distributionally robust contextual optimization approach.” European Journal of Operational Research (2025).