# 预测准确度

# 单点预测

当只预测一个单一值时,可以使用以下指标衡量模型的预测准确度:

  • 均方误差(MSE, Mean Squared Error)

    mse=1ni=1n(yiE(yiθ))2mse = \frac{1}{n}\sum_{i=1}^{n}(y_{i}-\operatorname{E}(y_{i}|\theta))^{2}

    MSE 衡量预测值与真实值之间的平方差的均值,目标是最小化 MSE

  • 加权均方误差(WMSE, Weighted Mean Squared Error)

    wmse=1ni=1(yiE(yiθ))2var(yiθ)wmse = \frac{1}{n} \sum_{i=1}^{\infty}\frac{(y_{i}-{\mathrm{E}}(y_{i}|\theta))^{2}}{\mathrm{var}(y_{i}|\theta)}

    WMSE 在计算平方差时考虑了预测值的方差,为方差较小的预测赋予更高的权重。

# 概率预测

当模型预测一个值的概率分布时,通常使用对数预测密度(LPD)来衡量预测准确度。

  • 对数预测密度(LPD, Log-Predictive Density)

    lpd=log p(yθ)lpd = \log~p(y|\theta)

    LPD 衡量在给定参数 θ\theta 下观测数据 yy 的概率密度。在以均值 θ\theta 为参数的正态分布模型中,LPDMSE 等价。

  • 与 KL 散度的关系

    KL 散度(KL Divergence) 衡量一个概率分布 PP 与另一个概率分布 QQ 之间的差异:

    DKL(PQ)=p(x)logp(x)q(x)dx=Ep(logp(x))Ep(logq(x))0D_{\mathrm{KL}}(P\|Q)=\int_{-\infty}^{\infty}p(x)\log{\frac{p(x)}{q(x)}}\,\mathrm{d}x = \operatorname{E}_p(\log{p(x)}) - \operatorname{E}_p(\log{q(x)}) \ge 0

    KL 散度是非负的,当且仅当两个分布完全相同时,KL 散度为 0。

    因此,为了使模型分布 q(x)q(x) 尽可能接近真实分布 p(x)p(x),我们需要最大化 Ep(logq(x))\operatorname{E}_p(\log{q(x)}),这等价于最大化 LPD

    KL 散度非负性证明

    DKL(PQ)p(x)(1q(x)p(x))dx=0D_{\mathrm{KL}}(P\|Q)\ge\int_{-\infty}^{\infty}p(x)\left(1-\frac{q(x)}{p(x)}\right)\,\mathrm{d}x=0

# 样本外预测准确度

样本外预测准确度衡量模型在新数据上的表现。

  • 单点预测对数似然(Log-Likelihood of a Single Point Prediction)

    logppost(y~i)=logEpost(p(y~iθ))=log ⁣p(y~iθ)ppost(θ)dθ\log p_{\mathrm{post}}(\tilde{y}_{i})=\log\mathrm{E}_{\mathrm{post}}(p(\tilde{y}_{i}|\theta))=\log\int\!p(\tilde{y}_{i}|\theta)p_{\mathrm{post}}(\theta)d\theta

    该公式计算的是在新数据点 y~i\tilde{y}_i 上,基于后验分布 ppost(θ)p_{\mathrm{post}}(\theta) 的预测对数似然。

  • 单点预期对数预测密度期望(ELPD, Expected Log-Predictive Density)

    elpd=Ef(logppost(y~i))=(logppost(y~i))f(y~i)dy~elpd = \operatorname{E}_{f}(\log p_{\mathrm{post}}({\tilde{y}}_{i}))=\int(\log p_{\mathrm{post}}({\tilde{y}}_{i}))f({\tilde{y}}_{i})d{\tilde{y}}

    ELPD 是对新数据点 y~i\tilde{y}_i 的预测对数似然,在真实数据分布 ff 下的期望。

  • 新数据集的逐点预期对数预测密度期望(ELPPD, Expected Log-Pointwise Predictive Density)

    elppd=i=1nEf(logppost(yˉi))elppd = \sum_{i=1}^{n}\operatorname{E}_{f}(\log p_{\mathrm{post}}({\bar{y}}_{i}))

    ELPPD 是整个新数据集的 ELPD 之和。由于真实数据分布 ff 是未知的,ELPPD 无法直接估计。

    近似 1: 使用样本内数据来近似预测数据,这是后续许多指标的基础。

  • ELPD 的大样本近似

    在大样本量下,后验分布 ppost(θ)p_{\mathrm{post}}(\theta) 可以近似为单点,如最大似然估计(MLE)θ^\hat{\theta} 或后验均值。

    elpd elpdθ^=Eflogp(y~iθ^(y))elpd\approx~elpd_{\hat{\theta}}=\operatorname{E}_{f}\log p(\tilde{y}_{i}|\hat{\theta}(y))

    近似 3: 使用单点来近似后验分布。

