3. 数据采集与物理一致性预处理

物理约束数据建模的效果,很大程度上在数据进入模型之前就已经被决定了。如果采集到的数据本身不满足质量守恒、量纲混乱、时间戳错位,那么再精巧的物理约束损失项也只能在错误的地基上做修补。本节围绕三个环节展开:针对物理系统的数据采集策略、噪声与缺失值的工程化处理、以及物理一致性检查与清洗的落地做法。

一、三类数据源的分工与取舍

物理系统的数据通常来自三条路径,它们各有不可替代的价值,也各有系统性偏差。

实验数据最接近真实物理过程,是校验模型可信度的基准。但实验成本高、工况覆盖稀疏,且测量链路本身会引入偏差,例如热电偶的响应滞后、应变片的温漂、流量计的安装直管段不足。使用实验数据时要记录传感器型号、采样率、量程与标定日期,这些元信息直接决定后续误差分析的可解释性。

仿真数据可以密集覆盖参数空间,代价是模型误差被“继承”进数据。用仿真数据训练时,必须明确仿真所用的控制方程、边界条件、网格规模与求解器容差。一个常见陷阱是把高保真仿真与低 fidelity 仿真混在一起训练却不加区分,导致模型学到的是求解器差异而非物理规律。

传感器在线数据提供长时序、真实工况下的观测,适合捕捉漂移、老化和瞬态行为,但噪声水平高、易出现丢包与时钟漂移。工程上通常把实验数据作为标定与验证集,仿真数据作为预训练与增广集,在线数据作为微调与漂移监测集,三者按角色分工而非简单拼接。

二、噪声处理与缺失值插补

噪声处理的第一步不是滤波,而是判断噪声类型。高频白噪声可用滑动平均或低通滤波压制;周期性干扰(如工频 50 Hz 串扰)应优先用陷波滤波,而不是加大低通截止频率,否则会连带削弱真实动态。对于含有明显脉冲尖峰的通道,中值滤波比均值滤波更稳健。

缺失值要区分三种成因:随机丢包、传感器饱和截断、以及物理上不可能出现的值(如温度为负开尔文)。随机丢包可用线性插值或样条插值;饱和截断不能插值,只能标记为无效区间;物理越界值应直接置为缺失再处理。对时序数据,插补时必须保证不跨越工况切换点,否则会把两种稳态“缝”成一段虚假过渡。

# 示例:按通道做稳健预处理(参数为教学假设值)
fs = 1000            # 采样率 Hz
notch_f0 = 50        # 工频干扰
lowpass_fc = 80      # 有效信号带宽上限
spike_threshold = 5  # 以 MAD 为单位的尖峰判据

1) 去均值 → 2) 50Hz 陷波 → 3) 80Hz 低通
4) 计算残差 r = x - median_filter(x, 5)
5) 若 |r| > 5 * MAD(r),标记为尖峰并置 NaN
6) 对 NaN 做分段线性插值,段边界取工况切换时刻

注意滤波会引入相位滞后。若后续要做时空对齐或与仿真结果逐点比对,应使用零相位滤波(正向与反向各滤一次),否则对齐误差会被误判为模型误差。

三、时空对齐

多源数据的对齐包含两个维度。时间上,不同传感器的采样率与触发时刻不同,需要统一到同一时间基准,常用做法是以最高采样率通道为主时钟,其余通道做重采样;对存在固定传输延迟的通道,先估计延迟再补偿。空间上,若数据来自不同测点或不同网格,需要建立坐标映射,并明确坐标原点、轴向与单位,全文与图示保持一致。

对齐质量的判断不能只看相关系数。更可靠的做法是检查物理量之间的已知关系是否在对齐后成立,例如同一截面的质量流量与密度、流速乘积是否吻合。若对齐后守恒关系反而变差,说明对齐引入了系统性错位。

四、物理一致性检查与清洗

物理一致性检查是把领域知识变成可执行的数据质量规则。最常用的两类是守恒量校验与量纲校验。

守恒量校验:对控制体写出质量、动量或能量平衡,检查残差是否落在测量不确定度允许的范围内。例如稳态换热段,入口焓流率减去出口焓流率应等于散热损失,若残差远超传感器误差,则该时间段数据可疑。

量纲校验:检查每个字段的单位是否与物理公式一致,尤其警惕单位混用(如 Pa 与 kPa、摄氏与开尔文)。量纲错误往往表现为数值“看起来合理”但代入方程后系数异常,必须在入库前用规则拦截。

清洗策略应分级:可修复的(插值、单位换算、去尖峰)自动修复并记录;不可修复的(饱和、越界、守恒严重破坏)标记剔除并保留原因码。所有清洗动作都要留痕,否则后续无法区分“数据本身差”与“清洗过度”。

实验数据 标定 / 验证基准 仿真数据 预训练 / 参数增广 传感器在线数据 微调 / 漂移监测 噪声处理 陷波 / 低通 / 中值 / 零相位 缺失值插补 分段插值 / 越界置缺 时空对齐 主时钟重采样 / 坐标映射 守恒量校验 质量 / 动量 / 能量残差 对比测量不确定度 量纲校验 单位一致性 / 换算拦截 Pa↔kPa、℃↔K 可修复 自动修复留痕 不可修复 剔除 + 原因码 物理一致数据集 进入建模与训练

五、一个可执行的清洗检查表

把上述规则固化成检查表,可以在每次数据入库时快速判断是否放行。下表字段与判据均为教学示例,实际阈值应依据传感器精度与工况确定。

检查项判据示例处理动作
时间戳单调性无回退、无重复重复则保留首条并记录
采样间隔稳定性抖动 < 5% 标称周期超限段标记为可疑
量程越界超出传感器量程置为缺失,不插值
尖峰残差 > 5×MAD置缺失后分段插值
质量守恒残差相对残差 < 2%超限段剔除并记录原因码
量纲一致性字段单位与公式匹配换算或拦截入库
判断清洗是否“过度”的一个实用方法:保留一份未清洗的原始副本,用同一套守恒校验分别评估清洗前后数据。若清洗后守恒残差显著下降且未损失关键瞬态段,说明清洗有效;若残差下降但瞬态特征被抹平,则滤波或插值强度过大。

完成上述步骤后,数据才具备进入物理约束建模的条件:噪声被压制但动态保留,缺失被合理填补且不跨越工况,多源数据在同一时空基准下对齐,守恒与量纲规则为每条记录提供了可追溯的质量标签。这些标签在后续训练中还可以反过来用作样本加权或损失屏蔽的依据,使物理约束真正作用在可信的数据上。