【KDD2025 不确定性量化、分布预测】DistPred:回归与预测的无分布概率推理方法

DistPred: A Distribution-Free Probabilistic Inference Method for Regression and Forecasting (KDD 2025)

Blogs:
Zhiyuan, WeChat, Zhihu, CSDN

简单总结

传统的回归和预测任务通常只提供确定性的点估计。为了估计响应变量的不确定性或分布信息,通常使用贝叶斯推理、模型集成或MC Dropout等方法。这些方法要么假设样本的后验分布遵循高斯过程,要么需要数千次前向传递来生成样本。我们提出了一种新的方法,称为DistPred,用于回归和预测任务,它克服了现有方法的局限性,同时保持简单和强大。具体来说,我们将测量预测分布与目标分布之间差异的适当评分规则转换为可微离散形式,并将其用作损失函数来端到端训练模型。这允许模型在单个前向传递中采样大量样本,以估计响应变量的潜在分布。我们已经将我们的方法与多个数据集上的几种现有方法进行了比较,并获得了最先进的性能。此外,我们的方法显著提高了计算效率。例如,与最先进的模型相比,DistPred的推理速度快了90x倍,训练速度提升230x倍(考虑数据处理与指标计算等步骤)。实验结果可以通过这个Github库复现。

论文题目:DistPred: A Distribution-Free Probabilistic Inference Method for Regression and Forecasting
论文作者:Daojun Liang, Haixia Zhang,Dongfeng Yuan
论文地址:https://arxiv.org/abs/2406.11397
代码地址:https://github.com/Anoise/DistPred

论文在线版本论文地址Github代码地址

在这里插入图片描述
图 0:DistPred可在一次前向过程中给出N个预测,根据这N个预测可求得该点的分布。

在这里插入图片描述
图1:DistPred可以在单个前向过程中给出预测变量的变量,给出响应变量的变量的 K K K预测值,表示为 y ^ \hat{y} y^,其中 y ^ \hat{y} y^表示的是一个最大似然样本。基于这个抽样,可以计算响应变量 y y y的质量分布的概率(PMD) P θ ( y ^ ∣ x ) P_{\theta}(\hat{y}|x) Pθ(y^x),累积分布函数(PDF) F θ ( y ^ ∣ x ) F_{\theta}(\hat{y}|x) Fθ(y^x),和信心曲线 C C θ ( y ^ ∣ x ) CC_{\theta}(\hat{y}|x) CCθ(y^x),从而产生 y y y全面统计量。例如,这包括任何期望水平上的置信区间(CI)以及p-value。

1 简介

在本文中,我们考虑了预测响应变量背后的潜在分布,因为它反映了所有水平的置信区间。例如,基于这个分布,我们可以计算任何级别的置信区间、覆盖率和不确定性量化。目前,预测响应变量的分布是一个挑战,因为在特定时刻,响应变量只能采取单一的确定性值。这个点可以看作是其潜在分布的最大似然样本,但它不能反映潜在分布的整体状态。

目前,在回归和预测任务中,用于解决分布预测和不确定性量化的主要方法是频率采样。这些方法包括通过干扰解释变量或模型来采样大量样本,以近似响应变量的潜在分布。例如,贝叶斯神经网络(bnn)通过假设其参数遵循高斯分布来模拟这种不确定性,从而捕获给定数据的模型的不确定性(Blundell et al., 2015)。同样,基于集成的方法也被提出,将多个具有随机输出的深度模型结合起来,以捕获预测的不确定性。MC Dropout (Gal和Ghahramani, 2016)表明,在每个测试过程中启用Dropout会产生类似于模型集成的结果。此外,还引入了基于GAN和扩散的条件密度估计和预测不确定性量化模型。这些模型利用产生或扩散过程中的噪声来获得不同的预测值,以估计响应变量的不确定性。

上述这些方法的共同特点是要求𝐾前向通过采样 K K K代表性样本。例如,基于贝叶斯框架的方法需要推断 K K K可学习的参数样本,以获得 K K K代表性样本;集成方法需要 K K K模型共同推断;MC Dropout需要 K K K向前通过随机Dropout激活;生成模型需要 K K K正向或扩散过程。然而,过多的向前传递会导致显著的计算开销和较慢的速度,对于具有高实时性要求的AI应用程序来说,这一缺点变得越来越明显。

