Logo
Section 1 / 3

统计基础与预测策略

理解罕见事件预测及其挑战,以及关键的准确率指标。

导入

统计基础与预测策略

理解罕见事件预测及其挑战,以及关键的准确率指标。

在理解罕见事件问题重要性的基础上,本节聚焦于此类问题的建模过程,阐述其统计基础,明确目标,并讨论其中固有的挑战。

统计过程基础

首先,需要理解罕见事件问题背后的统计过程,这有助于选择合适的方法。

罕见事件示例中常见的过程与数据特征包括:

  • 时间序列
  • 多变量
  • 类别不平衡的二分类标签

以我们研究的纸张断裂问题为例,该问题来自连续的造纸生产过程,生成一个数据流。

这使得底层过程成为一个随机时间序列。随机时间序列是指按时间顺序排列的一系列随机变量,其中每个数据点代表某一时刻的观测值,受随机、不可预测因素的影响。这类时间序列具有内在的不确定性和变异性,常采用统计方法来分析和预测其未来行为。典型例子包括金融市场价格、天气变化以及某些经济数据。

此外,这些数据来自分布在不同机器部件上的多个传感器,采集过程变量(如温度、压力、化学剂量等)。

因此,在任意时刻 tt,都会记录一个观测向量 xtx_t。其中 xtx_t 是长度等于传感器数量的向量,xi,tx_{i,t} 表示第 ii 个传感器在时刻 tt 的读数。这种过程被称为 多变量时间序列。

除了过程变量 xtx_t,还存在一个二分类标签 yty_t,用于表示过程状态。若 yt=1y_t = 1,表示发生了罕见事件;由于正类样本稀少,整体类别分布严重不平衡。

例如,在纸张断裂数据中,标签表示过程是否正常运行(yt=0y_t = 0)或发生纸张断裂(yt=1y_t = 1)。
在本书后续内容中,将 yt=0y_t = 0 的样本称为负类样本,yt=1y_t = 1 的样本称为正类样本。前者为多数类,后者为少数类。
综上所述,这是一个 类别不平衡的多变量随机时间序列 过程。

数学表达

类别不平衡的多变量随机时间序列过程可数学表示为:

(yt,xt),t=1,2,…(y_t, x_t), \quad t = 1, 2, \dots

其中 yt∈{0,1}y_t ∈ \{0,1\},且满足 ∑1yt=1≪∑1yt=0\sum \bold{1} {y_t = 1} ≪ \sum \bold{1} {y_t = 0};xt∈Rpx_t ∈ \R^p,pp 为变量数量。

问题定义

罕见事件问题要求实现早期检测或预测,以防止事件发生或减轻其影响。

在文献中,检测与预测被视为两个不同的问题。但在本文讨论的问题中,早期检测最终可转化为预测。例如,对可能导致纸张断裂的状况进行早期识别,本质上就是预测即将发生的纸张断裂。因此,该问题可被建模为一个“预测”问题。

早期预测问题是指提前预测某个事件的发生。假设需要在事件发生前 kk 个时间单位完成预测,则 kk 应选取为足以提供足够响应时间的值。

数学表达

从数学角度,这可以表述为利用截至时刻 tt 的信息,估计 yt+k=1y_{t+k} = 1 的概率。即:

Pr[yt+k=1∣xt−],\text{Pr}[y_{t+k} = 1|x_t−],

其中 x_t$$− 表示时刻 tt 之前的所有历史数据,即 xt−={xt,xt−1,… }x_{t}− = \{x_{t}, x_{t−1}, \dots\}。

该公式也表明,这是一个分类问题。因此,在本课程中,“预测”与“分类”可互换使用。

目标

目标是“构建一个二分类模型,用于提前预测罕见事件”。为此,需为预测建模选择合适的损失函数和准确率度量。

损失函数

存在多种损失函数,此处选用二元交叉熵损失。
交叉熵直观且具备良好的理论性质,是理想选择。其梯度有助于缓解深度神经网络中的梯度消失问题。

此外,从模型拟合角度看,交叉熵近似于 Kullback-Leibler 散度,意味着最小化交叉熵可近似估计真实底层过程的分布。

数学表达

其定义如下:

L(θ)=−yt+klog⁡(Pr[yt+k=1∣xt−,θ])−(1−yt+k)log⁡(1−Pr[yt+k=1∣xt−,θ]),\mathcal{L}(\theta) =−y_{t+k}\log(\text{Pr}[y_{t+k} = 1|x_{t}−, \theta])−(1−y_{t+k})\log(1 − \text{Pr}[y_{t+k}= 1|x_{t}−, \theta]),

