观潮 · 模式预报与气象 AI 观察

江苏浓雾四分类:只用天气场时锋面雾和平流雾全被误判,加入6个先验属性与一致性约束后宏平均F1从0.7105提到0.8439

2026-10-16

> 江苏浓雾业务分型长期靠预报员对着气压场和近地层风场人工研判。这篇论文把「无雾 / 锋面雾 / 平流雾 / 辐射雾」做成四分类任务:输入是 ERA5 的 5 个时次 × 17 个气象变量通道,外加 96 维规则统计特征;模型叫 RSTFNet-AC,主干是共享 CNN 编码器加 GRU 提时空特征,另起一支把江苏的业务判识经验编码成 6 个核心先验属性(高压背景、低压背景、锋面背景、弱风条件、偏南风条件、中等风条件)与一张 3×6 的类别-属性软规则矩阵,再用属性监督和类别-属性一致性约束参与训练。373 个过程样本、五折交叉验证下,准确率 0.9573、宏平均 F1 0.8439,两项都高于 XGBoost、随机森林、纯 CNN、决策层融合和 RSTFNet。最能说明问题的是消融与混淆矩阵:不加以任何先验约束时宏平均 F1 只有 0.7105,纯 CNN 更是把锋面雾和平流雾全部判成辐射雾;加上两种约束后平流雾对角识别率升到 0.83、辐射雾升到 0.89。作者也写明,锋面雾和平流雾样本只有 14 个和 12 个,相关指标的折间标准差较大。

缺的是哪一块

江苏浓雾局地性强、突发性明显、影响范围广,对道路交通、航空起降、内河航运和城市运行都有影响。不同类型浓雾对应的环流配置和近地层环境条件并不相同——锋面雾对应锋面活动、低槽或低压背景;平流雾与偏南至东南气流输送及一定风速条件相关;辐射雾多出现在高压控制、风速较弱的稳定环境中。业务上要预警,首先得判断这次过程属于哪一类,而目前多依赖人工研判。

把这件事交给深度模型有两个麻烦,而且是相互关联的。

一是类别之间特征交叠。三类浓雾并非拥有完全独立的天气背景,高湿、低层风场调整这些环境特征各类过程都可能具备,差异更多体现在大尺度环流配置、近地层风场结构和水汽输送方式上。

二是样本极不均衡。373 个过程样本里无雾 293 个、辐射雾 54 个,而锋面雾只有 14 个、平流雾只有 12 个。只靠最终类别标签做数据驱动学习,模型会明显偏向多数类,少数类的内部判别表示很难稳定形成。

江苏浓雾业务分析里其实已经积累了高压、低压或低槽、锋面、弱风、偏南气流等有明确物理意义的判识信息。但如果只是把它们转成人工统计特征当普通输入,作用就停留在信息补充层面,并不能保证模型学到的内部表示和最终判断跟这些气象语义协调。问题于是变成:怎么把业务先验从静态判据变成能参与模型优化的监督信号。

方法怎么搭的

数据用 ERA5 逐小时再分析,区域取 20°—50°N、90°—135°E,0.25° 分辨率,网格 121×181。地面层取 10 米纬向风、10 米经向风、2 米温度、2 米露点温度和海平面气压;气压层取 1000、850、700 hPa 三层,每层含纬向风、经向风、温度和相对湿度,合计每个时次 17 个变量通道。

每个过程样本以过程日 08:00 为终止时次向前覆盖 12 小时,按 3 小时间隔取前一日 20:00、23:00 与当日 02:00、05:00、08:00 共 5 个时次,分别对应夜间成雾背景、过程发展阶段和清晨阶段。

类别 · 样本数

无雾 · 293

辐射雾 · 54

锋面雾 · 14

平流雾 · 12

合计 · 373

模型分三块。

时空特征提取模块:共享卷积编码器对每个时次分别编码,把 17 通道天气场压成 128 维空间特征向量,再由门控循环单元(GRU)在 5 个时次之间建模,输出过程级时空表示。

先验知识表征模块:从过程样本的不同区域和层次抽 96 维规则统计特征,覆盖江苏本地近地层风场、温湿与气压,河套、华北、黄海、日本海等关键区域的海平面气压,江苏与外围关键区域的气压差,以及 1000 hPa 和 850 hPa 的风、温、湿;对 5 个关键时次再算过程均值、极值和末时次值。96 维经 Rule MLP 编成 64 维规则特征。在此基础上选出 6 个核心先验属性,并构建 3×6 的类别-属性软规则矩阵——用连续权重而不是 0/1 硬规则,以保留各类别之间的交叠性。

核心先验属性 · 主要对应的雾型

高压背景 · 辐射雾

弱风条件(近地层风速低于 2.4 米每秒) · 辐射雾

低压背景 · 锋面雾

锋面背景 · 锋面雾

偏南风条件 · 平流雾

中等风条件(2.4—6.0 米每秒) · 平流雾