# 样本内预测准确度

样本内预测准确度衡量模型在训练数据上的表现。

  • 逐点预期对数预测密度期望(LPPD, Log-Pointwise Predictive Density)

    lppd=logi=1nppost(yi)=i=1nlogp(yiθ)ppost(θ)dθlppd = \mathrm{log}\prod_{i=1}^{n}p_{\mathrm{post}}(y_{i})=\sum_{i=1}^{n}\log\int p(y_{i}|\theta)p_{\mathrm{post}}(\theta)d\theta

    LPPD 是在后验分布下,训练数据集 yy 的对数似然。

  • 模拟的逐点预期对数预测密度期望(Computed LPPD)

    computed lppd=i=1nlog(1Ss=1Sp(yiθs))computed~lppd = \sum_{i=1}^{n}\log\left({\frac{1}{S}}\sum_{s=1}^{S}p(y_{i}|\theta^{s})\right)

    在实际计算中,LPPD 通常通过对后验分布进行 MCMC 模拟得到。

    近似 2: 使用模拟分布近似实际分布。

# 对数似然大小关系

LPPD 近似 ELPPD 会导致过拟合,即高估模型在新数据上的表现。

Ey~i(logEθy(p(y~iθ)))Ey~i(log p(y~iθ0))1ni=1nlog p(yiθ0)1ni=1nlogEθy(p(yiθ))\operatorname{E}_{\tilde{y}_i}(\log\mathrm{E}_{\theta|y}(p(\tilde{y}_i|\theta))) \le \operatorname{E}_{\tilde{y}_i}(\log~p(\tilde{y}_i|\theta_0)) \approx \frac{1}{n}\sum_{i=1}^{n}\log~p(y_i|\theta_0) \le \frac{1}{n}\sum_{i=1}^{n}\log\mathrm{E}_{\theta|y}(p(y_i|\theta))

其中,不等式左边代表 ELPD,右边代表 LPPDLPPD 总是大于或等于 ELPD,差值即为过拟合的程度。


# 模型比较指标

# AIC

赤池信息准则(AIC, Akaike Information Criterion) 是一种基于最大似然估计的统计量。

  • 推导

    在上述对数似然大小关系中,当进行 近似 1(用样本内数据近似预测数据)近似 3(用单点近似后验分布) 后,LPPDELPPD 之间的差值近似为模型参数的个数 kk

    elppdlppdkelppd \approx lppd-k

    这个差值 k 被称为过拟合修正项。

  • 定义

    AIC=2  logp(yθ^MLE)+2kA I C=-2\;\mathrm{log}\,p(y|\hat{\theta}_{M L E})+2k

    AIC 衡量的是模型拟合优度和模型复杂度的平衡。AIC 的值越小,模型越好。

# DIC

偏差信息准则(DIC, Deviance Information Criterion)AIC 在贝叶斯框架下的扩展。

  • 推导

    DICAIC 中的最大似然估计 θ^MLE\hat{\theta}_{MLE} 替换为后验均值 θ^Bayes\hat{\theta}_{Bayes},并将过拟合修正项 kk 替换为有效参数个数 pDICp_{\mathrm{DIC}}

    elpd^DIC=logp(yθ^Bayes)pDIC{\widehat{\mathrm{elpd}}}_{\mathrm{DIC}}=\log p(y|{\hat{\theta}}_{\mathrm{Bayes}})-p_{\mathrm{DIC}}

    其中,有效参数个数 pDICp_{\mathrm{DIC}} 计算如下:

    p<!swig0>=2(logp(yθ^Bayes)Epost(logp(yθ)))p_\mathrm=2\left(\log p(y|{\hat{\theta}}_{\mathrm{Bayes}})-\operatorname{E}_{\mathrm{post}}(\log p(y|\theta))\right)

    pDICp_{\mathrm{DIC}} 衡量了模型复杂性,其值是模型在后验均值下的对数似然与后验分布下对数似然期望之间的差异。

  • 定义

    DIC=2logp(yθ^Bayes)+2pDICDIC=-2\log p(y|\hat{\theta}_{\mathrm{Bayes}})+2p_{\mathrm{DIC}}

  • 仿真近似

    在实际应用中,后验分布的期望通常通过 MCMC 仿真进行近似:

    computed pDIC=2(logp(yθ^Bayes)1Ss=1Slogp(yθs))\mathrm{computed~}p_{\mathrm{DIC}}=2\left(\log p(y|\hat{\theta}_{\mathrm{Bayes}})-\frac1S\sum_{s=1}^{S}\log p(y|\theta^{s})\right)

# WAIC

