1.1 试验的策略
在系统或过程运行的过程中对其进行观察,是学习过程的重要一环,也是理解和认识系统与过程如何工作所不可缺少的。纽约洋基队那位伟大的捕手 Yogi Berra 说过:“……单凭观察,你就能看到许多东西。” 然而,要想了解当你改变某些输入因子时过程会发生什么,仅靠观察是不够的——你必须真正去改变这些因子。这意味着,要想真正理解一个系统中的因果关系,你必须有意改变系统的输入变量,并观察这些输入变化在系统输出上引起的变化。换言之,你需要在系统上做试验。对系统或过程的观察可以引出关于系统为何如此运行的假说或理论,但要证明这些理论正确,就必须开展上述那类试验。
几乎所有研究领域的研究者都会做试验,目的通常是发现某个特定过程或系统的某些性质,或者证实以往的经验或理论。每一次试验运行(run)都是一次检验。更正式地说,我们可以把试验(experiment)定义为一个检验或一系列运行:其中对过程或系统的输入变量施加有目的的改动,以便观察并找出输出响应(response)中可能出现的那些变化的原因。我们可能希望确定哪些输入变量导致了响应中观察到的变化,建立响应与重要输入变量之间关系的模型,并用这一模型来改进过程或系统,或用于其他决策。
本书讨论的是如何计划和实施试验,以及如何分析由此得到的数据,从而获得有效而客观的结论。我们的关注点是工程与科学中的试验。试验在技术商业化和产品实现活动中扮演着重要角色,这些活动包括新产品设计与配方、制造工艺开发以及过程改进。许多情况下,目标可能是开发一个稳健的(robust)过程,即受外部变异来源影响最小的过程。在非制造或非产品开发的场合——如营销、服务运营和一般业务运营——试验设计也有许多应用。试验设计是创新的一项关键技术,无论是突破式创新还是渐进式创新活动,都能从有效运用试验设计中获益。
举一个试验的例子:假设一位冶金工程师想研究两种不同的淬火硬化工艺——油淬和盐水淬——对某种铝合金的影响。这里试验者(工程师)的目标是确定哪种淬火溶液能使这种合金获得最大硬度。工程师决定对每种淬火介质各取若干合金试样(试件)进行处理,并在淬火后测量试样的硬度。每种淬火溶液处理过的试样的平均硬度,将用来判断哪种溶液最好。
在考虑这个简单的试验时,若干重要问题会浮现出来:
这两种溶液是唯一可能感兴趣的淬火介质吗?
是否还有其他可能影响硬度、因而应当在本次试验中加以研究或控制的因子(例如淬火介质的温度)?
每种淬火溶液中应当测试多少个合金试件?
应如何把试件分配给不同的淬火溶液?数据又应按什么顺序采集?
应当采用什么方法分析数据?
两种淬火介质的平均硬度差达到多少才算重要?
在实施试验之前,所有这些问题——也许还有许多其他问题——都必须得到满意的回答。
试验是科学方法(或工程方法)中至关重要的一环。当然,确实存在一些情形:科学现象已被理解得极为透彻,可以直接应用这些已知原理得到包括数学模型在内的有用结果。这类直接由物理机理导出的模型通常称为机理模型(mechanistic model),一个简单的例子是电路中电流的熟知的欧姆定律 。然而,科学与工程中的大多数问题都要求观察系统的实际运行,并通过试验来阐明它为什么以及如何工作。设计良好的试验往往能给出系统性能的模型;这类由试验确定的模型称为经验模型(empirical model)。本书将自始至终介绍把设计好的试验的结果转化为所研究系统的经验模型的各种技术。科学家或工程师可以像使用机理模型那样使用这些经验模型。
设计良好的试验之所以重要,是因为能从试验中得出的结果和结论在很大程度上取决于数据的采集方式。为说明这一点,假设上述试验中的冶金工程师在油淬中使用来自某一炉次(heat)的试件,而在盐水淬中使用来自另一炉次的试件。那么在比较平均硬度时,工程师无法说明所观察到的差异中有多少来自淬火介质、多少来自炉次之间的固有差异。[1] 由此可见,数据采集方式已经对能够从试验中得出的结论产生了不利影响。

