3. 全因子设计原理与试验矩阵构建
全因子设计(Full Factorial Design)是试验设计中最基础、也最"诚实"的一类方案:它把所有因子的所有水平组合都实际做一遍,因此不丢失任何主效应与交互效应信息。理解它的关键不在于记住"2k""3k"这两个符号,而在于搞清楚三件事:试验点是怎么被"组合"出来的、编码变量与真实变量如何互换、以及如何把一张完整的试验矩阵交到实验员手上而不出错。
一、2k与3k的构造逻辑
设因子个数为 k,每个因子取 L 个水平,则全因子试验点数为 N = Lk。2k 设计中每个因子取低、高两个水平,N = 2k;3k 设计中每个因子取低、中、高三个水平,N = 3k。因子数增加时点数呈指数膨胀:k=3 时 23=8、33=27;k=5 时 25=32、35=243。这一膨胀速度直接决定了全因子设计的适用边界——它适合因子数较少(一般 2~4 个)且需要完整刻画交互作用的场合,因子一多就必须转向部分因子或响应面设计。
构造的本质是"笛卡尔积":把每个因子的水平集合做全组合。以三因子两水平为例,若按标准顺序(Yates 顺序)排列,可让第一个因子在最低位快速交替、第二个因子每两位交替、第三个因子每四位交替,得到 8 行互不重复的组合。这种顺序的好处是后续计算主效应与交互效应的对照系数时符号规律整齐,便于手工核算。
二、编码变量与真实变量的双向转换
全因子设计几乎总在"编码空间"里运算,在"真实空间"里操作。对因子 i,设其低水平真实值为 Li、高水平为 Hi,则编码变量 xi 与真实变量 Xi 的关系为:
x_i = (X_i - C_i) / S_i
其中 中心 C_i = (H_i + L_i) / 2
半程 S_i = (H_i - L_i) / 2
反变换:X_i = C_i + S_i · x_i
于是 2 水平下 xi 取 −1 与 +1,3 水平下取 −1、0、+1。编码的意义在于:不同量纲的因子(温度 ℃、压力 MPa、停留时间 min、催化剂负载量 %)被统一到同一尺度,回归系数的绝对值可以直接比较"谁的影响更大",交互项系数也不会被量纲差异污染。需要特别提醒的是符号约定:本文统一采用"低水平 = −1、高水平 = +1",中心点 = 0,全文与图示保持一致;若团队习惯相反约定,必须在试验矩阵表头明确标注,否则后续效应正负号会整体翻转。
举个化工实例:某酯化反应考察温度 70~90 ℃、催化剂用量 0.5~1.5 %(质量分数)、停留时间 30~60 min。则温度 C=80、S=10,编码 −1 对应 70 ℃、+1 对应 90 ℃;催化剂 C=1.0、S=0.5,−1 对应 0.5 %、+1 对应 1.5 %;时间 C=45、S=15,−1 对应 30 min、+1 对应 60 min。若某试验点编码为 (−1, +1, 0),则真实条件为 70 ℃、1.5 %、45 min。这种"编码表算组合、真实表下指令"的分工,是避免实验员误操作的最有效手段。
三、从组合到可执行试验矩阵
一张合格的试验矩阵至少应包含:标准序(Standard Order)、运行序(Run Order,随机化后)、各因子编码值、各因子真实值、响应列(留空待填)、备注列。标准序保证组合完整无遗漏,运行序用于消除时间漂移等系统误差,两者必须分开。随机化不是可选项——若按标准序依次做,反应釜的结垢、环境温度上升、操作员疲劳都会与因子水平系统性混淆。
下面这张图展示了一个 23 全因子设计的完整构造与转换关系:左侧是编码空间的立方体顶点,右侧是真实变量映射,底部是随机化后的运行序矩阵。
四、3k设计的特殊考量
3k 设计每个因子有低、中、高三个水平,能刻画二次弯曲效应,这是 2k 做不到的。但代价是点数从 2k 跳到 3k:三因子从 8 点变为 27 点,四因子从 16 点变为 81 点。因此在化工实践中,3k 通常只用于因子数 ≤ 3 且怀疑存在非线性(如温度对转化率存在最优值)的场合。构造时同样用笛卡尔积,编码取 −1、0、+1,中心水平 0 对应真实值的中心 Ci。需要注意:3k 的交互效应分解比 2k 复杂,两因子交互有 4 个自由度,需拆成线性×线性、线性×二次等分量,手工计算量大,一般借助统计软件完成。
五、构建试验矩阵的实操检查清单
把矩阵交给实验员之前,建议逐项核对:因子水平是否覆盖了工艺安全窗口(高温高压组合是否允许);编码值与真实值是否逐行对应且无错位;是否存在物理上不可行的组合(如低催化剂配极短时间导致转化率趋零,可保留但需预判);随机化后是否出现连续多次极端条件需要插入缓冲;响应列单位与检测方法是否标注;中心点重复次数是否满足纯误差估计需求(一般 3~5 次)。这些检查看似琐碎,却是全因子设计从"纸面方案"变成"可信数据"的关键一环。