写在前面:一个花了三个月,其实两天能做完的实验
先看一个真实感很强的场景。
某注塑车间,产品有缩水缺陷。工程师老张决定调参数。他先调了保压压力,从 50 调到 60,缺陷少了;再调模具温度,从 60℃ 调到 70℃,又好了一点;再调保压时间…...
两个月后,他找到了一组"还不错"的参数,缺陷率从 8% 降到 3%。
这个方法叫 OFAT(One Factor At a Time,一次改一个因素),是最自然的实验方式,也是效率最低、最容易得出错误结论的方式。
它有三个致命问题:
问题一:效率低。 三个因素各三个水平,如果要试遍所有组合,需要 3³ = 27 次实验。OFAT 试不了那么多次,只能沿着一条路径走,很容易卡在局部最优。
问题二:完全看不到交互作用。 这是最致命的。假设温度和压力对缺陷率的影响是这样的:
| 压力 50 | 压力 70 | |
|---|---|---|
| 温度 60℃ | 缺陷 2% | 缺陷 8% |
| 温度 80℃ | 缺陷 9% | 缺陷 1% |
在 60℃ 时,压力越低越好;在 80℃ 时,压力越高越好。
如果你用 OFAT:先固定温度 60℃,试出压力 50 最好;然后固定压力 50,试温度,发现 60℃ 比 80℃ 好(2% vs 9%)。结论:温度 60、压力 50,缺陷 2%。
但真正的最优是温度 80、压力 70,缺陷只有 1%。 你找到了一个比最差好一点的解,而错过了最优解。
问题三:结论不稳定。 OFAT 的结果严重依赖你选的起点和路径。换个人来做,可能得到完全不同的结论。
DOE(Design of Experiments,实验设计)就是为了解决这三个问题。 它的核心思想是:同时改变多个因素,用尽可能少的实验次数,得到尽可能多的信息。
一、DOE 的基本概念
1.1 术语
| 术语 | 含义 | 例子 |
|---|---|---|
| 因子(Factor) | 你要研究的输入变量 | 温度、压力、时间、速度 |
| 水平(Level) | 因子取的具体值 | 温度取 60℃、80℃ 两个水平 |
| 响应(Response) | 输出的测量指标 | 缺陷率、强度、尺寸、成本 |
| 处理(Treatment) | 一组特定的因子水平组合 | (60℃, 50bar, 10s) |
| 主效应(Main Effect) | 单个因子对响应的影响 | 温度从 60 到 80,缺陷率变化多少 |
| 交互效应(Interaction) | 一个因子的效应依赖于另一个因子的水平 | 上面表格里的情况 |
| 区组(Block) | 实验中需要控制的非研究变量(如不同天、不同批原料) | 第一天做一批,第二天做一批 |
| 随机化(Randomization) | 随机安排实验顺序 | 消除时间趋势的干扰 |
| 重复(Replication) | 同一处理条件重复多次 | 用于估计随机误差 |
| 分辨率(Resolution) | 部分因子设计中,效应混杂的程度 | 见后文 |
1.2 DOE 的三个基本原则
Fisher 提出的三个原则,至今仍是 DOE 的基石:
原则一:随机化(Randomization) 随机安排实验顺序,消除未知的系统性干扰(如设备预热、原料批次、人员疲劳)。
原则二:重复(Replication) 同一条件重复多次,用于估计实验误差,从而能判断一个效应是否"统计显著"。
注意区分"重复"和"重复测量":
- 重复(Replication):重新设置实验条件再做一次(包括重新调机、重新上料),反映的是实验的完整变异。
- 重复测量(Repeat Measurement):同一件产品测多次,只反映测量误差。
只有 Replication 才能用于估计实验误差。
原则三:区组化(Blocking) 当存在已知的干扰变量(如不同天、不同操作者、不同批原料)时,把它们作为区组,在区组内部保持条件一致,从而消除它们对因子效应估计的干扰。
二、实验设计的四种类型
2.1 类型总览
| 类型 | 实验次数 | 能估计什么 | 适用阶段 |
|---|---|---|---|
| 全因子设计 | 2ᵏ(k 个因子,2 水平) | 所有主效应 + 所有交互效应 | 因子数 ≤ 5,筛选后深入 |
| 部分因子设计 | 2ᵏ⁻ᵖ | 主效应 + 部分交互效应(有混杂) | 因子数多(5—15),初步筛选 |
| 筛选设计(Plackett-Burman) | 4 的倍数(如 8、12、16) | 只估计主效应 | 因子很多(>10),粗筛 |
| 响应面设计(RSM) | 较多 | 二次模型(曲率) + 交互 | 已找到关键因子,寻最优 |
选择逻辑:
因子很多(>10)→ Plackett-Burman 筛选设计 → 找出 3—5 个重要因子
↓
因子中等(4—8)→ 部分因子设计(2ᵏ⁻ᵖ)→ 找主效应和重要交互
↓
因子少(≤5)→ 全因子设计(2ᵏ)→ 完整信息
↓
已确定关键因子,要找最优点 → 响应面设计(CCD/Box-Behnken)
一个重要的经验规律:实验预算的 20%—25% 应该留给第一阶段(筛选),剩下的用于深入。 很多初学者把预算全花在一个大实验上,结果发现一半的因子根本不重要,浪费了。
2.2 全因子设计(2ᵏ)
结构:k 个因子,每个 2 个水平,共 2ᵏ 次实验。
以 2³ 为例(3 个因子:温度 T、压力 P、时间 t):
| 实验号 | T | P | t | 响应 Y |
|---|---|---|---|---|
| 1 | − | − | − | y₁ |
| 2 | + | − | − | y₂ |
| 3 | − | + | − | y₃ |
| 4 | + | + | − | y₄ |
| 5 | − | − | + | y₅ |
| 6 | + | − | + | y₆ |
| 7 | − | + | + | y₇ |
| 8 | + | + | + | y₈ |
(− 表示低水平,+ 表示高水平,这是标准编码,通常记为 −1 和 +1)
计算主效应(以温度 T 为例):
T 的主效应 = (高水平下响应的平均) − (低水平下响应的平均)
= (y₂ + y₄ + y₆ + y₈)/4 − (y₁ + y₃ + y₅ + y₇)/4
计算交互效应(以 T×P 为例):
T×P 的效应 = [ (T,P 同号组的平均) − (T,P 异号组的平均) ] / 2
关键性质:2ᵏ 全因子设计是正交的——任意两列的乘积之和为零。这意味着:
- 每个效应的估计不依赖于其他效应(互不干扰);
- 主效应之间、主效应与交互效应之间都不混杂。
这就是"同时改变多个因素"还能得到清晰结论的原因。
重复与中心点: 2 水平设计无法检测曲率(响应与因子之间可能是非线性关系)。解决办法是加入中心点(Center Point)——所有因子取中间水平的实验。
- 通常加 3—5 个中心点;
- 如果中心点的响应显著偏离两端响应的平均值,说明存在曲率,需要用响应面设计;
- 中心点的重复还能提供纯误差的估计(不需要重复整个实验)。
2.3 部分因子设计(2ᵏ⁻ᵖ)
为什么需要:当因子数增加,全因子实验次数爆炸:
| 因子数 k | 全因子次数 2ᵏ |
|---|---|
| 3 | 8 |
| 4 | 16 |
| 5 | 32 |
| 6 | 64 |
| 7 | 128 |
| 10 | 1024 |
10 个因子做全因子需要 1024 次实验,通常不现实。
解决思路:只做其中的一部分(1/2、1/4、1/8…),代价是某些效应会混杂(confounded)。
以 2³⁻¹ 为例(3 个因子,做 4 次实验,即全因子的一半):
关键问题是:用哪个交互作用来"定义"这一半?
标准做法是令 C = A×B(称为定义关系 / generator):
| 实验号 | A | B | C = A×B |
|---|---|---|---|
| 1 | − | − | + |
| 2 | + | − | − |
| 3 | − | + | − |
| 4 | + | + | + |
这样做的后果是:C 的主效应与 A×B 的交互效应完全混杂(它们是完全相同的列)。你无法区分"观测到的效应是 C 引起的,还是 A×B 引起的"。
**分辨率(Resolution)**用来描述这种混杂的程度,用罗马数字表示:
| 分辨率 | 含义 | 记号 |
|---|---|---|
| III | 主效应与二因子交互混杂 | 2ᵏ⁻ᵖ_III |
| IV | 主效应之间不混杂,主效应与三因子交互混杂;二因子交互之间互相混杂 | 2ᵏ⁻ᵖ_IV |
| V | 主效应与二因子交互都不混杂;二因子交互与三因子交互混杂 | 2ᵏ⁻ᵖ_V |
实用建议:
- 分辨率 III 的设计:只能用于筛选(假设交互作用可以忽略)。风险高,但省实验。
- 分辨率 IV 的设计:主效应估计干净,是常用的筛选设计。
- 分辨率 V 的设计:能估计所有主效应和所有二因子交互,是比较"安全"的部分因子设计。
一个重要的原则(效应稀疏原则,Sparsity of Effects): 在多数实际系统中,只有少数主效应和少数低阶交互作用是显著的,高阶交互(三因子及以上)通常可以忽略。
这个原则是部分因子设计成立的理论基础——我们牺牲高阶交互的信息,换取实验次数的大幅减少。
2.4 正交表(田口方法的核心工具)
田口玄一(Genichi Taguchi)推广了**正交表(Orthogonal Array)**的使用,使 DOE 在日本工业界大规模普及。
常见的正交表:
| 正交表 | 实验次数 | 最多可安排的因子数 | 水平数 |
|---|---|---|---|
| L4 | 4 | 3 | 2 水平 |
| L8 | 8 | 7 | 2 水平 |
| L9 | 9 | 4 | 3 水平 |
| L16 | 16 | 15 | 2 水平(或 5 个 4 水平因子) |
| L18 | 18 | 8 | 混合(1 个 2 水平 + 7 个 3 水平) |
| L27 | 27 | 13 | 3 水平 |
L9 正交表(4 个因子,3 水平,9 次实验):
| 实验 | A | B | C | D |
|---|---|---|---|---|
| 1 | 1 | 1 | 1 | 1 |
| 2 | 1 | 2 | 2 | 2 |
| 3 | 1 | 3 | 3 | 3 |
| 4 | 2 | 1 | 2 | 3 |
| 5 | 2 | 2 | 3 | 1 |
| 6 | 2 | 3 | 1 | 2 |
| 7 | 3 | 1 | 3 | 2 |
| 8 | 3 | 2 | 1 | 3 |
| 9 | 3 | 3 | 2 | 1 |
正交表的性质:任意两列中,各个水平组合出现的次数相同(称为均衡搭配性)。这保证了因子效应的估计是"公平"的。
正交表的巨大价值:它把 DOE 从统计学家的工具变成了工程师可以直接查表使用的工具。
你不需要理解方差分析的数学,只需要:
- 选一张合适的正交表;
- 把因子填进去;
- 按表做实验;
- 用简单的平均计算,就能得出每个因子哪个水平最好。
这是田口方法在工程中如此普及的重要原因。
2.5 响应面设计(RSM)
什么时候需要:当 2 水平设计显示存在曲率,或者你已经确定了 2—3 个关键因子,要精确寻找最优点时。
两种常用设计:
| 设计 | 特点 | 实验次数(k=3) |
|---|---|---|
| CCD(中心复合设计) | 2ᵏ 因子点 + 2k 轴向点 + 中心点 | 8 + 6 + 6 = 20 |
| Box-Behnken | 不包含立方体的顶点,实验点都在"边中点" | 15(k=3) |
CCD 的结构(以 k=2 为例):
- 4 个因子点(±1, ±1);
- 4 个轴向点(±α, 0)和(0, ±α),其中 α = √k(旋转性)或 1(面心);
- 若干中心点。
RSM 拟合的模型:
Y = β₀ + Σβᵢxᵢ + Σβᵢᵢxᵢ² + ΣΣβᵢⱼxᵢxⱼ + ε
常数 一次项 二次项(曲率) 交互项
有了这个模型,你可以:
- 求出响应面的极值点(对模型求偏导);
- 画等高线图,直观地看到"最优区域在哪";
- 做多响应优化(多个响应指标同时优化,找折中解)。
多响应优化是 RSM 最实用的功能之一。比如你要同时优化"强度最大"和"成本最低",这两个目标通常冲突。RSM 的能量图(Overlay Contour Plot)能显示"同时满足两个目标的因子区域"。
三、分析 DOE 结果
3.1 方差分析(ANOVA)
ANOVA 的作用是判断"观测到的效应是否超过随机误差"。
基本思想:把响应的总变异分解为"由因子引起的变异"和"随机误差变异",然后比较两者。
F = 因子的均方(MS_factor) / 误差的均方(MS_error)
如果 F 很大(对应 p 值 < 0.05),说明该因子的效应显著
一个典型的 ANOVA 表:
| 来源 | 平方和 SS | 自由度 df | 均方 MS | F 值 | p 值 |
|---|---|---|---|---|---|
| A(温度) | 45.2 | 1 | 45.2 | 18.6 | 0.001 |
| B(压力) | 12.8 | 1 | 12.8 | 5.3 | 0.042 |
| A×B | 3.1 | 1 | 3.1 | 1.3 | 0.28 |
| 误差 | 24.3 | 10 | 2.43 | ||
| 总计 | 85.4 | 13 |
读法:
- A 和 B 的主效应显著(p < 0.05);
- A×B 交互效应不显著(p = 0.28),可以忽略。
实用提醒:不必手算 ANOVA。用 Minitab、JMP、Python(statsmodels)或 R 都能一键生成。
但你必须理解三件事:
- p 值的含义:在"该因子无效应"的假设下,观察到当前或更极端结果的概率。p 小不代表效应大,只代表"不太可能是偶然"。
- 统计显著 ≠ 实际重要。样本量很大时,一个微小的、无实际意义的效应也可能 p < 0.05。要看效应量(effect size)。
- 残差诊断:做完 ANOVA 后必须检查残差(正态性、独立性、方差齐性)。如果残差不满足假设,结论不可靠。
3.2 效应图:比数字更直观
主效应图(Main Effects Plot): 横轴是因子的各水平,纵轴是该水平下响应的平均值。线越"斜",说明效应越大。
交互效应图(Interaction Plot): 画两条线(一个因子的低水平和高水平),横轴是另一个因子。
关键判断:
- 两条线平行 → 无交互作用;
- 两条线交叉或明显不平行 → 有交互作用,此时不能只看主效应。
这是 DOE 分析中最重要的一张图。 前面讲的 OFAT 陷阱(温度 60/80 与压力 50/70 的例子),在交互图上会一目了然。
3.3 帕累托图
把所有效应的绝对值排序画成条形图,能快速看出哪些效应重要。
通常会画一条显著性参考线(基于 t 分布),超过线的就是显著效应。
3.4 一个完整的分析流程
1. 检查数据质量(有没有异常值、缺失值)
2. 拟合模型(先拟合全模型)
3. 做 ANOVA,识别显著效应
4. 检查残差诊断(正态、独立、等方差)
5. 简化模型(去掉不显著的项,但要尊重层级原则)
6. 画主效应图和交互效应图,理解"物理意义"
7. 确定最优因子设置
8. 做验证实验(Confirmation Run)—— 用最优设置做 3—5 次,验证预测是否准确
第 8 步(验证实验)绝对不能省略。 一个没有经过验证的 DOE 结论,与猜测无异。
层级原则(Hierarchy Principle):如果某个交互效应显著,那么它的主效应即使不显著,也应保留在模型中(因为交互效应依赖于主效应存在)。
四、田口方法:稳健设计
4.1 田口的核心思想
田口玄一(1924—2012)对质量有独特的定义,这是理解他方法的钥匙:
质量是"产品出厂后给社会带来的损失"。
这个定义的关键在于:传统观点认为"只要在规格范围内就是好的"(目标柱模型,Goalpost Model),而田口认为偏离目标值就会带来损失,即使在规格内。
用一个函数表达(质量损失函数):
L(y) = k × (y − m)²
其中:
L = 损失(货币)
y = 质量特性的实际值
m = 目标值
k = 常数,由"规格限处的损失"确定
举例:某零件目标直径 10.00mm,规格 ±0.05mm。若超出规格需要返工,返工成本 100 元。
k = 100 / (0.05)² = 40000
那么偏离 0.02mm 时的损失 = 40000 × 0.0004 = 16 元。
这意味着:即使零件在规格内,偏离目标仍在持续产生损失。
这个思想的实践含义:不只要"合格",要"紧贴目标值且波动小"。
4.2 两类因子:控制因子与噪声因子
田口方法最独特的贡献是明确区分了两类因子:
| 类型 | 定义 | 能否控制 | 例子 |
|---|---|---|---|
| 控制因子(Control Factor) | 设计中可以设定的参数 | 能 | 温度、压力、材料牌号、结构尺寸 |
| 噪声因子(Noise Factor) | 使用环境中无法控制的变异源 | 不能 | 环境温度变化、电压波动、操作者差异、磨损、湿度 |
核心问题:能不能找到一组控制因子的设置,使得产品对噪声因子不敏感?
这就是稳健设计(Robust Design),也叫参数设计(Parameter Design)。
4.3 信噪比(S/N Ratio)
田口用信噪比来同时衡量"水平好"和"波动小"。
记 n 次重复实验的结果为 y₁, y₂, ..., yₙ:
均值 ȳ = Σyᵢ / n
样本方差 s² = Σ(yᵢ − ȳ)² / (n−1)
三种常用的 S/N 比(根据质量特性的类型选择):
| 特性类型 | 目标 | S/N 比公式(示意) | 例子 |
|---|---|---|---|
| 望目特性 | 越接近目标值 m 越好 | η = 10·log₁₀(ȳ²/s²)(简化形式) | 尺寸、含量 |
| 望小特性 | 越小越好 | η = −10·log₁₀(Σyᵢ²/n) | 缺陷数、磨损、能耗 |
| 望大特性 | 越大越好 | η = −10·log₁₀(Σ(1/yᵢ²)/n) | 强度、寿命、良率 |
(注:望目特性的严格公式涉及方差的调整,不同文献表述略有差异,实际使用时建议参考标准教材或软件实现。)
S/N 比的本质:它是"信号(均值)与噪声(方差)之比"的对数变换。S/N 比越大,说明在该条件下产品越稳健。
为什么用对数:因为对数的好处是把"比值"变成"差值",便于用线性模型分析,且符合工程上的分贝直觉。
4.4 田口的两步优化法
这是田口方法最实用的操作流程:
第一步:用 S/N 比选择"波动最小"的因子水平组合
对每个控制因子的每个水平,计算该水平下所有实验的 S/N 比平均值,选 S/N 比最大的水平。
这一步选出的是"最稳健"的设置(波动最小)。
第二步:用均值选择"调整到目标值"的因子
在保持 S/N 比最优的前提下,找一个对 S/N 比影响小、但对均值影响大的因子(称为调节因子 / Adjustment Factor),用它来把响应调整到目标值。
这个两步法的巧妙之处在于:
- 先用 S/N 比把波动降到最小;
- 再用一个"不影响波动但影响均值"的因子来定位目标值。
经典例子(陶瓷砖烧制):
- 影响砖尺寸波动的主要因子是"石灰石含量";
- 但"窑炉温度"对波动影响小、对均值影响大;
- 所以:先用石灰石含量最小化波动,再用窑炉温度把尺寸调到目标值。
4.5 内外表设计
田口方法的实验结构:
| 表 | 内容 | 作用 |
|---|---|---|
| 内表(Inner Array) | 控制因子的正交表 | 安排你要研究的参数组合 |
| 外表(Outer Array) | 噪声因子的正交表 | 模拟使用环境的变异 |
实验次数 = 内表行数 × 外表行数
比如内表 L8(8 行),外表 L4(4 行),总共 32 次实验。
外表的意义:对于每一组控制因子设置,都在多种噪声条件下测试,从而测量出该设置下的"稳健性"。
这是一个非常聪明的实验结构——它人为地在实验中引入噪声,从而能找到对噪声不敏感的稳健设计。
成本考量:内外表设计实验次数可能很多。实际上,很多工程应用会简化——只取噪声的"最坏组合"(如高低温两个极端),称为复合噪声法,能大幅减少实验次数。
五、DOE 实施中的七个实际问题
问题一:实验次数受限于成本,怎么办?
| 约束 | 对策 |
|---|---|
| 每次实验很贵(如试产一批) | 用筛选设计先缩小范围;用部分因子;减少水平数 |
| 实验很耗时(如老化测试) | 考虑"分组实验";或用仿真代替部分物理实验 |
| 不能停机做实验 | 用演进式操作(EVOP)——在正常运行中做小幅度的因子变化,累积数据 |
EVOP(Evolutionary Operation)是一个非常实用的方法:在不停产的前提下,对因子做小幅度的系统性变化(幅度小到不影响产品质量),连续运行多个周期,累积数据后用统计方法分析。它牺牲了效应估计的精度,换来了"零停产成本"。
问题二:因子水平怎么定?
原则:水平范围要足够宽(能看出效应),但不能宽到脱离实际。
| 错误 | 后果 |
|---|---|
| 水平太窄 | 效应被噪声淹没,检测不到 |
| 水平太宽 | 可能超出可行区域,或者效应是高度非线性的 |
实用建议:参考历史数据、工艺规范、设备能力,取"现实可运行的范围"的 70%—80%。做第一轮后如果效应不明显,可以扩大范围。
问题三:有连续因子和离散因子混合怎么办?
例如:温度(连续,可取任意值)、材料供应商(离散,只有 A/B/C 三家)。
做法:
- 都可以放进正交表(离散因子用不同的"水平");
- 或用混合水平设计(如 L18,可容纳 1 个 2 水平 + 7 个 3 水平因子);
- 分析时,离散因子的主效应图是"柱形",连续因子的可以拟合曲线。
问题四:交互作用重要吗?
经验判断:
| 场景 | 交互作用是否重要 |
|---|---|
| 化工、材料、半导体工艺 | 非常重要(温度 × 时间、浓度 × 温度几乎都有交互) |
| 机械加工参数 | 中等重要 |
| 某些简单装配过程 | 通常较弱 |
安全做法:如果预算允许,用分辨率 IV 或 V 的设计,至少能估计主要的二因子交互。
问题五:结果是"通过/不通过"(离散型)怎么办?
比如响应是"合格/不合格",而不是连续的尺寸值。
三种处理方法:
- 把通过率当作响应:每个条件做足够多次(如 50 次),用通过率作为响应(这近似连续变量);
- 用逻辑回归(Logistic Regression):直接对二元响应建模;
- 把连续的"接近程度"当作响应:比如用"缺陷面积""偏移量"代替"合格/不合格",信息量更大。
第 3 种方法信息量最大——尽量不要把连续信息人为二值化,那会损失大量信息。
问题六:DOE 得出的最优参数不稳定,怎么办?
可能的原因:
- 噪声因子没考虑进去(这是田口方法要解决的问题);
- 实验误差太大(增加重复次数、改善测量系统);
- 存在未控制的变量(如原料批次,应该作为区组);
- 模型拟合不好(检查残差,可能需要更高阶的模型)。
特别提醒:测量系统分析(MSA)应该在 DOE 之前做。 如果你的测量系统本身误差很大,DOE 的所有结论都不可靠。这是一个常见的、代价高昂的错误。
问题七:验证实验不达标怎么办?
如果验证实验的结果与预测不符:
| 可能原因 | 检查 |
|---|---|
| 模型过拟合 | 是否拟合了太多项? |
| 遗漏了重要因子 | 有没有未纳入的因子在变化? |
| 交互作用被忽略 | 是否用了分辨率不足的设计? |
| 实验条件与生产条件不一致 | 实验时是精心调机的,生产时不是 |
| 存在时间相关的漂移 | 实验跨越了很长时间?设备状态变了? |
六、DOE 与其他方法的关系
6.1 DOE vs 试错法 vs 单因子实验
| 方法 | 实验效率 | 能发现交互作用 | 能找到全局最优 | 适用场景 |
|---|---|---|---|---|
| 试错法 | 很低 | 不能 | 很难 | 因子很少、成本极低 |
| OFAT | 低 | 不能 | 难 | 几乎不推荐 |
| DOE | 高 | 能 | 较容易 | 标准做法 |
| DOE + RSM | 很高 | 能 | 容易 | 要精确寻优 |
6.2 DOE 在六西格玛中的位置
在 DMAIC 中,DOE 主要用在:
| 阶段 | DOE 的作用 |
|---|---|
| Analyze(分析) | 筛选设计,从众多潜在因子中找出关键少数(验证因果) |
| Improve(改进) | 全因子或 RSM,找到最优参数组合 |
| Control(控制) | 确定参数的容差范围,建立控制计划 |
关键区别:
- Analyze 阶段的 DOE 是为了"确认哪些因子真的重要"(因果验证);
- Improve 阶段的 DOE 是为了"找到最优设置"(参数优化)。
很多人跳过 Analyze 直接做 Improve,结果优化了一堆不重要的因子。
6.3 DOE 与仿真实验(Simulation DOE)
当物理实验太贵或太慢时,可以用仿真模型做 DOE。
优势:
- 成本极低(计算资源 vs 实物);
- 可以"复制"完全相同的条件做多次重复(消除物理实验的随机性);
- 可以探索物理上不可行的极端条件。
陷阱:
- 仿真模型的有效性:如果模型没有经过验证(Validation),DOE 的结论是"精确地错";
- 仿真是确定性的:如果用固定随机数种子,重复实验会得到完全相同的结果,导致"误差为零",所有效应都"显著"。必须正确处理随机数。
七、一个可上手的实践项目
如果你想真正掌握 DOE,建议做这个练习:
项目:优化一组工艺参数(可以用仿真代替)
步骤:
- 确定 4 个因子(2 水平):温度、压力、时间、速度
- 选设计:用 2⁴⁻¹(分辨率 IV,8 次实验)+ 3 个中心点 = 11 次实验
- 做实验(或用 Python 生成一个带交互作用和噪声的仿真响应函数)
- 分析:
- 用 Python(statsmodels)或 Minitab 做 ANOVA
- 画主效应图和交互效应图
- 识别显著效应
- 验证:用找出的最优设置做 5 次验证实验
- 输出:一份报告,说明最优设置、预期响应、以及"如果不考虑交互作用会得到什么错误结论"
如果你用 Python,推荐流程:
import pandas as pd
import statsmodels.formula.api as smf
import matplotlib.pyplot as plt
# 1. 生成设计矩阵(可用 pyDOE2 库)
# 2. 做实验,收集响应
# 3. 拟合模型
model = smf.ols('y ~ A + B + C + D + A:B + A:C', data=df).fit()
# 4. ANOVA
import statsmodels.api as sm
print(sm.stats.anova_lm(model, typ=2))
# 5. 画效应图
这个项目做完,你对 DOE 的理解会超过 95% 只学过课本的人。
小结
DOE 与田口方法,七句话:
OFAT(一次改一个因素)效率低、看不到交互作用、结论依赖起点。DOE 同时改变多个因素,用更少的实验得到更多、更可靠的信息。
四种设计按因子数选:因子多(>10)用 Plackett-Burman 筛选 → 中等(4—8)用部分因子 → 少(≤5)用全因子 → 找最优点用响应面(RSM)。
正交表是工程师友好的工具:查表、填因子、做实验、算平均,不需要懂方差分析的数学就能用。这是田口方法普及的重要原因。
分析时最重要的图是交互效应图:线平行=无交互,线交叉=有交互且不能只看主效应。
田口的核心贡献是"稳健设计":区分控制因子与噪声因子,用信噪比(S/N)找"对噪声不敏感"的参数组合,再用调节因子定位目标值。
质量损失函数重新定义了质量:偏离目标就有损失,即使在规格内。所以目标是"紧贴目标值且波动小",不只是"合格"。
两个不能省略的步骤:实验前做测量系统分析(MSA),实验后做验证实验(Confirmation Run)。
最后一句:DOE 的本质是"用最少的实验,获取最多的信息,且知道自己的结论有多可靠"。它把"调参"从一门手艺变成了一门科学——而这也正是工业工程一直在做的事情。
相关阅读
- 标准工时怎么定?秒表测时 + 评比系数 + 宽放率的完整流程:从观测单元划分、观测次数确定、异常值剔除,到平准化评比与四类宽放,用完整算例讲透标准工时的全…
- MODAPTS 模特排时法入门:21 个动作与工时计算:产线还没建就能算出工时。本文系统讲解 MODAPTS 的 21 个基本动作、MOD 时间单位…
- 生产线平衡:从节拍、瓶颈到平衡率改善的完整方法:节拍怎么算、瓶颈怎么找、要素怎么重新分配。含一个从 80.5% 提升到 92.2% 的完整改…
- SMED 快速换模:把内部作业转化为外部作业的实操步骤:内部作业与外部作业分离是 SMED 的全部理论基础。本文用 120 分钟降到 9 分钟的完整…
- SPC 统计过程控制入门:控制图怎么读、Cp/Cpk 怎么算:受控不等于有能力。本文讲清两类变异原因、控制图选型与系数表、八大判异准则,以及 Cp/Cpk…