4. 可视化前的数据预处理
多维参数扫描往往一次产生成百上千条记录:每一行是一次参数组合,每一列是一个参数或一个响应指标。这样的原始结果直接丢进散点图、平行坐标或热力图,常见后果是坐标轴被极端值拉爆、缺失点让曲线断裂、量纲差异让某些维度“隐身”。因此,可视化前的预处理不是可选项,而是决定图形是否可信的关键一步。本节围绕缺失值处理、异常值检测、归一化与降维准备四个环节展开,并给出可操作的判断依据。
一、先看清数据长什么样
假设我们扫描了两个参数:温度 T(300–500 K)与压力 P(1–10 bar),每个参数取 6 个水平,共 36 组,每组记录响应 yield(收率,%)与 energy(能耗,kW·h)。原始表可能出现三类问题:某些组合因仿真不收敛导致 yield 为空;个别组合因边界条件设置错误出现 yield = 0.02 或 energy = 980 这类离群值;两个响应量纲相差两个数量级。预处理的目标就是让这 36 行数据在进入图形时,每个维度都“站得住”。
第一步是结构化检查:确认行数是否等于参数水平数的笛卡尔积(本例应为 6×6=36),列名与单位是否齐全,参数列是否被误读为字符串。若行数不足,说明扫描任务有中断,应先补跑而不是急着插值。
二、缺失值处理:区分“没测到”和“测不出”
缺失值不能一律删除或一律填充。要按缺失机制分情况处理:
- 随机缺失:如某次仿真因超时未返回结果。若缺失比例低于 5%,可直接删除该行并在图注中说明样本数;若比例较高,可用同参数邻域的中位数填充,但必须在图中用空心标记区分“实测点”与“填充点”。
- 结构性缺失:如某些参数组合在物理上不可行(低压高温下反应不成立),这类空值不应填充,而应作为“无效区域”在热力图中留白,避免伪造出并不存在的响应面。
- 整列缺失:某响应指标全程未采集,应直接剔除该列,而不是用 0 填充——0 在收率语境中是有意义的数值,填充会造成严重误导。
示例中若 36 组里有 2 组 yield 缺失且属随机超时,可删除这 2 行,保留 34 行;若其中 1 组属于不可行组合,则保留该行但将 yield 标记为无效,绘图时单独处理。
三、异常值检测:用统计与物理双重视角
异常值检测建议“统计规则 + 领域常识”双管齐下。统计上可用四分位距法:计算 Q1、Q3,令 IQR = Q3 − Q1,将小于 Q1 − 1.5×IQR 或大于 Q3 + 1.5×IQR 的点视为可疑。以 energy 为例,若 34 个有效值算出 Q1 = 42、Q3 = 68,则 IQR = 26,上限为 68 + 39 = 107,那个 980 显然越界。
但统计越界不等于错误。必须回到扫描日志核对:980 是否对应某组参数下真实的边界工况?若是真实但极端的物理现象,应保留并在图中用不同颜色标注,而不是删除;若是单位录入错误(把 98.0 写成 980),则修正后保留。只有确认是采集或配置错误的值才删除。删除后要记录删除条数与原因,保证图形可追溯。
四、归一化:让不同量纲的维度同台比较
归一化的目的是消除量纲与数量级差异,使图形中各维度具有可比性。常用两种方式:
- Min-Max 归一化:
x' = (x − min) / (max − min),把每列映射到 [0,1]。适合需要固定坐标范围的平行坐标图与热力图,但受极端值影响大,因此必须在异常值处理之后进行。 - Z-score 标准化:
x' = (x − μ) / σ,使每列均值为 0、标准差为 1。适合 PCA 等依赖方差结构的降维方法,也适合散点图中多指标叠加比较。
以示例数据为例,T 的范围是 300–500,energy 是 40–100,若直接做 PCA,温度维度会因数值大而主导第一主成分。对 T、P、yield、energy 四列分别做 Z-score 后,各列方差被拉到同一量级,主成分才反映真实的参数—响应结构。注意:归一化参数(min/max 或 μ/σ)必须只用训练/主数据集计算,再应用到全部数据,避免信息泄漏。
五、降维准备与呈现一致性
当参数维度超过 4 个时,直接可视化会拥挤,可先做降维准备:确认各列已完成标准化、缺失与异常已处理、类别型参数已编码为数值或单独着色。此时再运行 PCA 或 t-SNE,得到二维嵌入用于散点图;同时保留原始参数列,以便在悬停或图注中回溯每个点的真实参数值。降维结果只用于“看结构”,不能替代原始参数的解释。
完成上述步骤后,数据才具备进入可视化环节的资格:缺失有交代、异常有依据、量纲已统一、降维有前提。此时无论选择散点图、平行坐标还是热力图,图形所传达的结构都更接近扫描结果的真实面貌。