广义信息准则(WAIC, Widely Applicable Information Criterion) 是另一种在贝叶斯框架下衡量模型预测准确度的指标。与 DIC 不同,WAIC 不依赖于任何单点估计,而是直接使用整个后验分布。

  • 推导

    WAIC 的核心思想是使用 LPPD 作为拟合优度,并用过拟合修正项 pWAICp_{\mathrm{WAIC}} 进行修正。

    pWAIC1=2i=1n(log(Epostp(yiθ))Epost(logp(yiθ)))p_{\mathrm{WAIC1}}=2\sum_{i=1}^{n}\left(\log(\operatorname{E}_{\mathrm{post}}p(y_{i}|\theta))-\operatorname{E}_{\mathrm{post}}(\log p(y_{i}|\theta))\right)

    pWAIC1p_{\mathrm{WAIC1}} 衡量了模型复杂性,是逐点计算的后验均值的对数似然与对数似然的后验均值之差的总和。

  • 定义

    WAIC=2elppd^WAIC\mathrm{WAIC}=-2\cdot\widehat{\mathrm{elppd}}_{W A I C}

    WAIC 的值越小,模型越好。

  • 仿真近似

    pWAICp_{\mathrm{WAIC}} 同样可以通过 MCMC 仿真进行近似:

    computed pWAIC=2i=1n(log(1Ss=1Sp(yiθs))1Ss=1Slogp(yiθs))\mathrm{computed~}p_{\mathrm{WAIC}} = 2\sum_{i=1}^{n}\left(\log\left({\frac{1}{S}}\sum_{s=1}^{S}p(y_{i}|\theta^{s})\right)-{\frac{1}{S}}\sum_{s=1}^{S}\log p(y_{i}|\theta^{s})\right)

# LOO-CV

留一交叉验证(LOO-CV, Leave-One-Out Cross-Validation) 是一种更直接评估样本外预测准确度的方法,特别适用于样本量不大的情况。

  • 未修正值

    lppdloocv=i=1nlogppost(i)(yi)i=1nlog(1Ss=1Sp(yiθis)){\mathrm{lppd}}_{\mathrm{loo-cv}}=\sum_{i=1}^{n}\log p_{\mathrm{post}(-i)}(y_{i}) \approx \sum_{i=1}^{n}\log\left({\frac{1}{S}}\sum_{s=1}^{S}p(y_{i}|\theta^{i s})\right)

    该公式计算的是在去除第 ii 个数据点后,模型对该数据点的预测对数似然之和。

  • 偏差
    由于 LOO-CV 的计算成本较高,通常会采用近似方法,但这种近似会引入偏差。

    bias=lppdlppdibias=\mathrm{lppd}-\overline{\mathrm{lppd}}_{-i}

  • 定义

    2lppdcloocv-2{\mathrm{lppd}}_{\mathrm{cloo}-\mathrm{cv}}

    cloo-cv 是经过修正的 LOO-CV 值。


# 贝叶斯因子

贝叶斯因子是贝叶斯框架下用于模型比较的另一种重要工具。

  • 贝叶斯因子(Bayes Factor, BF)

    BF 衡量了数据如何改变对假设 H1H_1 相对于 H2H_2 的赔率。

    p(H2y)p(H1y)=p(H2)p(H1)×Bayes factor(H2;H1)\frac{p(H_{2}|y)}{p(H_{1}|y)}=\frac{p(H_{2})}{p(H_{1})}\times\mathrm{Bayes~factor}(H_{2};H_{1})

    其中,BF 的定义为:

    Bayes factor(H2;H1)=p(yH2)p(yH1)=p(θ2H2)p(yθ2,H2)dθ2p(θ1H1)p(yθ1,H1)dθ1\mathrm{Bayes~factor}(H_{2};H_{1})={\frac{p(y|H_{2})}{p(y|H_{1})}}={\frac{\int p(\theta_{2}|H_{2})p(y|\theta_{2},H_{2})d\theta_{2}}{\int p(\theta_{1}|H_{1})p(y|\theta_{1},H_{1})d\theta_{1}}}

    BF 仅在每个模型下的边际密度是适定的(需要一个适定的先验)时才有意义。

    BF 在离散模型下通常效果很好,但在连续模型下对先验选择非常敏感。

  • 贝叶斯框架下的假设检验

    在贝叶斯框架下,通常希望 H1H_1 是更好的模型,检验的目标是拒绝或无法拒绝 H2H_2,这与频率学派的设定相反。

  • BIC 与 BF 的关系

    BIC(Bayesian Information Criterion) 可以看作是 BF 的大样本近似。

    BIC=2logp(yθ^)+klognB I C=-2\log p(y|\hat{\theta})+k\log n

    BICAIC 相比,对模型复杂度的惩罚项更大,因此更倾向于选择参数较少的简单模型。

    AIC 适用于选择用于预测的模型,而 BIC 适用于选择用于解释的模型。