在设计实验时,一个常见的诊断方法是效应的统计功效。Bradley Jones 就此主题撰写了多篇博客文章。本质上,给定一个特定的模型,我们检测到不可忽略效应的概率是多少?当然,要做到这一点需要一系列假设/规范,例如效应大小、误差和检验的显著性水平。如果您不熟悉这个主题,我建议您阅读一些之前的博客文章。
如果我们的响应是连续的,并且我们假设一个线性回归模型,那么我们可以使用“设计评估”下“功效分析”大纲中的结果。但是,如果我们的响应基于通过/失败数据,并且我们计划在每次实验运行中进行 10 次试验,该怎么办?对于这种响应,我们可以拟合逻辑回归模型,但不能使用“设计评估”大纲中的结果。尽管如此,我们仍然对功效感兴趣……
该怎么办?
我们可以进行文献综述来了解如何估算功效,并希望找到适用的方法(并针对将来出现的每个具体案例都这样做)。但是,运行蒙特卡罗模拟更为直接。为此,我们需要能够根据指定的逻辑回归模型生成响应。对于生成的每个响应,拟合模型,并对于每个效应,检查 p 值是否低于某个阈值(例如 0.05)。这在以前版本的跳转中使用 JSL 实现,但需要对脚本编写有一定的了解,特别是编写公式脚本和从 JMP 报告中提取信息。此外,您还需要花时间编写脚本。在JMP Pro 13中,现在只需单击几下鼠标即可执行蒙特卡罗模拟。
听起来很棒
第一次看到新的一键模拟功能时,我欣喜若狂,思考着它在设计实验中的可能用途。使用一键模拟功能的关键要素是包含带有随机成分的公式的列。如果您读过我之前关于改进的 DOE 模拟响应的博客文章,您就会知道我们已经有一种方法可以生成这样的公式,而无需自己编写。
1. 创建设计,然后勾选“模拟响应”来制作表格
在此示例中,我们有四个因子 (AD),并计划进行八次运行的实验。我假设您熟悉使用自定义设计器,但如果不熟悉,您可以点击此处了解自定义设计平台。此示例的设置方式与我们文档中的示例基本相同。
在单击“制作表格”按钮之前,您需要确保已从自定义设计平台顶部的热点中选择了“模拟响应”。 
2. 设置模拟
创建数据表后,我们现在需要通过前面描述的“模拟响应”对话框设置模拟。在“分布”下,我们选择“二项式”,并将 N 设置为 10(即设计中每行进行 10 次试验)。在这里,我为 AD 选择了一些系数,其中因子 D 的系数为 0(即该因子处于非激活状态)。我将使用的“模拟响应”对话框如下: 
点击“应用”按钮后,我们将得到一个“Y 模拟”列,用于模拟 10 次试验中成功的次数,以及一个表示试验次数的列(用于拟合模型)。为了便于建模,我将“Y 模拟”列复制到了 Y 中。 
如果我们查看 Y Simulated 的公式,我们会发现它可以根据“模拟响应”对话框中给出的模型生成响应向量。 
3. 拟合模型
现在我们有了模拟响应的公式,接下来需要为模拟响应建立模型。在本例中,我们需要收集重复逻辑回归分析对模拟响应的影响的 p 值。首先,我们需要对单个响应进行分析。如果我们启动“拟合模型”平台,我们可以将试验次数添加到响应角色 (Y),并将“个性”更改为采用二项分布的广义线性模型。我的“拟合模型”启动界面如下所示:
点击“运行”按钮来拟合模型。报告中我们感兴趣的部分是“参数估计”概要。
对于初始模拟响应,发现 A、B 和 C 是活跃的,而 D 不是(这是正确的)。当然,这只是针对单次模拟而言的。我们可以继续模拟新的响应向量,并跟踪每个效应的 p 值,或者,我们可以使用一键模拟,让它为我们完成这些操作。
4. 运行模拟
这篇博文中我们感兴趣的列是“概率>卡方”。右键单击该列打开菜单(如果您安装了JMP专业版 ),在底部、引导程序上方,我们可以看到“模拟”选项。
弹出的对话框中包含“切换出列”和“切换入列”两个选项。对于我们的模拟,我们不想使用响应值 Y,而是想使用“模拟 Y”,因为它包含随机二项式公式。我们最初使用“拟合模型”时,也可以不使用 Y,而是使用“模拟 Y”,并将其自身切换出来。样本数是指模拟响应值的次数。这里我将其保留为 2500。
现在我们只需点击“确定”,让它运行即可。短暂等待后,我们将看到一个数据表,其中包含“拟合模型”对话框中每个效应对应的一列(以及模拟 ID,SimID),以及 2501 行数据——第一行是原始拟合结果,标记为已排除,其余每行分别对应我们 2500 个模拟响应中的一个结果。这些值是“拟合模型”中每个效应的 p 值。
一键模拟功能还预先在数据表中填充了一个分布脚本,并且由于它识别结果是p值,因此还提供了另一个名为“功效分析”的脚本。运行“功效分析”脚本会提供每个效应的p值分布,以及一个名为“模拟功效”的摘要,其中包含不同alpha水平下的拒绝率。例如,如果我们查看因子B的效应,我们会发现在alpha = 0.05时,2500次中有2103次“无效应”的零假设被拒绝,拒绝率(经验功效)约为84%。

我通常会右键单击其中一个模拟功效表,然后选择“创建组合数据表”。这将生成一个数据表,其中列出了四个不同 alpha 水平下每个项的拒绝率。这样可以更轻松地在“图形生成器”中查看结果,例如 alpha = 0.05 的结果。 
现在我们可以看到,我们具有较高的功效来检测 A 和 B 的效应(回想一下,它们的系数最大),而 C 和截距约为 50%。由于 D 在我们的模拟中处于非活动状态,因此拒绝率约为 0.05,正如我们预期的那样。假设 C 的效应正确,我们可能担心功效达到 50%。由于能够轻松执行这些模拟,因此可以简单地返回“模拟响应”并更改设计中每行的试验次数,然后再运行另一个一键式模拟。同样,我们可以创建一个更大的设计来观察其对功效的影响。我们甚至可以尝试使用二项分布的广义回归进行建模。
最后的想法
对我来说,这项新功能的关键在于它能让您轻松应对不同的“假设”场景。尤其是在筛选阶段,因为在分析数据时使用模型选择技术并不罕见。现在,您可以获得与您计划使用的分析相匹配的经验功效计算结果,并帮助您识别分析过程中可能出现的陷阱。虽然在 JMP 13 之前就可以实现这一点,但我通常没有时间在每次考虑设计时都创建自定义公式。在我使用一键模拟的短暂时间里,创建公式和运行模拟的便捷性让我获得了一些原本无法获得的洞见,它已成为我工具箱中的一个重要工具。