在 JMP DOE 中验证随机运行顺序和设计有效性
大家好,
我目前正在使用 JMP 创建的实验设计 (DOE),并希望评估随机化运行顺序的质量。虽然 JMP 在设计生成过程中会自动随机化运行顺序,但我仍想客观地评估这种随机化的有效性。
我尤其想了解 JMP 是否提供内置功能或既定工作流程来:
- 检测运行序列中的趋势、系统模式或漂移,
- 识别因子水平的聚类或非均匀分布,
- 进行正式的随机性统计检验(例如,游程检验、自相关性检验或独立性检验),
- 或者用其他方式量化运行顺序与真正随机化的接近程度。
如果 JMP 没有提供直接评估此类问题的方法,是否有推荐的 JSL 脚本、插件或最佳实践方法来评估 DOE 执行顺序中的随机性?
此外,我还想了解 JMP 是否提供工具来验证在手动重新排列运行顺序后,实验设计的完整性和统计特性是否得以保留。
感谢您提供的宝贵见解。
贝叶斯骑士
实验设计回复:在 JMP DOE 中验证随机运行顺序和设计有效性嗨@BayesKnight ,
欢迎加入社区!
我认为至少有两种方法可以帮助您检测由于模型拟合选项中可能缺乏随机化或时间敏感性而导致的响应趋势:
- 图形选项:按行绘制残差图:此图可以帮助您检测由观测值的行排序产生的模式。
- 统计检验选项: Durbin-Watson 检验:用于检验残差是否存在一阶自相关的统计量。仅适用于行按时间顺序排列的情况(实验顺序与数据表中的顺序相同)。
您还可以使用其他图形或统计选项,例如控制图(利用控制图和韦斯特加德规则评估因子水平的分布是否符合趋势)和时间序列分析选项。您还可以通过层次聚类检查点的聚类是否不平衡或是否创建了有序的行组。最后,您还可以使用多元分析平台检查因子和行顺序之间是否存在显著相关性。
通过“评估设计”平台进行的设计评估不会考虑不同评估中行的顺序。如果您在运行设计时怀疑可能存在时间趋势,并希望使因子水平的重新分配能够抵御任何时间趋势的影响,您可以查看以下文章:
https://community.jmp.com/t5/RD-Blog/How-to-create-an-experiment-design-that-is-robust-to-a-linear/ba-p/30138
自定义设计中按定义顺序排列的协变量
希望这个回答对您有所帮助。
回复:在 JMP DOE 中验证随机运行顺序和设计有效性嗨@Victor_G ,
非常感谢您的热情接待和提供的信息。我想澄清一下,我的主要目的是在实验执行前评估随机化运行顺序的质量。一旦收集到数据,就无法解决非随机排序可能造成的问题。请问有什么方法可以评估随机化运行顺序的质量吗?
回复:在 JMP DOE 中验证随机运行顺序和设计有效性从你最初的帖子来看,你想“量化运行顺序与真正随机化的接近程度”。
你告诉我真正的随机化是什么样子,我或许就能找到一种方法来量化我离它有多近。
最终,DOE实验的随机化就像一份保险,可以防范与时间或实验顺序相关的未知/意外误差源。如果这些误差源存在,它们就会在收集到的响应数据中体现出来,这就是@Victor_G提供这一见解的原因。
只要使用可靠的随机数生成器(JMP 就拥有可靠的随机数生成器),任何随机模式通常都是合适的。某些特定情况可能并非如此,但您需要了解这些特定情况。
例如,假设一台设备总是会在生产的第四件产品上出错。在这种情况下,一个有效的随机模式可能恰好使某个因素每四次就处于高设置值。对于一个8次运行的设计来说,这种情况非常可能发生。但这肯定会影响结果。在进行分析之前,尤其是在验证结果时,你无法得知这一点。我曾在现实世界中见过类似的情况,即使使用了“有效”的随机模式。
最后,您提到的统计分析和性质都基于模型误差项独立同分布的假设。手动重新排列实验设计(DOE)的运行顺序不会影响这一假设。事实上,如果您确定每次运行都是真正独立的,甚至无需进行随机化。大多数人进行随机化是为了防范那些未知的误差源(如上所述)。如果手动移动设计运行顺序会影响独立性,那么您的设计(和分析)就应该考虑这些时间因素。
希望这些信息对您有所帮助。请记住,所有实验都应该经过验证,即使是 1、2、3、4、5 这几个数字顺序也可能是一种随机模式!
回复:在 JMP DOE 中验证随机运行顺序和设计有效性我提供一个不同的视角。有很多“技巧”可以在实验后评估实验策略的有效性。我建议花更多时间在计划上。我认为实验中的随机化是一种防止某些未识别、未经测试的因素(我称之为噪声)与实验中的某个因素混淆的技术。我认为我们可以做得更好。那么,这种噪声效应究竟是什么?你想了解这种噪声效应吗?使用随机化可以避免分配(休哈特)。我想了解的是噪声。哪些噪声是显著的?我该如何将噪声引入实验?如何才能使实验对噪声具有鲁棒性?我同意GEP Box的观点:
“能阻止的就阻止,不能阻止的就随机化。”
他的意思是,如果你能识别出噪声,那么将噪声与区块混淆比随机化更有效。它是可分配的。对于你无法识别的噪声(我不确定为什么你无法识别),则进行随机化。
我推荐两篇论文:
Youden, WJ,《随机化与实验》,《技术计量学》,第14卷,第1期,1972年2月
Hwan, Marilyn (2000),“随机化还是不随机化,这是一个问题”, ASQ统计分会通讯,第17卷,第1期,26页
回复:在 JMP DOE 中验证随机运行顺序和设计有效性嗨@BayesKnight ,
除了其他人已经阐述得很好的观点之外,我还想提出几点其他想法供大家参考。
1. 在进行实验之前,您计划如何量化 DOE 的顺序?如果实验运行取决于某些条件(样品状态、设备、烤箱温度,或者您在 DOE 中没有考虑的因素),那么这将在数据中体现出来,但只有在您完成所有实验运行之后才会出现,并且可以按照之前讨论的方式进行评估。
2. 如果你真的想事先测试一下实验设计(DOE)的随机性,你可以生成成百上千个DOE,如果你有前20次运行记录,就可以统计每次运行被选中的频率。如果生成的DOE足够多,你应该不会发现选择过程中有任何规律。但是,接下来该选择哪个DOE呢?哪个最随机?你可以编写一个JSL脚本来完成这项工作,而且应该不会花费太多时间。当然,你应该非常谨慎地定义你的DOE,确保没有任何隐藏因素会影响结果。即使你进行了这样的分析,它仍然无法解释任何影响运行顺序的隐藏变量。
3. 完成实验设计(DOE)后,如前所述,有多种方法可以评估实验运行的随机性(按行计算残差是一个很好的起点)。我还想指出,您可以添加一列“运行顺序”,并将其纳入分析,以确定结果是否对运行顺序存在任何统计学上的显著依赖性。您甚至可以添加一个“零因子”(请查阅 JMP 中的自动验证功能——虽然有 JSL 代码可用,但它并非内置功能),该零因子是一个完全随机的因子,任何统计上小于或等于该零因子的因子都可以被忽略。
前期规划至关重要,而且往往会占据讨论时间的很大一部分。精心设计的实验设计(DOE)比设计不周的DOE分析起来更省时,也能更快地获得更多洞见。在这方面,请考虑以下问题:是否有理由认为顺序很重要?如果“是”,原因是什么?这种影响从何而来?我们如何在设计中加以考虑?还有哪些因素可能会影响结果?我们能否考虑这些因素?信号中的噪声来自哪里?我们如何才能最大限度地减少噪声,或者在DOE中将其考虑在内?
希望这能帮到你!
DS
回复:在 JMP DOE 中验证随机运行顺序和设计有效性嗨@Dan_Obermiller ,
感谢您的详细回复。
您说得完全正确。根本不存在“完美”或“真正”的随机化方法。不过,有些随机化方法确实比其他方法更好,因为它们可以避免一些不良模式(例如,因子水平连续出现多次相同、周期性结构等)。
因此,我希望探索 JMP 是否提供工具来客观地评估这些方面,而不是仅仅依赖于对随机数生成器的信任或目视检查。
我正在寻找其他方法来评估运行顺序的质量,尤其是在一些微妙的时间相关风险或设备行为可能会影响结果的情况下。
再次感谢您的见解,它们非常有帮助。
回复:在 JMP DOE 中验证随机运行顺序和设计有效性嗨@SDF1
谢谢回复。
我完全同意实验设计中的定义/计划阶段至关重要,这正是我提出这个问题的原因。我希望从尽可能完善的设计入手,并在执行前确保随机运行顺序的稳健性。
我意识到可能存在我们无法预见的隐藏变量,但我的主要关注点是:
- 如何生成稳健的随机运行顺序
- 如何在进行实验前评估其质量。
再次感谢您的见解。
回复:在 JMP DOE 中验证随机运行顺序和设计有效性如果您希望避免因子水平分布中的模式,或许探索模式平台可以帮助您检测不希望出现的单变量模式?
在研究随机化过程中的任何模式(这些模式本身也是随机化过程的一部分)之前,您是否使用“评估设计”平台评估过您设计的特性和性能?样本量/统计功效不当或混叠结构不足可能导致的失败情况,可能比随机化过程中可能存在的模式更多。
回复:在 JMP DOE 中验证随机运行顺序和设计有效性嗨@BayesKnight :我一直很关注这个问题……说实话,也有些困惑。在我看来,你问的是:JMP 生成的“随机”运行顺序是否真的随机?正如@Dan_Obermiller所说,“只要使用可靠的随机数生成器(JMP 的确有可靠的随机数生成器),任何随机模式通常都是合适的。” 当然,即使是“可靠的”随机数生成器,也大多是伪随机数生成器。因此,它们通常使用某种算法来生成具有随机序列属性的随机数序列。所以,答案是“是的”。
一种简单的随机化运行顺序的方法是为每次运行生成一个均匀分布 (0,1) 的数。然后根据该均匀分布 (0,1) 的数对运行顺序进行重新排序。
不过,我的问题是:是什么促使你提出这个问题?
回复:在 JMP DOE 中验证随机运行顺序和设计有效性嗨@statman
感谢您的回复以及分享的参考文献。
我同意有很多方法可以评估一个设计,但正如你所提到的,大多数方法都是在实验结束后才使用的。
我的目标是避免等到最后才发现问题,那时已经为时过晚,无法纠正了。
我并非质疑随机化或分组的目的,只是想尽早发现任何潜在问题。特别是,我想事先检查随机顺序是否会意外引入可能削弱设计的模式或趋势。
再次感谢您提供的宝贵意见。
回复:在 JMP DOE 中验证随机运行顺序和设计有效性嗨@BayesKnight ,
JMP 会为您的 DOE 生成可靠的随机运行顺序,您无需担心(甚至不应该担心)。JMP 在该领域已领先超过 35 年。如果他们的软件不可靠,他们肯定无法继续存在下去。
即使你在进行实验设计(DOE)之前就找到了量化和评估播放顺序的方法,最终也只是在测试JMP的随机化算法,以确定它是否“真正”随机。正如@MRB3855提到的,没有哪个(数字)随机数生成器是真正随机的。以你最喜欢的音乐应用为例,测试一下它们的“随机”播放功能。实际上,它们的“随机”播放是有限制的,因为它们会优先播放播放列表中的每首歌一次,然后再“重新随机化”列表。这并非真正的随机顺序。
我也同意@MRB3855的观点,是什么促使你提出在运行DOE之前就评估随机性这个问题呢?你为什么认为JMP不能提供可靠的随机运行顺序?
如果你有任何历史数据表明情况确实如此,那么我建议你首先花更多时间规划实验设计(DOE),并使用分块或其他方法来解决这个问题。我不会妄加猜测JMP的运行结果,也不会假设是他们那边出了问题——更有可能的情况是,实验设计一开始就没有规划好。
DS
回复:在 JMP DOE 中验证随机运行顺序和设计有效性嗨@BayesKnight 。我同意@MRB3855 的观点,这个讨论串很有意思。这里有很多经过深思熟虑的精彩回答,提供了不同的视角。不过,你似乎对每个回答都不满意,正如前面提到的,你好像只是想知道有没有办法评估“随机性的质量”。我的确认为随机就是随机,有时即使某些东西是随机的,我们肉眼看到的模式也可能不认为它是随机的。
除了观察因子水平的顺序并判断它们是否“足够混乱”之外,我目前还不知道有什么公认的统计方法可以评估随机性的质量。或许答案就是继续这样做,不断随机化,直到得到一个看起来最混乱的顺序?有人可能会认为(作为一名统计学家,我可能也会这么认为),这样做会使运行顺序产生偏差,并可能消除随机性。
一个不太专业的解决方法是,将因子绘制在 y 轴上,运行顺序绘制在 x 轴上,然后使用热图,用因子水平(-1、0、+1)的颜色来表示。我想这或许能帮助你直观地判断是否存在任何规律。