融合决策与知识约束模块:时空特征 128 维与规则特征 64 维拼接成 192 维,经全连接、ReLU 和 Dropout 映射成 128 维融合表示;再分两个头,分类头以加权交叉熵为主损失输出四类,属性头以二元交叉熵监督 6 个属性,另有类别-属性一致性损失用均方误差约束两者。总损失为分类损失加 λattr 乘属性损失加 λcons 乘一致性损失,权重取 λattr = 0.05、λcons = 0.10。属性监督与一致性约束都只对真实有雾样本计算,因为无雾样本并不存在稳定的成雾属性组合。

结果数字

总体对比(五折交叉验证均值 ± 标准差)

方法 · 准确率 · 宏平均 F1

XGBoost · 0.9304 ± 0.0310 · 0.6841 ± 0.1369

RandomForest · 0.9277 ± 0.0242 · 0.6996 ± 0.0879

PureCNN · 0.9223 ± 0.0136 · 0.4450 ± 0.0105

FusionLR · 0.9224 ± 0.0282 · 0.6627 ± 0.1320

RSTFNet · 0.9196 ± 0.0195 · 0.7105 ± 0.1345

RSTFNet-AC · 0.9573 ± 0.0194 · 0.8439 ± 0.0870

PureCNN 的准确率 0.9223 跟传统机器学习差不多,宏平均 F1 却只有 0.4450——只喂天气场张量时,特征学习会被无雾这一优势类别主导。

分类别业务指标(POD 命中率 / FAR 虚警率 / CSI 临界成功指数)

方法 · 无雾 · 锋面雾 · 平流雾 · 辐射雾

XGBoost · 0.9932 / 0.0331 / 0.9608 · 0.5333 / 0.3000 / 0.4333 · 0.3667 / 0.4000 / 0.3167 · 0.8327 / 0.1803 / 0.7066

RandomForest · 0.9898 / 0.0425 / 0.9483 · 0.4667 / 0.1000 / 0.4500 · 0.3667 / 0.0000 / 0.3667 · 0.8509 / 0.2208 / 0.6890

PureCNN · 0.9932 / 0.0034 / 0.9899 · 0.0000 / 0.0000 / 0.0000 · 0.0000 / 0.0000 / 0.0000 · 0.9818 / 0.3449 / 0.6478

FusionLR · 0.9898 / 0.0000 / 0.9898 · 0.6000 / 0.5733 / 0.3267 · 0.4333 / 0.6500 / 0.3067 · 0.7600 / 0.1632 / 0.6628

RSTFNet · 0.9795 / 0.0267 / 0.9538 · 0.6667 / 0.3667 / 0.5233 · 0.4667 / 0.5333 / 0.3667 · 0.7600 / 0.2174 / 0.6213

RSTFNet-AC · 0.9830 / 0.0068 / 0.9764 · 0.8000 / 0.2643 / 0.6190 · 0.8000 / 0.2300 / 0.6367 · 0.8855 / 0.0690 / 0.8259

PureCNN 对锋面雾和平流雾的 POD 和 CSI 都是 0,对应的 FAR 也是 0——这不是虚警控制得好,而是根本没有预测出这两个类别。RandomForest 在个别少数类上 FAR 为 0,同样伴随命中率没提高。RSTFNet-AC 把锋面雾 POD 从 RSTFNet 的 0.6667 提到 0.8000、平流雾从 0.4667 提到 0.8000,同时把平流雾 FAR 从 0.5333 压到 0.2300、辐射雾从 0.2174 压到 0.0690。

消融(属性监督与一致性约束逐项加入)

模型 · 属性监督 · 一致性约束 · 准确率 · 宏平均 F1

RSTFNet · × · × · 0.9196 ± 0.0195 · 0.7105 ± 0.1345

RSTFNet-C · × · √ · 0.9350 ± 0.0241 · 0.7253 ± 0.1189

RSTFNet-A · √ · × · 0.9464 ± 0.0309 · 0.8246 ± 0.1237

RSTFNet-AC · √ · √ · 0.9573 ± 0.0194 · 0.8439 ± 0.0870

只加一致性约束,宏平均 F1 从 0.7105 升到 0.7253,增益有限——没有显式属性监督时属性分支还没形成稳定语义,约束引导不上力。只加属性监督,宏平均 F1 跳到 0.8246,是最主要的那一步。两者同加后 0.8439,且标准差从 0.1345 降到 0.0870。

分类别的消融结果则显示增益并不整齐:RSTFNet-A 在锋面雾上 POD 0.8667 最高(RSTFNet-AC 是 0.8000),而 RSTFNet-AC 在平流雾上 POD 0.8000(RSTFNet-A 0.7333),辐射雾 FAR 0.0690 也是四个模型里最低。

混淆矩阵(按真实类别逐行归一化的 OOF 预测)

真实类别 · RSTFNet-AC 对角线 · 说明

