大家好,我是劳拉·希金斯,全球技术赋能团队的系统工程师。今天,我想和大家聊聊实验设计如何助力创新。你们来到这里,是因为你们对创新感兴趣。你们可能正在努力打造更好的产品或流程,或者想要改进现有产品。也许你们正在尝试创造全新的事物。
我们如何在创新过程中迈出更大的步伐?如何以更少的时间、金钱和精力进入下一阶段?归根结底,利用分析技术打造稳健、高质量的产品和流程,才是提升创新能力的根本之道。
如果创新如此简单,人人都会去做了。但创新之所以困难,是因为其中存在诸多复杂因素。这些复杂因素就蕴藏在这些潜在因素之中。这些因素正是我们为了实现目标而试图改变或调整的事物。
我们必须尝试新事物,而实验是实现这一目标的关键。实验对于创新至关重要。我们将尝试这些基本因素设置的新组合,或者尝试从未尝试过的新事物、新因素、新成分,最终,实验是我们学习的途径。
我们该如何调和这两件事?一方面,复杂性使事情变得困难;另一方面,我们需要通过实验来实现创新。分析能够带来具体性。让我们具体阐述一下这两件事的含义。
复杂性是影响因素之一,因此,我们正在调整的底层组成部分本身就可能很复杂。它们之间可能会产生意想不到的影响。我们可能有很多事情,我们或许知道它们是否重要,但我们认为可能需要关注。这种意想不到的影响会将我们带离专业知识的范畴,而我们必须进入这个领域才能做出新的、更好的事情。
另一方面,实验是我们作为一个团队、一个组织学习的方式。我们需要反复进行很多次实验。我们循序渐进地进行实验。我们基于所学到的知识不断改进,但我们需要一种结构化的方法。结构至关重要,而我们真正想要做的是明智的战略性实验。
实验设计是一个足够强大的框架,能够将复杂性和实验性融为一体。这个框架拥有广阔的空间,这也是我想传达给大家的信息。实际上,任何复杂程度的项目都能融入这个框架。入门非常简单,而这正是我今天要向大家展示的内容。进行实验设计能够带来进步、效率和效果,从而加速您的创新进程。
我们并非从零开始。我们会利用我们的专业知识,但我们必须超越每次只调整一个因素的实验。这些实验传统上被称为单因素实验。再次强调,我们试图找到能够解释因果关系的最佳因素组合。让我来解释一下单因素实验与设计实验的区别。
这里,我们一次只考虑一个因素。x轴代表温度,y轴代表pH值。在一个单因素时间实验中,我们这样做:选择一个pH值,然后尝试不同的温度设置。找到最佳温度后,在这个温度下改变pH值。
现在,在这个图中,颜色代表产量,我们通过这种一次只考虑一个因素的方法找到了最佳产量。与设计实验不同,我们将使用相同的坐标轴来覆盖整个设计空间,并且我们考察的组合范围比一次只考虑一个因素的方法更广。在这个例子中,我们实际上获得了更高的产量,而这些组合是我们之前一次只考虑一个因素时从未尝试过的。这确实拓展了范围,让我们开始真正理解其中的复杂性,而当我们理解了这种复杂性,我们就能理解因果关系。
这就是两种结果的对比。一种更像是一座小山,另一种则像是一个斜坡。你可以想象一下,你站在大自然中,站在一座山顶上,以为自己已经登顶,但那天阴云密布。突然,云层散开,你转身一看,才发现身后还有一座更高的山峰,但它很远,你光靠走是永远也找不到的。你需要向导和路径。更高的地方,我们也能获得更高的回报。在这个例子中,就是更好的收益。
我们真正想要做的是理解这些因素与最终结果之间的关系。这里我列出了一些因素,例如机器或操作人员、温度、压力、湿度等等。然后是一些典型的输出结果,例如成本、产量、杂质含量等等。我们想要得到多个响应值。我们不想把这个过程当作一个黑箱,而是想建立一个能够描述这个过程的统计模型。这样我们才能开始揭示这些因素之间意想不到的影响。
人们常说的实验其实主要有两种。一种是筛选实验,也就是确定哪些因素重要。这种方法可以让我们考虑大量的因素,并分析它们的重要性排序。而当因素数量较少时,我们就可以开始理解其中的复杂性,并定义因素内部、因素之间以及因素与响应之间的关系。
听起来内容很多,但我之前说过入门很容易。接下来我们要这样做。筛选就像巧克力,是精华所在。表征就像花生酱,比较复杂。JMP 里有个叫 Easy DOE 的平台,它能神奇地把筛选和表征结合起来,帮助我们达成目标。我们不用再纠结什么时候做这个,什么时候做那个了,它会自动帮我们完成。我这就给你演示一下。
在开始之前,我们需要先简单了解一下DOE的步骤。当你盯着这张幻灯片时,你可能会想:“我的天!内容好多啊。我们接下来要做什么呢?” 但这正是Easy DOE将要引导我们完成的步骤,它会一步一步地指导我们完成每个步骤。我不会在这里赘述细节,因为我会在Easy DOE平台上演示。这是一张非常经典的图片。你们中的许多人可能都见过,而这正是我们在Easy DOE中要做的事情。
我几分钟后就要结束PPT演示了,但我也想谈谈数据增强。我认为设计实验固然很好,但我们不能低估数据增强的重要性。当你每次只研究一个因素时,很难继续进行下一个实验。你实际上只是把找到的几个值作为参考,然后继续进行下去。
当你设计好实验时,你可以利用所有已有的知识,而无需从零开始。你所做的,是将更多信息添加到基础统计模型中。数据增强是设计实验中非常重要的一部分,实际上,你可以在不重新开始的情况下获得所有这些额外的知识。我认为这应该是尝试使用设计实验的最有力理由之一。
让我们在 JMP 中做一些简单的 DOE(实验设计)。这是一个 JMP 日志。如果您不熟悉它,它只是一个记笔记的工具,我在这里链接了一些数据表和其他一些实用功能。从哪里开始呢?我想谈谈理解什么是关系。先简单介绍一下背景知识。如果我们有两个因素,分别位于 X 轴和 Y 轴上,它们之间可以是正相关或负相关。有些关系可以用直线很好地描述,而有些关系则需要一定的曲线来描述。这里有一个 JMP 自带的小演示。它是内置的,您可以添加数据点,然后点击,这样您就可以开始理解这种相关性是如何运作的。
我们还需要理解回归分析。相关性描述的是变量之间的关系,而回归分析实际上就是画一条回归线的过程。你可以看到,我又可以改变这种关系。这应该能帮助你理解在解读自己的结果时,你所看到的究竟是什么。
在深入探讨例子之前,我还有一点想和大家分享。当我们建立一个模型时(模型指的是统计关系),我们都知道 y = mx + b。如果只有这个公式,我们就称之为主效应。这里我们有 X1 和 X2,响应变量是 y。
我们在这里看到的是,每个 X 都会对响应值产生影响,但 X1 和 X2 之间没有相互影响。现在,它们可能不是直线。这就是我之前提到的线性关系和非线性或曲线关系之间的区别。
二次函数是我们在数学上描述曲线的方式。同样,X1 和 X2 本身并不相互影响,但它们与响应变量之间的关系却更为复杂。X1 和 X2 可能会相互影响。这种潜在的复杂性正是创新难以实现的原因,而实验设计可以帮助我们理解这一点。我们可以看到,如果我们改变 X1,X2 与响应之间的关系也会随之改变。你可能在不知不觉中已经观察到了这一点,但如果你没有方法去明确定义它,就会感到非常沮丧。现在我们可以同时做到这两点:既可以绘制曲线,又可以展现各个因素之间的相互影响。
这些都是我们在设计实验时需要考虑的复杂程度。为了简化操作,我们将使用简易实验设计(Easy DOE)。首先,我们进入实验设计(DOE)部分,然后使用简易实验设计。正如我在另一张幻灯片中展示的那样,这里列出了你需要执行的不同步骤。实际上,我打开一个已经完成的示例。这些步骤与我在幻灯片中展示的步骤相同:定义、建模、设计等等。所有这些都在这里,供你参考。
请注意,这里有引导模式和灵活模式两种。如果您已经了解一些设计实验的知识,可以选择灵活模式。它会为您提供更多设计选择和分析类型。但如果您是新手(这正是我主要面向的受众),建议选择引导模式。
我要……这是我们的空白表格。我们来看看响应变量。响应变量就是你想衡量的指标。我们首先要做的是一个筛选设计。我们只是想了解各个因素的排序。你可能已经有了目标,也可能还没有。如果你想更深入地了解,这里有一些提示,但它可以帮你省去很多麻烦……文档写得非常好。它会通过示例引导你,但所有内容都在这里,方便你在做决定时参考。
我想添加一个响应并匹配一个目标。我要删除那个。我们正在做的是制作咖啡。我喜欢咖啡。我们要观察咖啡的浓度。我们寻找的值介于 1.2 和 1.4 之间。我们可能只是想……你也可以想最大化或最小化某个目标。例如,如果我们有成本,我们可能想最小化成本。这些就是我们的响应。
我们还需要添加一些因素。这些是我们实验中要改变的变量。看我打字有点无聊,我直接解释一下这些不同的因素是什么吧。我先演示一下……你可以创建一个包含这些因素的表格。我在这里会把这些因素加载进去,这样我们就可以查看它们了。我们会逐一查看。这里是研磨度。咖啡可以粗磨,也可以像这里一样中磨。这是一个分类响应变量。如果你要添加一个分类响应变量,它指的是以离散单位表示的变量。比如,红色/蓝色代表不同的供应商。在这个例子中,就是研磨度。
我的温度是一个连续变量。你需要输入的是最低温度和最高温度。连续变量指的是任何可以连续调节的参数。温度可以有任意大小的变化范围。下一个因素也是连续的,那就是时间。时间始终是连续的。我们可以让它在三到四之间变化。冲泡时间与咖啡的浓度有关。它指的是机器实际运行的时间,或者机器上用于调节冲泡浓度的设置。
我们设置了两个不同的咖啡站,因为也许这两个站之间存在我未曾察觉的差异。这就引出了一个重要的概念——噪声。设计实验的关键之一就是随机化,这样你就不必考虑所有因素。因为有可能其中一个咖啡站的加热元件不如另一个好,但随机化可以掩盖这一事实,并消除我们并不关心、也无意定义的噪声,从而帮助我们更好地控制噪声。
这里另一个是离散数值因子。这适用于像烤箱这样的设备。假设烤箱只有几个设置。虽然温度可以是一个连续变量,但实际上你不会那样处理它。你可能会问:“为什么不把它当作分类变量来处理呢?” 因为离散数值变量能提供更多信息。
如果我的两个离散数值分别是 10 和 100,它会识别出它们之间的差值,或者 10、20 和 100。10 和 20 之间的差值只有 10,但 10 和 100 之间的差值是 90。它会考虑到这一点。如果我直接把它们归类为分类因子,它就会把它们当作 A、B 和 C 来处理,这样我就丢失了原本可以获得的额外信息。我们继续。当我点击导航控件时,它会把我带到下一个标签页。
模型。我觉得大家可能从这里开始担心了。这里有个不错的解释,说明了其中一些概念的含义。它甚至提到,我们现在只是在进行筛选,只想知道哪些因素最重要。这就是我展示交互作用和二次函数图的原因,因为我们可以把它们代入模型进行检验。
你可以看到,为了获得更多关于实验过程的信息,例如我们的因子是否呈线性关系以及它们之间是否存在相互作用,我们需要进行更多次的实验。这就是为什么如果有很多因子,最好先进行筛选设计,然后再进行表征设计。在Easy DOE中,我真正需要决定的只是我想回答哪个问题。
在这种情况下,我只想知道哪些因素是重要的。我们就按照这个来。它已经帮我完成了设计。这是我的设计。我可以导出数据。我要创建一个 JMP 数据表,然后就可以开始了。你需要按照说明按顺序运行每次实验。第一次实验,我将在 2 号工位进行,使用粗研磨,温度为 195 度,研磨时间为 3 秒,进料量为 2.4。第二次实验,我也在 2 号工位进行。这次使用中研磨,然后你可以在这里看到其他变量。运行顺序非常重要。这是随机化的一部分。如果你运行了实验,只是简单地排序,那就没有遵循我们的实验设计。
这有点超出我们今天要讨论的范围了。如果我们回到之前的模型,然后……不,抱歉。如果我们回到之前的因子和灵活模式,我们可以添加一些关于难以改变的因素的额外信息。比如,如果你要把东西浸入一大桶酸中,情况就很难改变。这将改变我们正在构建的底层统计模型。但它确实存在,你可以这样做,而且你应该使用它。工业实验中经常会遇到一些难以改变的因素,我们不可能使用所有的随机化方法。我们继续。
我已经做过这个实验了。这是我的数据。你可以加载这些响应。你只需要从数据表中选择一列。这是导入数据的最佳方法。在之前的实验中,你导出数据表,填写数据,然后就可以将答案重新加载到 Easy DOE 中。下面这个小图表是什么?它显示的是我们结果的预览。这里显示的是我的咖啡浓度,也就是 Y 轴上的结果变量。这里的每个数据点代表我的一个实验。我们可以预览每个因素的结果。我把它调高一点。好了。
看来努力程度可能很重要。其他一些因素很难判断。我们不能只凭肉眼判断,但它确实显示了每个数据点的分布情况。点击导航控件上的“下一步”,就进入了“分析”页面。
这真酷。这里有两个不同的方面。我们可以查看模型中的所有数据。实线表示显著,虚线表示不显著。需要特别说明的是,在设计好的实验中,不显著并不意味着它不重要。它意味着你没有检测到某些东西。也许如果你进行两倍的实验次数,就能检测到它。在这个例子中,我们没有证据表明它很重要。完整的模型包含了所有信息。如果我们想了解完整的模型,可以查看那些结果。
我们现在要找的是实际估计值远离零。我们通过查看置信区间来判断。在研磨数据中可以看到这一点,它已经绘制了置信区间。相比之下,对于其他数据,它显示结果不显著。你可以看到它与零点相交。如果我点击“最佳模型”,它会显示解释我们实验设计的最佳模型包含研磨数据,可能还有温度。温度有点接近临界值。我们暂时可以保留它。时间、充电量和站点都不重要,所以我们可以继续,思考下一步还需要做什么。
这里有一个预测分析器。预测分析器是我们在 JMP 中可视化方程的一种方式。这里是 y 轴,蓝色部分是置信区间。每个方格代表一个结果变量。它是交互式的。在这里,我们不仅可以随意点击,而且在 JMP 中,凡是有红色三角形的地方,都有很多选项,我们可以在这里进行优化。如果您想回头验证一下您的操作,这会非常重要。您可以再煮一壶咖啡,看看是否达到了最佳效果。这里还有一个很棒的报告,您可以打印出来,里面包含了所有信息。这是一个 DOE(实验设计)的示例。这是一个筛选设计。
现在,我们来做一个表征设计。在这个设计中,我们的因素是 pH 值、温度和供应商。我们的响应变量是目标值,以及杂质含量。可以看到,我们的目标是最大化或最小化目标值和杂质含量。看着我打字太无聊了,所以我直接把这些参数导入到 Easy DOE 里。我用这个红色的小三角。加载响应变量和因素。可以看到,这和我点击加号按钮选择目标值和杂质含量一样,我希望最大化目标值,最小化杂质含量。我的因素有三个:pH 值(连续变量)、温度(连续变量)和供应商(分类变量)。
我正在尝试描述这里关系的复杂性。我不知道这些关系是直线还是曲线,也不知道这两者之间是否存在相互作用。这就是我想知道的。你看,当因素数量较少时,它的妙处就在于,我可以采用这三种设计中的任何一种,在相同运行次数下估计这些模型。
我要选择能提供最多信息的那个。看看交互作用和二次方程。这也叫响应曲面设计。它又要启动了。它正在帮我建立模型。这是我的18次运行结果。我要导出数据。这是我的数据表。
希望我的模拟能奏效。我坐上时光机,收集数据。数据在这里。时光机可不是Easy DOE自带的。我们点击“下一步”。现在我要加载响应数据。再看看这些因子图,我们就能大致了解结果了。这里有两个结果:目标值和杂质。看起来可能和pH值有关。其他结果就不太清楚了。杂质可能跟我的供应商有关。
我们来运行一下模型。由于误差线很小,所以这个模型的统计功效很高。可以看到很多实心的绿色区域,还有一些虚线区域。如果我点击“最佳模型”,它会显示“我认为这些因素并不显著”。这里,pH*pH 的写法是为了查看这条线是否弯曲,结果显示它不是弯曲的。同样,温度的曲线可能也不是弯曲的,但我们肯定存在一些交互作用。交互作用的写法是 pH*温度。如果我们想继续查看,下面还有一些信息。我们可以查看每个响应,因为我们可能只更关心……这是目标值,而对于杂质,我们会发现一些略有不同的东西。我们希望能够在类似的模型中查看这些响应。
现在我们可以切换到“预测”模式。同样,在我们的分析器中,顶部是目标值,下方是杂质值。它们都与 pH 值有关。我们可以看到 pH 值和温度之间可能存在一些曲线。对于不同的供应商,这些曲线的变化趋势非常明显。现在,我要点击“优化”按钮,以便找到能够最大化目标值并最小化杂质值的设置。这些设置是我应该返回并尝试运行的,适用于当前的 pH 值、温度和供应商。您需要验证是否已正确完成 DOE(实验设计)。我的报告在这里,如果您需要,我们可以导出这份报告。
这就是 JMP 中的简易实验设计 (Easy DOE)。简而言之,还有谁?其实还有其他类型的实验设计。这里面包含的内容非常丰富。它们最终都属于略有不同的实验设计类型。有用于教授经典课程的设计,也有用于了解消费者需求的设计。如果您正在进行计算机实验,可以使用空间填充设计。如果您正在设计软件,可以使用覆盖数组。您可以进行配方和混合物设计。混合物有很多用途。还有可靠性和测量系统分析设计,以及用于处理更复杂情况的高级分块技术。
当我们尝试创新时,拥有足够的信心来应对如此复杂的设计领域至关重要。我们面临着复杂的交互,而实验设计将帮助我们巧妙地利用这一领域,并提升我们的创新能力。非常感谢。