为了解决这个问题,我们提出了一种新的方法,称为DistPred,它是一种用于回归和预测任务的无分布概率推理方法。DistPred是一种简单而强大的方法,可以估计单次正向传递中响应变量的分布。具体来说,我们考虑使用所有预测分位数来指定预测变量的潜在累积密度函数(CDF),并且我们表明,整个分位数的预测可以转化为计算响应变量和预测集合变量的最小期望值。在此基础上,我们将测量预测分布与目标分布之间差异的适当评分规则转换为可微离散形式,并将其用作损失函数来端到端训练模型。这允许模型在单个前向传递中采样大量样本,以估计响应变量的潜在分布。DistPred与其他方法是正交的,这使得它可以与其他方法相结合来增强估计性能。此外,我们还展示了DistPred可以提供对响应变量的全面统计见解,包括任何期望水平上的置信区间、p值和其他统计信息,如图1所示。实验结果表明,DistPred在精度和计算效率方面都优于现有方法。具体来说,DistPred的推理速度比最先进的模型快90倍,训练速度提升230x倍(考虑数据处理与指标计算等步骤)。

2 方法

假设数据集 D = { x i , y i } i = 1 N D=\{x_i,y_i\}_{i=1}^N D={ xi,yi}i=1N N N N样本标签对组成。如果下标 i i i不会在上下文中引起歧义,则将被省略。我们的目标是利用具有参数 θ \theta θ的机器学习模型 M M M来预测响应变量 y y y D D D的潜在分布 P ( y ) P(y) P(y),旨在获得全面的统计见解,例如获得置信区间(CI)和在任何期望水平上量化不确定性。
直接预测分布 P P P是不可行的,因为:

  • 如果没有分布假设,我们就不能给出预测分布 P θ ( y ^ ) P_\theta(\hat{y}) Pθ(y^)的PDF或CDF的有效表示。
  • 对于响应变量 y y y,我们只能得到一个奇异的确定性值,无法获得其分布信息来指导模型学习。

为了解决上述问题,我们考虑采用所有预测分位数 q ^ 1 , q ^ 2 , ⋯ \hat{q}_1, \hat{q}_2, \cdots q^1,q^2,,在水平 α 1 , α 2 , ⋯ \alpha_1, \alpha_2, \cdots α1,α2,上指定预测变量 y ^ \hat{y} y^的潜在CDF F θ ( y ^ ) F_\theta(\hat{y}) Fθ(y^)。这是因为如果我们知道随机变量的累积分布函数,我们可以通过设置 F ( y ) = q F(y) = q F(y)=q找到任何分位数。相反,如果我们有一个完整的分位数集,我们可以近似或重建随机变量的累积分布函数。如图2所示,分位数提供了分布的离散“快照”,而CDF是这些快照的连续、平滑版本,提供了从最小值到最大值的累积概率的完整描述。

在这里插入图片描述
图2:CDF与所有预测分位数之间的关系。

接下来,我们将介绍前面概述的完整预测分位数作为响应变量CDF的适当近似值。全分位数预测可转化为计算响应变量和预测集合变量 Y ^ \hat{Y} Y^的最小期望值,其中 Y ^ = { Y ^ 1 , ⋯ , Y ^ K } \hat{Y} = \{\hat{Y} _1, \cdots, \hat{Y} _K \} Y^={ Y^1Y^K}。在深入研究此分析之前,我们将首先介绍用于评估预测分布的适当性的评分规则。

2.1 使用适当的评分规则作为损失函数

评分规则通过根据预测分布和预测结果分配数值分数,为评估概率预测提供了一个简明的度量\citep{gneiting2007strictly, jordan2017evaluating}。具体地说,设 Ω \Omega Ω表示感兴趣的数量的可能值的集合,设 P \mathcal{P} P表示 Ω \Omega Ω上概率分布的凸类。评分规则是一个函数
S : Ω × P → R ∪ { ∞ } ( 1 ) S: \Omega \times \mathcal{P} \rightarrow \mathbb{R} \cup \{\infty\} \quad \quad (1) S:Ω×PR{ }(1)
它将数值赋给预测 P ∈ P P \in \mathcal{P} PP和观测 y ∈ Ω y \in \Omega yΩ。我们用相关的CDF F F F或PDF F F

