扬声器 | 成绩单 |
| 乔丹希勒 | 出去。 |
| 菲尔·凯 | 好的,谢谢您加入我们。 我是菲尔·凯。 我是 JMP 的学习经理,我将以 SVEM 的交互式示例开始本次演示,SVEM 是自我验证的集成建模。 |
| 我将介绍 SVEM 是什么及其工作机制,然后 Pete 和 Trent 将分享示例, |
| 案例研究和模拟,真正解释了您为什么要这样做。 我只是要在一个 |
| 非常简单的案例研究,所以一开始看起来可能不是为什么……可能不清楚为什么你想要这样做,但希望在我解释完之后你会理解这个机制。 |
| 好的,我现在要停止我的视频,只关注这里的软件演示。 |
| 我们这里有一本 JMP 日志,我们正在与您分享,因此您可以从 Community.JMP.com 的 JMP 社区中的帖子访问该日志。 |
| 我们将使用的示例是一个经典的 DOE 示例。 这是反弹数据,您可以从 JMP 的帮助文件中获取该数据。 |
| 所以这是三个因子,15 次运行。 这是 Box-Behnken 设计,我们在那里得到了响应,它是拉伸的,所以非常简单,标准, |
| 传统的老式 DOE。 |
| 对这些数据进行建模并没有真正的挑战,我们看看我们是否适合一个响应曲面模型,这种曲线行为、二次效应以及因素之间的相互作用也很重要。 |
| 那么让我们看看如何使用 SVEM 方法对此进行建模。 |
| 因此,如果我们要使用 SVEM 对此进行建模,您首先会注意到我们有 30 行数据,因此我们实际上复制了每一行数据,这可能看起来有点疯狂。 这可能看起来像作弊。 这是 SVEM 方法中的一个关键技巧。 |
| 您会看到我们在这里有一些额外的列,其中关键的一个是验证权重。 因此,让我们绘制一下它,以便您了解它的含义。 |
| 所以你可以看到,对于我们的每一行数据,我们的每次运行,我们实际上都有成对的运行,所以运行第一,你可以在这里看到。 |
| 实际上,我们将每个运行的权重分配到训练集(为零)或验证集(为 1)中。 你可以看到每对 |
| 这些权重成反比。 因此,例如,在这里运行第七个,您可以看到它在训练中的权重很大,验证集为零,并且在验证集中相应地权重较低。 |
| 现在这些已经被随机分配,我们可以...... |
| 通过单击此处,我们可以重新绘制它们,以便重新分配权重。 同样,如果一行在训练集中具有较重的权重,例如,此处的第六行在训练集中具有较重的权重,则它在验证集中的权重相应较低。 |
| 因此,我们将此处的数据行加倍。 |
| 我们将用它来进行自我验证。 所以我们实际上可以做的是,我们可以使用保留验证的变体,其中 |
| 我们要做的不是将一行数据完全保留到验证集中,而是保留每行数据的一部分,这样每一行实际上都可以在训练集和验证集中,重要的是,我们可以重新分配这些权重 |
| 重复,这在集成建模时就可以了。 |
| 好吧,总结一下,我们基本上已经重复了每一行数据,并且我们为这些数据分配了权重,使得某些行在训练中更多,而有些行在训练中更多。验证集。 |
| 现在我们可以使用验证来拟合模型。 |
| 所以我们在这里使用 GenReg,你可以看到我们正在使用验证集(并且忽略那里的错误消息)。 |
| 我们使用 Lasso,并使用验证作为模型选择。 而且,在这种情况下,实际上没有在模型中选择任何活动效果。 所以它适合响应面模型,我们使用验证作为选择方法,使用套索, |
| 并且我们已经确定没有任何效果实际上是活跃的,因此我们有一个实际上没有活跃影响的模型。 |
| 然后我们可以做的是再次重新绘制这些权重,这样我们就可以重新调整列的权重。 |
| 我们可以看到,这次我们得到了一个不同的模型。 因此,实际上一些效应现在变得活跃,因此二氧化硅在二氧化硅和硫之间的相互作用中是活跃的。 |
| 让我们保存该模型。 |
| 所以现在,随着我们的 |
| 数据表,您可以看到我们在那里保存了模型公式列。 |
| 让我们再次重新绘制这些权重。 因此,我们再次重新绘制它们,以便某些行在训练中更加重要,其中一些行在验证中更加重要。 |
| 我们又得到了一个不同的模型,现在让我们保存它。 所以我们现在有 |
| 两行...两列,保存了预测公式。 |
| 我们可以再次这样做。 所以我要重新绘制权重并保存预测公式。 我刚刚有一个脚本可以为我们做到这一点。 然后实际上创建了这个模型平均值,因此我们实际上对三个保存的模型进行了平均。 |
| 因此每个单独的模型都使用不同的验证权重。 |
| 每个模型都不同,有些模型比其他模型更好。 关键是当我们将它们平均起来时, |
| 这些的平均值是迄今为止最好的模型。 所以你可以看到这实际上看起来非常接近我们使用标准方法拟合的原始模型...... |
| 原始数据集。 |
| 我们可以继续这样做。 我们可以重复这个动作 10 次,所以我们要重复这个动作。 你可以看到重新绘制权重;每次我们得到的模型都略有不同。 |
| 我们可以保存每个不同的模型。 |
| 最终得到的平均值可能是最好的模型。 |
| 事实上,如果我们将其与我们从这些数据的标准分析中看到的原始模型进行比较, |
| 您可以看到这两个模型实际上非常接近。 |
| 因此,在这种情况下,使用这种自我验证的集成建模确实得到了与使用标准模型相同的模型 |
| 线性回归。 |
| 所以我想回顾一下你们所看到的要点。 正如我所说,我们将继续由 Pete 和 Trent 介绍,他们将解释想要使用这种新颖的建模技术的动机。 |
| 我们所做的是复制原始数据行。 |
| 那么这意味着,我们可以应用随机权重来表示每对行中有多少是在训练中,有多少是在验证中。 |
| 这使我们能够使用验证。 我们无法将其用于如此小的数据集。 完全保留一行数据是没有意义的,但是我们可以用这个重复的集合做什么 |
| 就是进行加权验证。 因此,在这种情况下,我们使用套索选择来拟合模型,并且套索选择利用了这个加权验证列。 |
| 然后我们重新绘制这些权重。 我们再次为这些行对随机分配不同的权重,然后重新拟合模型。 而且,在我们的例子中,我们重复了 10-15 次,但在实践中,为了获得良好的自我验证集成模型,我们希望重复此过程 100 次或更多次。 |
| 每个模型都是它自己......迭代过程的每个步骤中的每个单独模型并不是特别有用,但是模型平均值或整体是,正如我们在最终模型中看到的那样,我们实现了所有这些迭代的平均值。 |
| 所以,现在我想把它交给皮特,他现在将讨论一个案例研究,这实际上说明了为什么您想要使用这种不寻常的方法来建模这样的数据。 |
| 彼得·赫什 | 非常感谢,菲尔。 我要继续在这里分享我的屏幕。 |
| 让我们通过一个例子来了解何时我们可以 |
| 使用这个方法。 所以我在这里 |
| 首先查看结果,因此我们正在研究一些非常小的 DOE 设计,因此有 6 次运行、8 次运行和 10 次运行 DOE,具有三个因子。 |
| 这些是响应曲面设计,本质上是超饱和到饱和的,它们都是最佳设计,所以这些运行次数非常少 |
| 来实现我们的目标。 这就是我们要去的地方。 那么让我们回顾一下设计以及我们是如何做到这一点的。 |
| 所以。 |
| 这是一个案例研究,我们试图通过调整不同的营养组合来最大化微生物的生长速度。 正如我之前提到的,我们正在使用超饱和 I 优化设计,并且我们正在调整运行次数。 |
| 这是模拟数据,其中所有主效应以及所有二次方程都处于活动状态。 |
| 那么这是如何设置的,我们从三个因素开始。 我设计了我的模型。 如果您之前没有在 JMP 中设计过饱和或超饱和设计, |
| 做到这一点的方法是尽可能对待那些不是主效应的效应,这样您就可以减少运行次数或与模型效应相同的运行次数。 然后我在那里生成了我的设计。 |
| 并经历了菲尔如此精美地描述的这个过程,即对数据进行重新采样,获得那些反......反比例权重,这是这个过程的关键。 |
| 我们已经进行了几次会谈,我只有这些的二维码。 |
| 这项技术是由 Chris Gotwalt 和 Phil Ramsey 开发的,他们在之前的几次演讲中介绍了该技术。 还有这最后一个 |
| QR 代码是一个插件,用于在旧版本的 JMP 中设置此验证列。 从 JMP 16 开始,您可以在软件中本地执行此操作,但如果您有 JMP 15,则需要使用此插件设置。 |
| 正如菲尔所说,所以 |
| 个别模型可能不太适合数据,有些模型可以很好地拟合,有些则没有任何条件。 |
| 但这只是这里的示例,您可以在其中看到每个单独的模型。 有些只是截距,有些不太适合,偶尔的模型效果很好。 |
| 所以这就像菲尔描述的那样,每个都有不同的重新计算权重。 所以我们得到了一个稍微不同的模型,我们将继续将它们保存下来。 这是第一步。 |
| 下一步是我们对这些模型进行平均。 正如您所看到的,当您对这些模型进行平均时,越来越多的模型,模型拟合度会越来越好。 因此,单个模型并不是很好,但总体平均模型给了我们很好的拟合度。 |
| 我想谈的最后一步是这些模型本质上是有偏见的。 正如您在菲尔制作的第一个模型中看到的那样,其中没有主动效果。 所以 |
| 当您对模型执行某些模型或变量选择技术时,您偶尔会得到一个未输入该特定变量的模型。 |
| 因此,如果我们查看这些分布,您可以看到 |
| 所有这些都是主动效应,它们的分布在 5 左右,即效应大小,但它们也有一个 0 的条形。 |
| 所以我们不会经常高估效果,因为我们得到 0 来抵消这一点,所以这将偏向一个较低的值,所以我们要做一个 |
| 消除这些模型偏差的小技巧,我们 |
| 将此模型视为最小二乘模型中的预测变量,这将消除这些偏差,我将逐步完成此过程,向您展示这是如何完成的。 |
| 但最终我们得到了非常好的结果,我在极少数的运行中分享了这一结果。 因此,这就是为什么您使用 SVEM 的动机是能够预测并创建一个不错的模型,并且比不使用该技术时运行次数更少。 |
| 好吧,让我们跳到这里的 JMP |
| 和 |
| 完成该过程。 |
| 好的,这是我展示的该示例的六次运行 DOE,其中我们有三个因素和增长率。 这是我们建立模型之后的情况。 |
| 这就是它看起来的样子,我们现在已经经历并运行了。 所以我们有六次运行和六次结果。 我们的下一步是创建验证列并在 JMP 内部执行此操作,我们将直接分析预测模型, |
| 创建验证列,然后我们将创建一个自动验证表,而不是验证列。 |
| 好吧,我就是这么做的。 我已经完成并完成了该过程,因此我不会重复该过程。 |
| 但这是数据及其重新采样的数据和负相关的权重,就像菲尔演示的那样。 您的体重较高,而重复跑步的体重较低。 完成之后,我们将进行检查并制作模型。 |
| 在本例中,我使用了 GenReg 模型,您想要选择一种变量选择技术。 所以如果我继续运行这个,我想做一些类似前向选择套索的事情 |
| 或这些选择技术之一。 特伦特将更详细地介绍这些选择技术以及他们研究了哪些技术。 |
| 因此,在我运行模型后,您会看到 JMP 已完成并选择了一些处于活动状态的效果。 它捕获了一些,但你可以在这里看到 |
| 我们看到的这种偏差,这两个主要效应都应该是活跃的,但结果却为 0。 所以当我将其保存到数据表时, |
| 我将像菲尔展示的那样创建一个新专栏,然后我将重新计算该重量并一遍又一遍地进行。 这是一个简单的脚本,可以执行 100 次,并且 |
| 我们很乐意分享这一点。 只需将您的脚本、模型脚本复制并粘贴到此处即可非常容易,并且能够重现我们在这里所做的事情。 |
| 好的,这就是最终结果,我们已经通过了 DOE、我们的结果,然后我们得到了 |
| 我保存的 100 个模型 |
| 并隐藏在这里。 然后是最终的模型,即 |
| 所有 100 个模型的平均值。 我们要做的最后一步是去偏步骤。 所以我们要做的就是治疗这个 |
| 平均模型作为增长率的预测因子。 |
| 所以在这里,你可以看到我们的原始模型 |
| 有一个更陡的斜率,所以它有一个不错的 R 平方,但它并不像我们希望的那么好。 我的意思是,即使有六次运行,这......六次运行也很合适,但是 |
| 如果我们能够消除这种偏见,也许我们可以做得更好一点。 设置非常简单。 我们只取增长率。 我们的回应是我们的 Y。 我们添加 |
| 这里是整体模型,是所有模型的平均值 |
| 个体模型作为我们的预测器。 我们运行这个并得到一个结果,你可以看到它是一个比预测图更好的实际结果。 如果我们在那里进行比较,你会发现消除这种偏见会对积极的方向产生很大的影响。 |
| 是的,所以在我把它还给特伦特之前,我想再展示一个 |
| 幻灯片在这里,这基本上只是一个总结 |
| 我们... (我的任务栏丢失了)...我们强烈鼓励你们使用 |
| 并检查一下这个技巧,但这并不是一个在任何情况下都有效的神奇技巧。 但是当你在筛选设计和类似的事情中检查这一点时,这可能是一个非常好的技术,它将 |
| 帮助您完成使用标准建模技术可能无法完成的事情。 接下来,我将把它传递给特伦特,他已经 |
| 关于如何完成此操作以及 |
| 那里的信息。 那么特伦特,你想把它拿走吗? |
| 特伦特·莱姆库斯 | 是的,谢谢你,彼得。 我很感激。 |
| 所以 |
| 我正在分享我的 |
| PDF。 我只是想确保这确实是共享,并且每个人都可以看到。 |
| 彼得·赫什 | 是的。 |
| 特伦特·莱姆库斯 | 好吧,太棒了。 所以 |
| 正如 Phil 和 Peter 所介绍的,他们提出了案例研究,我认为这些案例研究是非凡的轶事,展示了 SVEM 的力量以及何时以及为何使用 SVEM。 |
| 我们为目前正在同行评审过程中的研究论文所做的是,我们进行了大量的模拟研究,以展示……凭经验了解 SVEM 在预测环境中的表现。 所以 |
| 接下来...我要展示一系列幻灯片。 我知道这可能会显得有点无聊和干燥,但我认为有必要讨论细节 |
| 在我进入一些更有趣的事情之前,这是我们如何使用的一个例子...... |
| 以我们如何使用 JMP、JSL 以及我如何运行模拟为例,向您展示一些输出以及结果。 |
| 因此,首先也是最重要的是,我们模拟研究的纲要和目标主要是 |
| 我们想要创建真实世界的模拟架构。 因此,我们希望我们的模拟能够尽可能地模仿现实世界的工业能源部。 |
| 其次,我们想了解当代模型构建或当代模型选择技术以及 SVEM 在主要关注纯预测时的表现如何, |
| 干净利落。 因此,我们想看看当我们将模型拟合到设计中时,它如何预测事实或保留的数据集,或者请原谅我的口音,数据。 |
| 由此,如果我们能够在计算上可行的情况下多次模拟这些独特的运行,我们希望进行现实世界的推理……我们希望……推断出尽可能接近现实世界的结果,以便我们能 |
| 规定设置以及在何处以及如何使用 SVEM,因为 SVEM 才刚刚起步。 |
| 那么,首先也是最重要的,我们在模拟中使用了哪些设计? 我们使用了明确的筛选设计 |
| 我们使用 Box-Behnken 设计,其中我们设计中的底层真实生成模型是完全二次模型,或更通俗地称为二阶模型。 我们选择这些设计的原因是因为 A) 对于最终的筛选设计, |
| 主效应越多,模型就越饱和,然后超饱和,这意味着主效应越高,自由度就越小。 鉴于您的 Box-Behnken 设计以及我们使用的主要效果, |
| 你不会遇到这种情况。 所以我们有一个......我们有两个场景之间的并置,其中一方面我们有 |
| 在应用模型选择技术时,我们的 Box-Behnken 设计有足够的自由度来估计我们的系数,并且在最终的筛选设计案例中,我们几乎有 |
| 在大多数情况下,我们的设计都是超饱和的,因此自由度不足。 换句话说,简单地说, |
| 我们无法估计使用当代模型构建技术时的所有效果,例如您的前向选择,例如您的套索,您的 Dantzig 选择器等等, |
| 这引导我们了解我们用于模拟的实际模型算法。 因此,对于 SVEM 模型,请记住,如果您... |
| 如果您不太了解 SVEM 是什么,那么回顾一下 Peter 之前提到的一些演示非常重要。 |
| 但我们必须将 SVEM 与底层模型构建技术结合使用,例如前向选择、前向剪枝和 Lasso,这就是我们用于模拟研究的技术。 |
| 在我们的非 SVEM 模型案例中,我们使用相同的模型构建算法,但我们还结合了 Dantzig 选择器,这在 DOE 中非常流行, |
| 以及与最终筛选密切相关的适合最终筛选设计;它没有用于其他设计。 |
| 此外,我们使用称为 AICc 或校正 AIC 的信息标准,这在 DOE 中非常常见,并且实际上因选择非常简约的模型而臭名昭著。 |
| 因此,正如您所看到的,我们正在尝试结合工业 DOE 使用中非常流行的当代技术,这坚持我在最初的幻灯片中展示的核心...核心点,即 |
| 我们希望通过模拟研究尽可能接近地模仿现实世界,这样我们就可以使这些经验...... |
| 因此我们可以凭经验评估这些不同的模型构建算法如何进行预测。 希望我们能够从经验上证明 SVEM 的性能或优于其竞争对手。 |
| 因此,对于实际的模拟结构,我们对每个模型构建算法运行了 1,000 次模拟。 举例来说,如果我们用 AICc 拟合正向模型, |
| 这 1,000 次运行中的每一次我们都会生成一个真实的模型,即事实,然后我们会向其中添加噪声。 |
| 高斯噪声(这在学术界和......进行研究时很常见), |
| 从而创建一个训练集(如果你愿意的话)和一个真相集,这样,一旦我们拟合了模型,我们就可以看到该模型如何根据真相进行预测。 我们随机重新运行并重新生成这些数据集 1,000 次。 |
| SVEM 超参数(我不会详细介绍它是什么),我们使用的 nBoot 为 200。 简而言之,我们基本上拟合了 200 个模型,并对这些模型进行平均以生成最终的 SVEM 模型。 |
| 这些设计还针对多个功能进行了迭代。 所以主效应的数量 |
| 对于最终的筛选设计,我们有四个主效应和八个主效应。 对于我们的 Box-Behnken 设计,我们有 |
| 三个主效应和五个主效应。 这意味着什么,举个例子,对于我们的 DSD,例如,其中 K 是 8,则有八个主效果。 如果您有完整的二次模型, |