2. 实验数据采集与多变量数据结构

多变量实验数据关联分析的第一步,不是套用算法,而是把“数据是怎么来的、每个变量是什么、数据如何组织、元数据是否可追溯”这四件事弄清楚。若采集阶段设计不当,后续无论用相关分析、偏最小二乘还是聚类,都可能得到看似显著却无法解释的结果。本节围绕实验设计类型、变量类型识别、数据矩阵组织与元数据管理四个环节展开,重点说明实际采集时应当怎样做、做到什么程度才算可用。

一、实验设计类型决定数据结构的上限

多变量实验常见的设计类型包括:全因子设计、部分因子设计、正交设计、中心复合设计(响应面)、混料设计、析因与区组结合设计,以及观察性/历史数据采集。不同设计决定了变量之间是否正交、能否估计交互效应、是否存在混杂,也决定了数据矩阵的行列含义。

以三因素两水平的全因子设计为例,因素为温度 A(60/80 ℃)、pH B(6.0/7.5)、搅拌转速 C(200/400 r/min),若做 2³ 全因子并加 3 个中心点,则共 11 次实验。此时数据矩阵的每一行是一次实验运行(run),列包括三个因子列、响应列(如收率)以及区组、运行顺序等辅助列。若改为部分因子设计 2³⁻¹,则只有 4 次运行,主效应与二阶交互发生混杂,分析时必须明确别名结构,不能把混杂项当作独立效应解释。

实操中建议在采集前先写清设计表:因素名、水平编码(低水平记 −1、高水平记 +1,中心点记 0)、运行顺序随机化、区组划分。随机化是为了避免时间漂移与操作顺序带来的系统偏差;区组用于吸收批次、设备、操作员等已知干扰。若实验只能做观察性采集(如现场历史数据),则应在元数据中标注“非随机、存在混杂”,并在分析时优先考虑混杂控制而非直接因果解释。

二、变量类型识别:连续、分类与派生变量

变量类型识别直接决定后续能做什么运算。常见类型包括:连续型(温度、浓度、时间、收率)、有序分类(等级 1~5、低/中/高)、名义分类(催化剂种类、设备编号、批次号)、计数型(缺陷数)以及派生变量(比值、差值、对数变换值)。

识别时不能只看数值外观。例如“批次号”写成 01、02、03,看似数值,实为名义分类,不能参与均值计算;“等级 1~5”是有序分类,可做秩相关但不宜直接当连续量做线性回归;“pH”虽是连续量,但若实验只在 6.0、7.0、8.0 三个水平取值,则在设计语境下应作为分类因子处理。建议在数据字典中为每个变量标注:变量名、单位、类型、取值范围、缺失编码、是否派生、派生公式。

派生变量要特别谨慎。例如以“收率/原料纯度”构造归一化收率时,必须记录原始两列及公式,避免后续无法复算。对偏态明显的浓度、时间数据,可记录是否做过对数变换,并在元数据中保留变换前后两列或明确变换参数。

三、数据矩阵组织:行是运行,列是变量

多变量数据矩阵的通行组织方式是“宽表”:每一行对应一次实验运行或一个样本,每一列对应一个变量,第一列通常是运行编号或样本 ID。因子列、响应列、区组列、时间戳列应分区排列,避免混排导致误用。若同一运行下有多次重复测量,应另建“长表”记录重复测量,再通过运行 ID 与宽表关联,而不是把重复值堆在同一单元格内。

缺失值必须用统一编码(如 NA 或空),不能用 0 代替,因为 0 是有效数值,会污染均值与协方差。异常值应保留原始记录并另设标记列,而不是直接删除,以便追溯。单位统一尤为关键:温度统一为 ℃、浓度统一为 mol/L 或 g/L,并在列名或元数据中写明,避免同一变量在不同批次使用不同单位。

下面这张图展示了一次三因素实验从设计表到数据矩阵、再到元数据登记的组织关系,重点体现运行、因子、响应与元数据之间的对应。

实验设计表 → 数据矩阵 → 元数据登记的组织关系 设计表(运行计划) 运行号 · 温度A · pH B · 转速C 1 · −1 · −1 · −1 2 · +1 · −1 · −1 3 · −1 · +1 · −1 4 · +1 · +1 · −1 … · … · … · … 11 · 0 · 0 · 0(中心点) 水平编码:低=−1,高=+1 随机化运行顺序 · 区组划分 采集 数据矩阵(宽表) ID | A | B | C | 收率 | 区组 | 标记 R1 | −1| −1| −1| 72.4 | B1 | 正常 R2 | +1| −1| −1| 78.1 | B1 | 正常 R3 | −1| +1| −1| 69.8 | B2 | 正常 R4 | +1| +1| −1| 80.6 | B2 | 异常? … | … | … | … | … | … | … R11| 0| 0| 0| 75.2 | B3 | 中心点 行=运行/样本;列=变量 缺失统一记 NA,异常保留并标记 单位统一,重复测量另建长表 登记 元数据登记 变量名 · 单位 · 类型 取值范围 · 缺失编码 是否派生 · 派生公式 设计类型 · 随机化 区组 · 设备 · 操作员 采集时间 · 数据版本 示例:收率,单位 %,连续型, 范围 60~95,缺失记 NA, 非派生;批次号名义分类, 不可当连续量计算均值。 关键约束 ① 设计类型决定能否估计交互与是否存在混杂;② 变量类型不能只看数值外观,批次号、等级需按分类处理; ③ 宽表行=运行、列=变量,重复测量另建长表;④ 元数据须能支撑复算与追溯,派生变量保留公式。

四、元数据管理:让数据可追溯、可复算

元数据不是附属说明,而是数据可用性的一部分。最低限度应包含:实验设计类型与因素水平表、随机化与区组信息、每个变量的名称/单位/类型/取值范围/缺失编码、派生变量公式、采集设备与操作员、采集时间与数据版本。缺少这些信息,后续分析中一旦出现“同一变量不同批次单位不一致”或“派生列无法复算”,整份数据就可能作废。

实际管理中建议采用“一表一字典”的做法:数据矩阵单独存放,数据字典单独维护,两者通过变量名严格对应。数据字典可用表格形式记录,例如:

变量名单位类型取值范围缺失编码备注
温度A℃连续(设计因子)60~80NA编码 −1/+1 对应 60/80
pH_B—连续(设计因子)6.0~7.5NA编码 −1/+1 对应 6.0/7.5
转速Cr/min连续(设计因子)200~400NA中心点 300
收率%连续(响应)60~95NA三次重复取均值,原始值另存
批次号—名义分类B1~B3NA不可参与均值计算

此外,版本管理不可忽视。每次补充实验或修正异常值,都应保留旧版本并记录变更原因,而不是直接覆盖。对于需要长期复用的实验数据,建议在文件名或目录中体现“设计类型—日期—版本”,例如“全因子_20250312_v2”,使数据矩阵与元数据始终成对出现。

采集阶段多花十分钟写清设计表与数据字典,往往能省去分析阶段数小时的返工。判断数据是否可用的简单标准是:换一个人拿到数据矩阵和元数据,能否在不询问原作者的情况下复算出关键派生变量并说清每个变量的类型与单位。

综上,实验设计类型决定了数据结构与可解释边界,变量类型识别决定了运算合法性,数据矩阵组织决定了数据能否被正确读取,元数据管理决定了结果能否被追溯与复现。四者共同构成多变量实验数据关联分析的可靠起点。