3. 衍射光学核心概念

好,咱们正式开始聊全因子设计。这是 DOE 里最基础、也最核心的一块。我个人觉得,如果你把 2^k 全因子设计吃透了,后面那些响应曲面、混料设计什么的,上手会快很多。

说白了,2^k 全因子设计就是:你有 k 个因子,每个因子取 2 个水平(通常是高水平和低水平),然后你把所有可能的组合都做一遍实验。为什么是 2 个水平?因为线性关系只需要两个点就能确定一条直线,而且实验次数最少。你想想看,如果每个因子取 3 个水平,k=5 时就是 3^5=243 次实验,而 2^5 只有 32 次。在工业现场,时间就是钱啊。

3.1 2^k 全因子设计的概念

2^k 全因子设计,英文叫 Full Factorial Design。这里的「全」字,意思是所有因子水平组合都被覆盖到。比如 k=2,因子 A 和 B,各有高低两个水平,那组合就是:A低B低、A高B低、A低B高、A高B高,一共 2^2=4 次实验。

我在项目中遇到过一位工程师,他做注塑工艺优化,选了 5 个因子,每个因子 3 个水平,一算要 243 次实验,直接懵了。我建议他先做一次 2^5 筛选实验,32 次跑完,发现只有 2 个因子显著。后面再针对这两个因子做全因子或响应曲面,省了 200 多次实验。这就是 2^k 设计的价值——用最少的实验,筛选出关键因子。

核心要点: 2^k 全因子设计适用于因子数 k ≤ 5 的场景。当 k ≥ 6 时,实验次数(64 次以上)开始变得昂贵,此时应考虑部分因子设计。

3.2 主效应与交互效应

这是全因子设计里最迷人的部分。主效应(Main Effect)就是一个因子单独对响应变量产生的影响。交互效应(Interaction)是两个或多个因子联合起来产生的影响,而且这个影响不是简单的加法。

举个例子。你调整反应温度(A)和催化剂浓度(B),看产品收率(Y)。如果 A 从低到高,收率增加了 10%;B 从低到高,收率增加了 5%。但如果 A 和 B 同时从低到高,收率增加了 20%,而不是 10%+5%=15%。多出来的这 5%,就是 A 和 B 的交互效应。

为什么会这样?因为催化剂在高温下活性更高,两者产生了协同作用。反过来,如果同时变化时收率只增加了 12%,那就是拮抗作用。交互效应在工程中非常常见,我见过太多人只盯着单个因子调,结果怎么调都调不好,就是因为忽略了交互效应。

我的习惯: 在分析全因子实验结果时,我永远先看交互效应图(Interaction Plot)。如果两条线不平行,说明存在交互效应。如果交叉了,那交互效应可能比主效应还大,这时候单独谈某个因子的主效应已经没有意义了。

3.3 设计矩阵与编码

设计矩阵(Design Matrix)是实验计划的数学表达。每一行是一次实验,每一列是一个因子。编码(Coding)是把因子的实际物理值转换成 -1 和 +1 的过程。为什么要编码?因为编码后的系数可以直接比较大小,不受单位影响。比如温度的单位是℃,压力的单位是 MPa,编码后都变成 -1 和 +1,回归系数的大小直接反映效应强弱。

编码公式很简单:

编码值 = (实际值 - 中心值) / (半间距)

其中:
中心值 = (高水平 + 低水平) / 2
半间距 = (高水平 - 低水平) / 2

例如:温度低水平 100℃,高水平 200℃
中心值 = (100 + 200) / 2 = 150
半间距 = (200 - 100) / 2 = 50
编码值 = (实际值 - 150) / 50

所以 100℃ 编码为 -1,200℃ 编码为 +1,150℃ 编码为 0。

下面是一个 k=3 的全因子设计矩阵示例,因子为 A(温度)、B(压力)、C(时间):

实验序号 A(编码) B(编码) C(编码) AB AC BC ABC 响应 Y
1 -1 -1 -1 +1 +1 +1 -1 Y1
2 +1 -1 -1 -1 -1 +1 +1 Y2
3 -1 +1 -1 -1 +1 -1 +1 Y3
4 +1 +1 -1 +1 -1 -1 -1 Y4
5 -1 -1 +1 +1 -1 -1 +1 Y5
6 +1 -1 +1 -1 +1 -1 -1 Y6
7 -1 +1 +1 -1 -1 +1 -1 Y7
8 +1 +1 +1 +1 +1 +1 +1 Y8

注意看交互效应列是怎么生成的:AB 列 = A 列 × B 列。比如实验 1,A=-1,B=-1,AB=(-1)×(-1)=+1。这就是交互效应列的计算规则——对应元素相乘。三阶交互 ABC 就是 A×B×C。

我曾经踩过的坑: 有一次做实验,我忘了随机化实验顺序,按照设计矩阵从上到下的顺序跑。结果车间温度在实验过程中逐渐升高,把时间效应和温度漂移混在一起了。后来分析时发现 C 因子效应显著,其实是温度漂移造成的假象。所以记住:实验顺序一定要随机化,这是 DOE 的铁律。

3.4 2^k 全因子设计的核心逻辑

下面这张图展示了 2^k 全因子设计的完整逻辑链条,从因子选择到效应分析,一目了然。

2^k 全因子设计核心逻辑 步骤1:选择 k 个因子 步骤2:确定高低水平 步骤3:构建设计矩阵(编码) 步骤4:随机化实验顺序 步骤5:分析主效应与交互效应 关键概念 • 主效应:单个因子的影响 • 交互效应:因子联合影响 • 编码:将实际值转为 -1/+1 实验次数 • 2^k 次实验 • k=3 → 8 次 • k=4 → 16 次

3.5 效应计算与 Pareto 图

效应计算其实很简单。主效应 = 该因子在高水平时的平均响应 - 低水平时的平均响应。交互效应同理,用交互列的正负号分组计算。

比如对于因子 A:

A 效应 = (Y2 + Y4 + Y6 + Y8)/4 - (Y1 + Y3 + Y5 + Y7)/4

算完所有效应后,我习惯画一张 Pareto 图,把效应绝对值从大到小排一排。那些明显超出临界线的效应,就是我们要关注的。嗯,这里要注意:Pareto 图只是初步筛选,最终判断还是要看 ANOVA 的 p 值。

实用技巧: 如果你用 Minitab 或 JMP,直接点「分析因子设计」就能自动生成 Pareto 图和正态效应图。但我建议你至少手动算一次 2^3 设计的效应,这样你才能真正理解背后的数学逻辑。我当年就是手算了一个 2^4 设计,从此对交互效应有了直觉。

3.6 常见误区与避坑指南

  • 误区一: 认为主效应显著的因子就是最重要的。其实交互效应可能更大,尤其是当两条线交叉时。
  • 误区二: 忽略三阶及以上交互效应。虽然高阶交互在工程上很少显著,但如果你不做重复实验,就无法估计纯误差,也就无法检验模型是否失拟。
  • 误区三: 不检查残差。我见过有人效应分析做得漂亮,但残差图显示方差非齐性,结果所有结论都不可靠。
我曾经犯过的错: 有一次做 2^4 设计,16 次实验,没有加中心点。分析完发现所有效应都显著,但模型预测能力很差。后来加了 3 个中心点重复,才发现原来存在弯曲效应,而 2 水平设计无法检测弯曲。所以,如果你怀疑响应可能有弯曲,一定要在设计中加入中心点(编码为 0 的实验)。

好了,全因子设计的基础就这些。记住:设计矩阵是骨架,编码是语言,主效应和交互效应是灵魂。把这三点吃透,你就可以开始动手做实验了。