图 1.1 过程或系统的一般模型
一般而言,试验用于研究过程和系统的性能。过程或系统可以用图 1.1 所示的模型来表示。我们通常可以把过程想象成一组操作、机器、方法、人员及其他资源的组合,它把某种输入(常常是某种物料)转换为一种或多种可观测响应变量的输出。其中的部分过程变量和材料属性 是可控的,而另一些变量如环境因素或某些材料属性 是不可控的(尽管为试验之目的它们可能是可控的)。试验的目标可能包括以下几项:
确定哪些变量对响应 影响最大;
确定把有影响的 设定在何处,才能使 几乎总是接近期望的名义值;
确定把有影响的 设定在何处,才能使 的变异最小;
确定把有影响的 设定在何处,才能使不可控变量 的影响最小。
从以上讨论可以看出,试验往往涉及多个因子。试验者的一个目标通常是确定这些因子对系统输出响应的影响。计划和实施试验的一般做法称为试验的策略(strategy of experimentation)。试验者可以采用若干种策略,我们用一个非常简单的例子来说明其中的一些策略。
我非常喜欢打高尔夫球。遗憾的是我并不喜欢练习,因此总在寻找降低杆数的更简单的办法。我认为可能重要、或者说可能影响我高尔夫成绩的因子有:
所用发球杆的类型(加大号或常规号);
所用球的类型(巴拉塔球或三层球);
步行自己背球杆,还是坐球车;
打球时喝水,还是喝“别的东西”;
上午打球,还是下午打球;
天凉时打球,还是天热时打球;
高尔夫球鞋鞋钉的类型(金属钉或软钉);
刮风天打球,还是无风天打球。
显然还可以考虑许多其他因子,但我们不妨假设上述这些是主要关注的因子。此外,基于长期的打球经验,我认定因子 5~8 可以忽略;也就是说,这些因子不重要,因为其效应太小而没有实际价值。工程师、科学家和业务分析师在实际试验中常常必须对所考虑的某些因子做出这类判断。
现在考虑如何通过试验来考察因子 1~4 对我的高尔夫成绩的影响。假设在试验期间最多能打八轮球。一种做法是任意选取这些因子的一个组合,进行测试,看看结果如何。例如,假设选择加大号发球杆、巴拉塔球、坐球车、喝水这一组合,得到的成绩是 87 杆。然而在这一轮中我注意到用大号发球杆打出了好几个偏球(在高尔夫里,打得远并不总是好事),于是我决定用常规号发球杆再打一轮,同时让其他因子保持在先前所用的水平上。这种做法几乎可以无限延续下去:根据当前测试的结果,在下一轮测试中改变一个、两个(或者也许更多)因子的水平。我们把这种试验策略称为最佳猜测法(best-guess approach),工程师和科学家在实践中经常使用它。它通常也相当有效,因为试验者往往对所研究的系统掌握大量技术或理论知识,并具有丰富的实践经验。最佳猜测法至少有两点不足。第一,假设最初的最佳猜测没能产生期望的结果,那么试验者只能对正确的因子水平组合再猜一次;这可能长期持续下去,而且不保证成功。第二,假设最初的最佳猜测产生了可接受的结果,那么试验者就会倾向于停止测试,尽管并不能保证已经找到最佳解。
实践中广泛使用的另一种试验策略是单因子轮换法(one-factor-at-a-time,OFAT)。OFAT 法先为每个因子选定一个起点(基准水平组合),然后依次让每个因子在其范围内变化,同时让其他因子保持在基准水平上。所有测试完成后,通常绘制一组图形,展示在其他因子保持不变的条件下,响应变量如何随每个因子的变化而变化。图 1.2 给出了高尔夫试验的一组这样的图形,其中四个因子的基准水平为加大号发球杆、巴拉塔球、步行、喝水。这些图形的解读很直接;例如,由于出行方式曲线的斜率为负,我们会得出结论:坐球车能改善成绩。借助这些 OFAT 图形,我们会选择的最优组合是常规号发球杆、坐球车、喝水。球的类型似乎不重要。
OFAT 策略的主要缺陷在于它没有考虑因子之间可能存在的交互作用。交互作用(interaction)是指一个因子在不同水平的另一个因子上对响应产生的效应不同。图 1.3 显示了高尔夫试验中发球杆类型与饮料因子之间的交互作用。注意,如果我使用常规号发球杆,喝什么饮料对成绩几乎没有影响;但如果我使用加大号发球杆,喝水比喝“别的东西”能获得好得多的结果。因子之间的交互作用非常普遍,而且一旦存在交互作用,OFAT 策略通常会产生糟糕的结果。许多人没有意识到这一点,因此 OFAT 试验在实践中频繁出现。(有些人甚至认为这种策略与科学方法有关,或者认为它是一条“可靠的”工程原则。)OFAT 试验的效率总是低于基于统计设计的其他方法。我们将在第 5 章更详细地讨论这一点。
处理多个因子的正确做法是进行因子试验(factorial experiment)。这是一种让各因子一起变化、而不是一次只变一个因子的试验策略。因子试验设计的概念极为重要,本书用好几章的篇幅介绍基本的因子试验以及若干有用的变体和特例。

图 1.2 高尔夫试验中单因子轮换法策略的结果

图 1.3 高尔夫试验中发球杆类型与饮料类型之间的交互作用

