随机分类因子的模拟实验大家好,
我希望在 Flrpaste.jmp 示例中检查改变连续因子“液体”对响应(“强度”)的影响。 在最终模型中,我将“液体”、“面粉”和“类型”作为因素。
我想执行一个“模拟实验”,对于每个实验运行(由 5000 N 次运行组成),我将“液体”处于唯一级别(4 到 5 之间),“面粉”固定在白色,“类型” " 在水和牛奶之间以相同的概率随机变化(因此每种类型大约有 2500 N 次运行)。 我知道,在模拟实验平台上,我只需在要实验的因素列表下选择“液体”,脚本就会生成一个表格,其中每一行都对应一个这样的实验运行。 问题是,模拟实验只接受分类因素的“固定”类型,所以我不能在牛奶和水之间改变“类型”。
我目前用来解决此问题的一个选项是通过更改下图中的“液体”值并每次记录模拟结果来手动执行此操作。 我只是想知道这是否可以通过脚本轻松完成?
附上修改后的“Flrpaste.jmp”文件——请参考“模拟器”脚本生成如图所示的模拟界面。
谢谢!

分析回复:随机分类因子的模拟实验
@hxnduke写道:
谢谢你的建议, @martindemel
我有点困惑。 在“模拟实验表”脚本中,给出了除 Round(Type) 之外的所有列的值,但您是如何获得这些值的? 另外,看起来 Round(Type) 列是在生成模拟表之后创建的? 那样的话,不是根据1.2、1.6等Type值而不是1或2的round值进行模拟吗?
好吧,我想这是我的错。 总体缺陷率 ODR 是对的(因为其他列是根据数值计算的,并且随后应用了 Round。 要使模型仅考虑 1 和 2,您需要按类型和液体对 ODR 建模。 在保存的预测公式中,您按 Round(Type) 交换 Type,因为我们现在根据模型计算仅 1 和 2 值的 ODR。
然后,您可以使用 log10(newODR) 列调整高斯过程脚本,并在运行之前将该列的响应限制设置为最小化。 在分析器中,您可以看到级别 1 和级别 2 产生影响。 锁定 Round(Type) 并将其设置为 1,然后进行优化。 对 2 执行相同的操作。 并比较结果。 这可能会给你想要的。
然而,也许另一种方法是保存具有分类效果的模型的预测公式。 然后根据需要为连续变量创建一个模拟表,添加一个包含所需级别的随机分类列,并在新列中添加预测列公式。 这将为您提供一个模拟表,其中包含基于在第一个实例中创建的模型的分类值所需的许多级别。
回复:随机分类因子的模拟实验谢谢你的建议, @martindemel
我有点困惑。 在“模拟实验表”脚本中,给出了除 Round(Type) 之外的所有列的值,但您是如何获得这些值的? 另外,看起来 Round(Type) 列是在生成模拟表之后创建的? 那样的话,不是根据1.2、1.6等Type值而不是1或2的round值进行模拟吗? 我完全理解您使用 Round(Type) 列作为模拟实验输入的观点,我只是不太确定在实际进行模拟以计算缺陷率等之前如何做到这一点。
例如,这是脚本的一部分,它显示了如何在 Simulation Experiment Table 脚本中生成强度平均值列:
New Column( "Strength Mean",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[9.22251973143198, 9.52515071457111, 9.13419539683891, 8.40703105322384,
7.77461735393402, 7.52128272230656, 9.09993409369168, 9.55028950380741,
我的另一个问题是,这可以用超过 2 个级别的分类因素来完成吗? 对于我正在进行的研究,有一个有 5 个级别的分类因素,所以我不太确定这是否会起作用,除非我为 Type 添加第二、第三和第四度术语?
作为替代方案,是否可以编写一个脚本来自动化手动,使用“模拟”按钮一次模拟一个过程,但让 Liquid 在 for 循环中运行?
回复:随机分类因子的模拟实验我能想到的在模拟实验中使用分类值的唯一方法就是作弊。
您需要创建一个值为 1 和 2 的连续列,例如 。这可以通过选择类型列来完成。 然后是 Cols 菜单、实用程序、代码标签。 这会将列条目更改为 1 和 d2 并将原始值保留为标签。 当然,您可以为类似的行为创建一个新列。
当您使用模拟时,您可以使用制服。 在创建的模拟实验中,您可以通过右键单击类型列、新公式列、变换、舍入来添加一列。 有了它,您可以创建一个新的 1 和 2 列,它们是均匀分布的。
现在您必须更改模型脚本以使用此列而不是类型列,在此示例中,如果您没有更改任何内容,则需要在脚本中将 :Type 与 :Name("Round[Type]") 进行交换运行模型。
附上对数据表的修改(包括创建 ne 模拟表的脚本)。