其中 θ\theta 表示模型参数。

熵反映随机性。熵越高,随机性越强。更高的随机性意味着模型更难预测,即若模型完全随机,则预测效果差。

考虑一个极端情况:某模型做出完全相反的预测,例如当 y=1y = 1 时,预测 Pr[y=1]=0Pr[y=1] = 0。此时损失为:

L=−1∗log⁡(0)−(1−1)∗log⁡(1−0)\mathcal{L} = −1 ∗ \log(0)−(1−1)∗\log(1−0)
L=−1∗(−∞)−0∗0\mathcal{L} = −1 ∗ (−∞) − 0 ∗ 0
L=+∞\mathcal{L} = +∞

在另一极端,考虑一个理想模型(预言家模型):当 y=1y = 1 时,预测 Pr[y=1]=1Pr[y=1] = 1。此时交叉熵损失为:

L=−1∗log⁡(1)−(1−1)∗log⁡(1−1)\mathcal{L} = −1 ∗ \log(1) − (1 − 1) ∗ \log(1 − 1)
L=0\mathcal{L} = 0

在模型训练过程中,通常从任意初始模型开始,初始损失较高。随后通过迭代优化逐步降低损失,使交叉熵损失从 +∞+\infty 降至 00。

准确率度量

罕见事件问题具有高度不平衡的类别分布,传统的误分类准确率指标在此不适用。

这是因为超过 99% 的样本属于负类。一个将所有样本(包括不足 1% 的正类样本)均预测为负类的模型,仍能达到超过 99% 的准确率。这意味着即使模型无法识别任何罕见事件,也可能表现“准确”。因此,基于 #key# ROC:接收者操作特征 #key# 曲线下的面积(AUC-ROC)指标也不适用于此类极端不平衡问题。

ROC 是一种图形化表示,展示在不同阈值下真正例率(灵敏度)与假正例率(1−1-特异度)之间的权衡关系。

在构建分类器时,若出现异常情况,应回归到混淆矩阵,并参考其衍生的其他评估指标。下表展示了混淆矩阵的设计结构。

注意:在分类语境中,“负类”通常指常见或多数类别,“正类”则指罕见或少数事件。

实际为负类且被正确预测为负类的样本位于矩阵对角线上,称为“真负例”(TN);实际为正类且被正确预测为正类的样本称为“真正例”(TP)。其余两种情况分别为:实际为负类但被预测为正类(假正例,FP),以及实际为正类但被预测为负类(假负例,FN)。

在罕见事件分类任务中,目标是尽可能提高真正例数量,同时避免产生过多误报。基于此目标,以下指标被选中并结合混淆矩阵进行说明。

召回率(Recall)

表示被正确预测为正类的正样本所占比例,计算公式为:

recall=TPTP+FNrecall=\frac{TP}{TP + FN}

取值范围为 00 到 11。高召回率表明模型能有效识别少数类样本。召回率为 1 意味着模型能够检测出所有罕见事件。然而,这一结果也可能由一个“全预测为正”的简单模型达成。为平衡此问题,还需引入 F1 分数。

F1 分数

#key# 精确率:真正例占所有预测为正例的比例,取值介于 0 到 1 之间,数值越高越好。该指标反映模型在保持高真正例的同时控制低假正例的能力。精确率高意味着模型较少误报,反之亦然。#key# F1 分数是精确率与召回率的调和平均值。
该分数衡量模型在尽可能多地预测罕见事件的同时,尽量减少误报的能力。计算公式为:

f1-score=2(TPTP+FN)−1+(TPTP+FP)−1f1\text{-}score = \frac{2}{(\frac{TP}{TP+FN})^{-1} + (\frac{TP}{TP+FP})^{-1}}

取值范围为 00 到 11,数值越高越好。若采用一个“全预测为正”的模型以追求高召回率,F1 分数将因假正例剧增而趋近于零,从而有效抑制此类无效策略。

假正例率(False Positive Rate, FPR)

最后,必须关注 假正例率(FPR)。它表示误报所占比例,计算公式为:

fpr=FPFP+TNfpr=\frac{FP}{FP + TN}

过多的误报会使系统对预警失去敏感性。因此,必须尽可能将 FPR 控制在接近零的水平。

在接下来的课程中,我们将探讨专门应对这些挑战的方法与工具,从理论建模走向实际应用。

入门

解决时空挑战