无雾 · 0.98(288 个) · 各模型都稳定

锋面雾 · 0.79(11 个) · XGBoost 为 0.50、PureCNN 为 0.00

平流雾 · 0.83(10 个) · XGBoost 0.33、PureCNN 0.00

辐射雾 · 0.89(48 个) · PureCNN 把它当成唯一出口,0.00 的锋面雾与平流雾全流向这里

原文图

图1 三类浓雾典型过程的地面天气形势演变
图1 三类浓雾典型过程的地面天气形势演变

图1 三个典型过程的天气形势演变,从上到下依次是锋面雾(2015 年 11 月 4 日 20:00 至 5 日 08:00)、平流雾(2014 年 1 月 30 日 20:00 至 31 日 08:00)和辐射雾(2016 年 4 月 7 日 20:00 至 8 日 08:00),每行五列依次为前一日 20:00、23:00 与当日 02:00、05:00、08:00。填色是 2 米相对湿度,黑线是海平面气压,箭头是 10 米风场,红框为江苏大致范围;蓝色虚线、红色虚线、紫色实线、橙色箭头分别是高压或高压脊、低压或低槽及锋面影响区、弱风静稳区和暖湿气流输送特征的读图标记。

图2 模型总体结构
图2 模型总体结构

图2 RSTFNet-AC 的总体结构。左侧输入为 5×17×121×181 的多时次多层天气场与 96 维规则统计向量;上方分支走共享 CNN 编码与 GRU 时序建模得到时空特征,下方分支走 Rule MLP 得到规则特征,并给出 6 个核心先验属性与 3×6 的类别-属性软规则矩阵;右侧拼接成 192 维、映射为 128 维融合表示后分入分类头与属性头,属性头输出 a 再与软规则矩阵映射出的类别隐含属性比对,总损失由分类损失、属性监督损失和一致性损失三项相加。

图3 八个模型的混淆矩阵
图3 八个模型的混淆矩阵

图3 五折交叉验证 OOF 预测按真实类别逐行归一化的混淆矩阵,上排是四个对比方法、下排是消融模型。PureCNN(c)的锋面雾与平流雾两行整行落在辐射雾上(值 1.00、分别为 14 和 12 个样本),是类别偏置最严重的一格;RSTFNet-AC(h)的锋面雾 0.79、平流雾 0.83、辐射雾 0.89,错误流向明显收敛到对角线附近。

图4 按真实类别分组的属性响应
图4 按真实类别分组的属性响应

图4 不同真实类别样本在 6 个核心先验属性上的平均响应。辐射雾在高压背景 0.84、弱风条件 0.66 上最强,锋面雾在低压背景 0.71、锋面背景 0.60 上更突出,平流雾在中等风条件 0.59、偏南风条件 0.42 上相对较强——与业务上对三类雾型天气背景的划分方向一致。

作者承认的限制

限制 · 原文口径

少数类折间波动大 · 锋面雾和平流雾样本较少,相关指标的折间标准差较大,对其性能应结合均值、波动范围和不同业务指标综合判断

单个指标变化即可引起比例抖动 · 少量样本的判别变化即可引起归一化比例明显波动,混淆矩阵应与 Macro-F1、POD、FAR、CSI 及折间标准差结合评价

完整模型并非每项指标最优 · RSTFNet-AC 在锋面雾上的单项结果略低于 RSTFNet-A,其优势在于减少不同雾型之间的系统性混淆,而不是每个类别识别率都最高

一致性约束不能替代属性学习 · 缺少显式属性监督时属性分支尚未形成稳定语义,一致性约束对分类决策的引导作用受到限制;它只能规范决策空间,不能替代属性表示本身的学习

属性交叠是客观存在的 · 部分平流雾过程在规则属性空间中可能与辐射雾交叠(过程 P022 被以接近 1 的置信度判为辐射雾),辐射雾伴随明显水平水汽输送时也可能被判为平流雾(过程 P060)

有利成雾背景不等于成雾 · 过程 P085 真实为无雾却被高置信度判为辐射雾,说明有利成雾背景并不等同于实际雾的发生,局地热力条件、边界层稳定度等仍影响最终结果

外推范围受限 · 少数雾型样本不足、不同年份过程分布不均以及固定先验关系的区域依赖性,仍限制了模型结论的外推范围

后续要补的三件事 · 作者提出应扩大经专家确认的边界型和少数类过程、检验模型在独立年份和不同区域中的稳定性,并构建能同时输出雾型、关键属性和不确定性的联合判识框架

一句话判断

这篇文章真正想解决的不是「网络够不够深」,而是「有限的少数类样本里怎么让模型学到有成因指向的内部表示」——它给出的答案是先把业务经验拆成可监督的属性,再用一致性约束把属性响应和类别判断绑在一起;效果也确实落在原本最容易被糊掉的两个少数雾型上,而不是靠把无雾这一类判得更准刷总准确率。

在观潮中打开(含配图与交互)→