4. 外推风险的数据层面诊断

模型外推失败往往不是网络结构的问题,而是数据在“该出现的地方没有出现”。数据层面诊断的目标,是在训练前或部署前回答三个问题:训练数据覆盖了输入空间的哪些区域?待预测样本落在覆盖区内部还是外部?这种“外部”的程度有多大、是否可信?本节围绕覆盖范围刻画、稀疏区域识别、外推距离度量与代表性评估四条线索展开,并给出可直接落地的计算方式。

一、覆盖范围:先定义“输入空间”再谈覆盖

覆盖范围不是简单的样本数量统计,而是样本在特征空间中的分布形态。第一步是确定用于诊断的特征子集:应选择对输出影响大、且在部署时会变化的变量,例如材料设计中的成分比例与烧结温度、结构分析中的几何尺寸与载荷幅值。对高维输入,通常先做标准化(z-score)或归一化到 [0,1],避免量纲差异主导距离计算。

覆盖范围可用两类互补指标描述。其一是逐维区间覆盖:对每个特征统计训练集的最小值、最大值与分位数(如 1%、5%、95%、99%),形成“可信区间带”。其二是联合覆盖:逐维区间都落在范围内,并不代表联合区域被覆盖——两个特征可能各自覆盖良好,但其组合区域完全空白。因此需要借助降维投影(PCA 前两主成分)或二维边际散点来观察联合分布的空洞。

二、稀疏区域:用密度而非距离判断“空”

稀疏区域的本质是局部样本密度低。实践中推荐使用 k 近邻距离作为密度代理:对训练集每个样本计算到其第 k 个近邻的距离 d_k(k 常取 5~20),得到训练集的距离分布;对待诊断样本计算同样的 d_k,若显著大于训练分布的高分位数(如 95%),则说明它处于稀疏区。相比全局距离,kNN 距离对局部密度变化更敏感,也不依赖对分布形状的强假设。

需要注意,稀疏不等于危险:某些稀疏区是物理上不可达的输入组合(如成分比例之和必须为 1),这类区域不应被当作外推风险。因此在标记稀疏区后,应结合物理/工艺约束做一次过滤,把“不可行区域”和“可行但未采样区域”区分开,后者才是真正需要补数据或降权预测的目标。

三、外推距离度量:从单点到分布

外推距离应回答“待预测样本离训练分布有多远”,常用三类度量:

  • 马氏距离:d_M(x)=√((x−μ)ᵀΣ⁻¹(x−μ)),考虑特征相关性与尺度,适合近似椭球分布的数据;Σ 需用训练集估计并做正则化(如加 λI)以避免奇异。
  • kNN 距离:d_k(x) 直接反映局部稀疏程度,无需分布假设,适合多模态数据。
  • 到最近训练样本的欧氏距离:最直观,但对量纲和特征冗余敏感,仅建议在标准化后作为辅助参考。

单一阈值往往不够稳健。更实用的做法是把距离转成相对分位:计算待预测样本距离在训练集距离分布中的分位数 p,例如 p=0.98 表示它比 98% 的训练样本更“远”。这样阈值可跨数据集复用,也便于分级:p<0.90 为内插区,0.90~0.99 为边缘区,p≥0.99 为外推区。下图给出从训练数据到风险分级的诊断链路与关键判据。

外推风险的数据层面诊断链路 训练集 D_train 标准化特征 X 估计 μ、Σ、kNN 距离分布 逐维分位区间 [q1, q99] PCA 投影观察联合空洞 待预测样本 x* 同一标准化变换 计算 d_M、d_k、欧氏距离 映射为训练分布分位 p 距离度量与判据 马氏距离 d_M(含相关) kNN 距离 d_k(局部密度) 欧氏距离(辅助参考) → 相对分位 p ∈ [0,1] 约束过滤:剔除不可行组合 k 取 5~20,Σ 加 λI 正则 内插区 p < 0.90 落在训练分布主体内 常规预测,正常报告不确定度 边缘区 0.90 ≤ p < 0.99 接近覆盖边界,误差可能放大 加严验证,标注“低置信” 外推区 p ≥ 0.99 超出训练覆盖,预测不可轻信 补采样 / 拒答 / 切换物理模型 代表性评估:分层抽样检查各子区域样本占比,与部署输入分布对比;若某子区域占比过低,即使整体 p 不高也应视为潜在外推风险。 阈值 0.90 / 0.99 为示例取值,实际应结合验证集误差随 p 的变化曲线确定。

四、代表性评估:让“覆盖”与“部署”对齐

覆盖范围描述的是训练集自身,代表性则要求训练分布与部署输入分布一致。常用做法是分层对比:按关键特征(如温度区间、载荷等级、成分族)把输入空间划成若干子区域,统计训练集与部署样本在各子区域的占比。若某子区域部署占比高而训练占比极低,即使该区域样本的绝对距离不大,也应视为高风险区。这种“占比错配”比单点距离更能揭示系统性外推。

另一个实用手段是双样本检验:对训练集与部署集在同一特征上做 KS 检验或计算 PSI(群体稳定性指数),PSI 超过 0.2 通常提示分布明显偏移。对高维情形,可先降维再比较投影分布,或直接比较 kNN 距离分布的差异。

五、一个可执行的教学示例

假设某合金强度预测任务,输入为成分 A 比例 x₁∈[0,0.4]、温度 x₂∈[600,900]℃,训练集 800 条。标准化后估计 μ、Σ,取 k=10。对一条待预测样本 x*=(0.38, 880),计算得 d_M=3.6,在训练集马氏距离分布中对应 p=0.995;d₁₀ 也高于训练集 95% 分位。同时分层统计发现,x₁>0.35 且 x₂>850 的子区域在训练集中仅占 1.2%,而部署集中占 9%。三项证据一致指向外推区,处理策略应是:优先补充该子区域实验数据;在补数据前,对该区域预测输出附加“外推警告”并给出基于 kNN 邻居的局部误差估计,而非直接采用全局模型点预测。

诊断顺序建议:先做逐维与联合覆盖可视化,再用 kNN 距离标记稀疏区,接着用马氏距离分位做分级,最后用分层占比与 PSI 校验代表性。四步结论一致时风险判断最可靠;若相互矛盾,应优先相信“部署占比错配”这一信号,因为它直接对应模型将被使用的场景。
常见误区:只用训练集最大最小值判断覆盖,会漏掉联合空洞;只用欧氏距离而不标准化,会让大数值特征主导判断;把稀疏区一律当作风险,会误伤物理不可行区域。诊断结果必须与约束条件和部署分布联合解读。