<think>嗯,用户想知道贝叶斯网络中如何进行不确定性估计。首先,我需要回顾贝叶斯网络的基础,它是基于概率的有向图模型,节点代表变量,边表示依赖关系。不确定性估计通常涉及参数和结构的不确定性,以及推理过程中的不确定性。 根据引用[3],变分推断(VI)是常用方法,比如Louizos和Welling的工作用随机梯度VI计算后验分布。Hubin和Storvik的随机VI同时考虑模型和参数的不确定性,引入二元变量控制权重的包含或排除。还有蒙特卡洛方法,比如MCMC,通过采样近似后验分布。可能需要解释这些方法的基本原理和应用场景。 应用方面,引用[1]提到车载视角、行人预测中的认知和偶然不确定性,而引用[2]指出贝叶斯网络在机器人感知和决策中的应用。需要结合这些领域举例说明,比如自动驾驶中如何利用贝叶斯网络处理传感器数据的不确定性。 另外,用户可能对具体技术实现感兴趣,比如变分推断如何深度学习结合,或者蒙特卡洛积分在贝叶斯网络中的具体步骤。需要分步骤解释方法,并确保LaTeX公式正确,如后验概率公式$P(H|E) = \frac{P(E|H)P(H)}{P(E)}$。 可能还需要提到不确定性类型,如认知不确定性(模型参数的不确定性)和偶然不确定性(数据噪声),如引用[1]中的内容。最后,结合引用[3]中的案例,如图卷积网络在分子性质预测中的应用,展示实际应用中的方法。 要确保回答结构清晰,先讲方法,再讲应用,最后可能给出代码示例,如使用Pyro库实现变分推断。同时生成相关问题,帮助用户深入理解,比如贝叶斯网络其他概率模型的区别,或变分推断的优化方法。</think>### 贝叶斯网络中的不确定性估计方法应用 #### 一、贝叶斯网络基础 贝叶斯网络是一种基于概率的有向无环图模型,节点表示随机变量,边表示变量间的依赖关系。其核心是联合概率分布的分解: $$P(X_1, X_2, \dots, X_n) = \prod_{i=1}^n P(X_i | \text{Parents}(X_i))$$ 不确定性估计主要包括: 1. **参数不确定性**:节点条件概率分布(CPD)的参数不确定性 2. **结构不确定性**:网络拓扑关系的可信度 3. **推理不确定性**:在观测证据后,隐变量的后验分布推断[^1] --- #### 二、不确定性估计方法 ##### 1. **变分推断(Variational Inference, VI)** - **原理**:用简单的分布族(如高斯分布)近似复杂后验分布,最小化KL散度。 例如,假设真实后验为$P(\theta|D)$,变分分布为$q_\phi(\theta)$,目标是最小化: $$\text{KL}(q_\phi(\theta) || P(\theta|D))$$ - **应用**: - Louizos和Welling通过随机梯度VI计算神经网络权值的后验分布[^3] - Hubin和Storvik提出同时建模模型和参数不确定性的随机VI方法,引入二元变量控制权重[^3] ##### 2. **蒙特卡洛方法** - **马尔可夫链蒙特卡洛(MCMC)**:通过采样近似后验分布 例如,Metropolis-Hastings算法生成样本链: $$\theta^{(t+1)} \sim Q(\theta'|\theta^{(t)}) \cdot \min\left(1, \frac{P(\theta')}{P(\theta^{(t)})}\right)$$ - **贝叶斯Dropout**: 在神经网络中,Dropout可视为对伯努利分布的采样,近似贝叶斯推断 ##### 3. **贝叶斯网络推理** - **精确推理**:变量消元法、联结树算法 - **近似推理**:Loopy Belief Propagation(LBP)、随机搜索算法 例如,计算后验概率: $$P(H|E) = \frac{P(E|H)P(H)}{P(E)}$$ --- #### 三、关键应用场景 1. **自动驾驶** - 估计行人轨迹的偶然不确定性(数据噪声)和认知不确定性(模型局限) - 使用贝叶斯网络融合多传感器数据(如LiDAR、摄像头) 2. **医疗诊断** - 症状-疾病关系的概率建模 - 诊断结果的不确定性量化(如$P(\text{癌症}|咳嗽=是)=0.78 \pm 0.05$) 3. **分子性质预测** - Ryu等将图卷积网络(GCN)集成到贝叶斯框架中,预测分子性质并量化置信度 --- #### 四、代码示例(基于Pyro的变分推断) ```python import pyro import torch # 定义贝叶斯网络模型 def bayesian_network(data): # 先验分布:权重参数 weights = pyro.sample("weights", pyro.distributions.Normal(0, 1)) # 似然函数 with pyro.plate("data", len(data)): return pyro.sample("obs", pyro.distributions.Bernoulli(logits=weights * data), obs=labels) # 变分推断 guide = pyro.infer.autoguide.AutoDiagonalNormal(bayesian_network) optimizer = pyro.optim.Adam({"lr": 0.01}) svi = pyro.infer.SVI(model=bayesian_network, guide=guide, optim=optimizer, loss=pyro.infer.Trace_ELBO()) ``` ---
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值