| 扬声器 |
抄本 |
| 菲尔·凯 |
好的,我们将讨论如何重新思考实验的设计和分析。我是 Phil Kay,全球技术支持团队的学习经理,Pete Hersh 也和我一起。 |
| 彼得·赫什 |
是的,我也是全球技术支持团队的成员,很高兴谈论 DOE 以及我们今天正在探索的一些新技术。 |
| 菲尔·凯 |
首先要说的是,我们非常支持美国能源部。它太棒了。长期以来,它在科学和工程领域一直发挥着巨大的作用。 |
| |
话虽如此,为了长时间使用 DOE,我们必须接受一些假设。 |
| |
作为一名科学家或工程师,他们并不总是感到无比自在。比如稀疏性效应,以及你观察的并非全都重要的想法。 |
| |
事实上,你实际实验的东西中,只有少数东西最终被证明是重要的。或者说,影响遗传是另一个假设。 |
| |
所以这意味着我们只期望看到以更简单形式活跃的因素的复杂行为或高阶效应。 |
| |
而且,由于这种活性效应和非活性效应的概念,通常,实验设计的顺序过程是从非活性效应中筛选出活性效应。 |
| |
有时候,这感觉太像一个二元决策了。很多时候,我觉得这种想法有点疯狂,因为我们在完全不活跃的环境中实验一些东西, |
| |
但实际上,我认为我们知道一切都会产生一些影响。这可能不那么重要,但 |
| |
它仍然会产生一些影响。这些主要是我们用来 |
| |
当你无法承担大量运行次数时,如何应对实验设计过程中的一些挑战呢?Pete,我不知道你是否也想从你的角度对此发表一下看法。 |
| 彼得·赫什 |
是的,我完全同意。我认为像温度这样的东西不活跃的想法是……我很难想象温度对实验没有影响。 |
| 菲尔·凯 |
是的,这有点荒唐,不是吗?所以, |
| |
是的,如果这是在你的实验中,那么它总是会以某种方式活跃,但可能不如其他事情那么重要。 |
| |
所以我直接跳到结果 |
| |
我们已经研究过的内容。我们一直在研究 Chris Gotwalt 和 Phil Ramsey 发明的自动验证技术 |
| |
并将其应用于设计实验的分析中,结果确实令人难以置信。我们之前根本没想到这些结果会发生。 |
| |
所以,首先,我研究了一个包含13个活跃效应的系统,并分析了一个进行了13次确定性筛选设计,由此我能够确定有13个效应处于活跃状态,也就是……我们所说的饱和状态。我们不会…… |
| |
我们通常认为,当效应稀疏时,也就是只有少数效应真正重要或活跃时,确定性筛选设计能够有效地识别出活跃效应。但在这个例子中,我成功地识别出了所有13个活跃效应。 |
| |
不仅如此,我们实际上能够通过这 13 次最终筛选设计构建一个包含所有 13 种活性效应的模型。 |
| |
所以,这又有点令人难以置信;我们并不期望能够拥有一个具有与我们所构建的数据行一样多的活跃效应的模型。 |
| |
皮特,你研究了一些其他的东西并得到了一些非常有趣的结果。 |
| 彼得·赫什 |
是的,绝对如此。菲尔的成绩非常令人印象深刻。我认为 |
| |
我们尝试的下一步是制作一个超饱和设计,它比运行效果更活跃,我们尝试了 |
| |
非常小的DOE。因此,六次运行的DOE有七个有效效应,如果我们用标准的DOE技术来做,就没有办法分析 |
| |
没错。我们还比较了8次和10次运行的DOE,看看它们能给我们带来多少收益。所以我们得到了相当有用的模型,即使是6次运行的DOE,也 |
| |
比我预期的要好。 |
| 菲尔·凯 |
是的,这确实比你期望的要好,不是吗? |
| |
因此,我们获得了这些令人印象深刻的结果,并能够从少量样本中识别出大量的活性效应 |
| |
最终的屏幕设计,并实际构建包含所有主动效应的模型。在 Pete 的案例中,我能够从非常小的 |
| |
设计实验。 |
| |
那么,我们是怎么做到的呢?自动验证方法是如何运作的?它借鉴了机器学习的理念,而机器学习中一个非常有用的工具就是验证。因此,保留验证是一种非常好的方法,可以确保你构建的 |
| |
最有用的模型。所以它是一个稳健的模型。所以我们保留一部分数据,用它来测试我们构建的不同模型,然后 |
| |
基本上,对我们所持有的数据做出最佳预测的模型就是我们所采用的模型,并且该模型经过了真正的尝试和测试。 |
| |
这其实是构建最实用模型的黄金标准,但对于能源部来说,这可是个更大的挑战,不是吗,Pete?显然,它不太适合。 |
| 彼得·赫什 |
是的,是的,DOE 背后的理念就是尽可能高效地探索设计空间。如果我们开始拖延试验或拖延 |
| |
分析运行,那么我们就会错过部分设计空间, |
| |
我们确实无法使用许多 DOE 技术(例如确定性筛选设计)来做到这一点。 |
| 菲尔·凯 |
好的,好的,所以如果有什么技巧可以让我们既能享受保留验证的好处,又不至于因为保留关键数据而受到影响,那就太好了。所以,这就引出了自动验证。 |
| |
想法,还有,皮特,你想描述一下这是如何运作的吗? |
| 彼得·赫什 |
绝对的,这是 Chris 和 Phil Ramsey 提出的一个非常聪明的想法,他们基本上从 DOE 获取原始数据,然后重新采样,所以你 |
| |
重复结果。所以,如果你注意到幻灯片底部的表格,灰色的运行结果与白色的运行结果相同。它们只是重复了而已。 |
| |
他们解决这个问题的方法是将权重列配对起来。所以基本上,如果一个人的权重很高, |
| |
重复运行的速率很低……权重等等。这……这……使我们能够使用经过验证和加权的数据,我们将更详细地介绍如何做到这一点。 |
| 菲尔·凯 |
是的,我们演示的时候你大概就能明白是怎么回事了。我们基本上有两个模拟案例,用来说明这个方法。我要讲的第一个案例是, |
| |
我强调这是一个模拟的例子。从某些方面来说,它有点不切实际,但我认为它很好地展示了这种方法的威力。 |
| |
我们有六个因素,为了让它看起来更真实一些,我们从案例研究中选择了一些真实的因素,他们试图培育一些生物体,并优化它们输入系统的营养物质,以优化生长率。 |
| |
我们已经确定了这六种不同的营养物质,这些就是我们要考虑的因素。我们可以添加不同量的营养物质,所以我设计了一个包含13个运行的确定性筛选设计,以探索这些因素对生长率的影响。 |
| |
响应数据完全由我模拟,模拟结果显示有 13 个强活性效应。所以 |
| |
我对其进行了模拟,因此所有主要效应,所有六个主要效应,都处于活跃状态。 |
| |
然后,对于每一个因素,二次效应也起作用,所以我们得到了六个二次效应。 |
| |
另外,我们还有一个始终需要估计的截距,因此总共有 13 个活跃的效应,这些效应对于理解系统非常重要。 |
| |
1 信噪比,但对于标准方法来说,这仍然是一个真正的挑战,以便对其进行建模,我们将在演示中讨论这个问题。 |
| |
所以,真正的问题是,我们能否识别出所有这些重要的效应?如果可以,我们能否建立一个包含所有这些重要效应的模型?正如我所说,这将是非常了不起的成就。 |
| |
与我们用标准方法所能做的相比。 |
| |
然后是案例研究#2,皮特? |
| 彼得·赫什 |
是的,绝对如此。和菲尔的案例研究非常非常相似。我们给生物体喂食不同浓度的不同营养物质,并监测其生长速度,思路是一样的。在这个案例中,我简化了菲尔的做法,将其分解为三个营养因素。这就是 |
| |
构建不同类型的设计,即 I 最优过饱和设计,其中我们关注的是完整的响应面 |
| |
以超饱和的方式,我们观察了六、八和十次运行 |
| |
设计。同样的想法。 |
| |
该该 |
| |
效果非常非常 |
| |
高信噪比,所以如果这些效应有效的话,我真的希望能够识别出来。和菲尔一样,我保留了二次函数中的主效应以及截距,我们正在尝试识别它们。 |
| |
同样的想法,那么我们需要运行多少次才能看到这些活跃的效果,以及我们能从这些非常小的设计中得到多么精确的模型? |
| 菲尔·凯 |
是的,因为你知道,就像我说的,你真的没有权利期望能够从如此小的设计中构建出一个好的模型。 |
| 彼得·赫什 |
是的,没错。好的。 |
| 菲尔·凯 |
现在我将介绍案例研究#1 的演示。 |
| |
我通过 JMP 项目来展示这一点,所以这是一种非常好的展示结果的方式。我建议你尝试一下。 |
| |
这就是我们的 |
| |
设计,这是我们进行了13次确定性筛选设计,其中我们改变了这些营养因素,并模拟了生长率响应。正如我所说,这是模拟的, |
| |
主要影响,所有这些因素的二次函数都非常活跃,另外我们还必须估计这个截距。 |
| |
现在,通过确定性筛选设计,我通常建议您使用适合确定性筛选作为查看结果的一种方式,作为您可以进行的分析之一。 |
| |
当效应稀疏性原理成立时,它的效果非常好。所以,只要只有少数效应强烈活跃……其余的效应不重要, |
| |
然后它会找到那些……少数重要的影响并将它们与不重要的影响区分开来。 |
| |
但这次我没想到它会有效,结果也确实没那么好。它没能识别出所有六个因子都处于活跃状态。事实上,它只识别出其中一个因子处于活跃状态。 |
| |
所以这并不奇怪,对于这种类型的分析来说,这种情况太困难、太具有挑战性了。 |
| |
如果我们知道所有这些活跃效应都是活跃的,并且我们尝试用所有六个主要效应、所有六个二次效应和截距来拟合一个模型, |
| |
那么这就是一个饱和模型。我们需要估计的参数和数据行数一样多,所以我们勉强可以拟合这个模型,但我们得不到任何统计数据。 |
| |
无论如何,你知道,除了我模拟了这些数据之外,在现实生活中,我们不知道哪些是活跃的,所以我们甚至不知道适合哪个模型。 |
| |
现在,使用自动验证方法,我实际上能够非常令人信服地识别出活性效应,我将讨论我们是如何做到这一点的。 |
| |
这只是我的结果的可视化。你不一定需要这样可视化。这只是为了演示目的。 |
| |
首先,我能确定拦截是有效的。我已经得到了所有六个主要效应, |
| |
以及我的二次效应,然后是我的双因子交互作用,我模拟了它的零效应。你可以看到它们都下降了 |
| |
与其他因素相比。实际上,我们在这里使用了一个零因子……也就是虚拟因子。任何小于零因子的因素,我们都可以声明为不重要或无效的,如果你愿意的话。 |
| |
我们实际上……我们这里关注的指标是“比例非零”,我会在讲解过程中解释它的含义。这是我们在这里用来识别效应强度和重要性的指标。 |
| |
我先简单说一下我是怎么完成的。我采用了最初的13次确定性筛选设计,然后设置了自动验证,这样我们现在就有了26行重复数据。 |
| |
有一个插件可以实现这一点,我们的一位同事 Mike Anderson 创建了一个插件,您可以在 JMP 15 中使用它来实现这一点。 |
| |
在 JMP 16 中,他们实际上在验证列平台的预测建模工具中添加了该功能。 |
| |
这样做的目的是,我们得到这组重复的数据,然后得到这个权重,正如 Pete 所说,我们有...每一行都在训练集和验证集中。 |
| |
如果一个样本在训练集中的权重较低,那么它在验证集中的权重就会较高。所以,如果一个样本在训练集中的权重较高,那么它在验证集中的权重就会较低。 |
| |
我们实际上所做的是,我们阅读......这些基本上是随机分配的。 |
| |
我们重新分配了这些参数,并能够进行数百次迭代,每次都拟合模型,然后查看汇总……多次模拟运行的汇总结果。那么你会怎么做呢? |
| |
是为了拟合模型,我在 JMP Pro 中使用 GenReg。 |
| |
无论如何您都需要 JMP Pro,因为您需要能够指定此验证角色,所以我们将...训练验证列放入验证中。 |
| |
权重会作用于频率,然后我们像平常设置响应一样设置其他所有参数。这样我就得到了一个模型,也就是包含所有这些效应的响应面模型,然后点击“运行”。 |
| |
它会拟合一个模型,我们可以使用前向选择或套索。在这里,我使用了套索。 |
| |
在这种情况下,这并不是很重要。 |
| |
实际情况是,我们只确定截距在这种情况下是重要的,所以我们在模型中实际上只得到了截距。 |
| |
但是如果我们改变权重,如果我们回到数据表重新模拟这些权重,我们可能会从模型中得到不同的结果。 |
| |
我们对不同行的数据、实验中的不同运行进行加权,这会改变拟合的模型。所以我们要重复数百次,我实际上要用的是 JMP Pro 中的模拟功能。 |
| |
我们的做法是,把加权列换成重新计算后的加权列。你可以重复几百次。我这次实际上做了250次。我不会让它一直运行,因为那会花一两分钟。 |
| |
完成之后,您将得到如下所示的表格。 |
| |
现在我已经得到了这 250 个模型中每个效应的参数估计值。所以 |
| |
在我运行的第一个模型中,这是柠檬酸主效应的参数估计值。在下一个模型中,当我们重新采样权重时, |
| |
柠檬酸的主效应没有进入模型,因此在这种情况下它为零。 |
| |
实际上,你可以对所有这些参数估计进行分布。你可以做的一件事是 |
| |
自定义这个统计数据,也就是汇总统计数据,来查看非零的比例。所以你可以在这里看到截距。 |
| |
我们对截距的估计。你可以看到,对于柠檬酸来说,很多时候它被估计为零,所以这些模型是, |
| |
柠檬酸的主要效应不在模型中,很多时候它被估计为大约 3,这也是我模拟的结果。 |
| |
所以我们要看的是非零次数的比例,然后我们可以用这些数据创建一个合并数据表。我已经这样做了,只是做了一点点…… |
| |
这里有一些额外的增强。我刚刚添加了一列,表示它是主效应还是其他什么,然后我就这样创建了 |
| |
这张可视化图表。所以你看到的是每个效应不为零的次数比例,也就是每个效应在我们的模型中出现的次数占所有效应的比例。 |
| |
我们进行了 250 次模拟,重新模拟了分数加权。这就是我们用来识别 |
| |
活性效应,而且……它做得非常出色。它做到了我们标准方法无法做到的事情。它在13次运行中识别出了13种活性效应。 |
| |
确定性筛选设计。 |
| |
现在,你接下来想做什么?我们或许想用所有这些效应来拟合这个模型,我已经做到了。我正在比较我拟合的模型 |
| |
与真实的模拟响应相比,你可以看到它们是多么接近。所以我能够建立一个包含所有这些主效应、二次函数和截距的模型。 |
| |
所以我这里有一个 13 参数模型,我可以将其适配到这个 13 次运行的最终屏幕设计中,这再次令人惊叹。 |
| |
我不会详细解释我是如何走到这一步的。现在我把时间交给Pete。他会更详细地讲一下自我验证集成模型的概念。 |
| 彼得·赫什 |
当然。谢谢你,菲尔。我看看。我会在这里分享我的屏幕,然后我们一起看看这个项目。所以 |
| |
你可以在这里看到 |
| |
在同一个 |
| |
就像菲尔一样,我们正在看一个项目,我 |
| |
从六次运行过饱和 DOE 开始,你可以看到,我有三个因素, |
| |
我的实际基础模型增长率是多少,然后增长率...模拟增长率是多少,然后就像菲尔提到的那样, |
| |
我创建了这个自动验证列,可以使用 Mike Anderson 开发的 JMP 15 插件来完成。或者在 JMP 16 中,它内置在软件中,您可以在分析预测建模平台下访问它,创建验证列。 |
| |
正如菲尔所展示的,他提供了一个绝佳的例子,展示了如何找到哪些因子是活跃的,也就是因子筛选。这通常是我们DOE的主要目标,但如果我们想更进一步,以此为基础构建一个模型, |
| |
我们会经历同样的过程,对吧。所以我们构建了实验设计 (DOE),并在该实验设计中添加了自动验证,然后我们构建了模型,就像 Phil 展示的那样,使用广义回归和其中一种 |
| |
变量选择技术。Phil Ramsey 和 Chris Gotwalt 研究了许多不同的技术,它们似乎都运行良好。所以,无论你使用 Lasso 还是两阶段前向选择,它们似乎都有类似的结果, |
| |
效果相当好。所以一旦你设置好并启动它,你就会得到一个模型,就像菲尔展示的那样,你知道其中一些模型会有 |