图 1.4 涉及发球杆类型与球类型的二因子因子试验
为了说明因子试验是如何进行的,考虑高尔夫试验,并假设只关注两个因子:发球杆类型和球类型。图 1.4 给出了一个二因子因子试验,用于研究这两个因子对我高尔夫成绩的联合效应。注意,这一因子试验让两个因子各取两个水平,并在设计中使用了两因子各水平的全部可能组合。从几何上看,四次运行构成一个正方形的四个角。这种特殊的因子试验称为 22 因子设计(两个因子,每个因子两个水平)。由于我可以合理地期望打八轮球来考察这些因子,一个合理的方案是在图 1.4 所示的每种因子水平组合下各打两轮球。试验设计者会说我们把该设计重复(replicate)了两次。这样的试验设计使试验者能够考察每个因子的单独效应(即主效应,main effect),并判断因子之间是否存在交互作用。
图 1.5a 给出了按图 1.4 的因子试验进行试验的结果。在四种试验组合下各轮球所得的成绩标在正方形的四角。注意,有四轮球提供了使用常规号发球杆的信息,另有四轮球提供了使用加大号发球杆的信息。通过求正方形右侧与左侧成绩的平均差(如图 1.5b),我们得到从加大号发球杆换到常规号发球杆的效应的度量,即
也就是说,平均而言,从加大号发球杆换成常规号发球杆使每轮成绩增加 3.25 杆。类似地,正方形上方四个分数与下方四个分数的平均差度量了所用球的类型的效应(见图 1.5c):
最后,用正方形中从左到右对角线上成绩的平均值减去从右到左对角线上成绩的平均值,可以得到球类型与发球杆类型之间交互效应的度量(见图 1.5d),结果为

图 1.5 图 1.4 中高尔夫试验的成绩以及因子效应的计算
这一因子试验的结果表明,发球杆效应大于球效应或交互效应。可以用统计检验来判断这些效应中是否有任何一个不为零。事实上,有相当强的统计证据表明发球杆效应不等于零,而另外两个效应等于零。因此,这一试验表明我应当总是使用加大号发球杆。
从这个简单的例子可以看出因子试验的一个非常重要的特点,即因子试验能最有效地利用试验数据。注意,这个试验包含八个观测值,而全部八个观测值都用来计算发球杆效应、球效应和交互效应。没有任何其他试验策略能如此有效地利用数据。这是因子试验一个重要而有用的特点。
我们可以把因子试验的概念推广到三个因子。假设我想研究发球杆类型、球类型以及所喝饮料的类型对我的高尔夫成绩的效应。假定这三个因子都取两个水平,则因子设计可以按图 1.6 那样建立。注意,这三个因子在各自两个水平上共有八种试验组合,而这八次试验在几何上可以表示为一个立方体的八个顶点。这是一个 23 因子设计的例子。由于我只想打八轮球,这个试验就要求在由图 1.6 中立方体八个顶点所表示的每种因子组合下各打一轮。不过,若把它与图 1.4 中的二因子因子试验相比较,23 因子设计所提供关于因子效应的信息是相同的。例如,假定图 1.4 的二因子设计中每次运行都重复两次,那么两个设计都有四次试验提供关于常规号发球杆的信息,四次试验提供关于加大号发球杆的信息。

图 1.6 涉及发球杆类型、球类型和饮料类型的三因子因子试验

图 1.7 涉及发球杆类型、球类型、饮料类型和出行方式的四因子因子试验
图 1.7 说明如何在一个 24 因子设计中考察全部四个因子——发球杆、球、饮料以及出行方式(步行或坐球车)。与任何因子设计一样,这里使用了各因子水平的全部可能组合。由于四个因子都取两个水平,这一试验设计在几何上仍可表示为一个立方体(实际上是超立方体)。
一般来说,若有 个因子、每个因子取两个水平,则因子设计需要 次运行。例如,图 1.7 中的试验需要 16 次运行。显然,随着所关注因子数的增加,所需的运行次数迅速增长;例如,10 个因子、每个因子两个水平的试验需要 1024 次运行。从时间和资源的角度看,这很快就变得不可行。在高尔夫试验中,我最多只能打八轮球,因此连图 1.7 中的试验都太大了。
幸运的是,如果有四五个或更多因子,通常不必运行因子水平的全部可能组合。部分因子试验(fractional factorial experiment)是基本因子设计的一种变体,其中只使用全部运行的一个子集。图 1.8 给出了高尔夫试验四因子版本的一个部分因子设计。该设计只需 8 次运行,而不是原来的 16 次,这样的设计称为二分之一部分实施(one-half fraction)。如果我只能打八轮球,那么这是研究全部四个因子的一个极好的设计。它能提供关于四个因子主效应的良好信息,以及关于这些因子如何交互的一些信息。

图 1.8 涉及发球杆类型、球类型、饮料类型和出行方式的四因子部分因子试验
部分因子设计在工业研究与开发以及过程改进中被广泛使用。这些设计将在第 8 章和第 9 章讨论。
试验设计专家会说,淬火介质与炉次的效应是混杂的(confounded);也就是说,这两个因子的效应无法分离开来。