如何在模型中正确考虑事件?大家好,
我想咨询你的建模。
我有一个带有响应 Y 和参数 X1、X2、X3 等的过程。
对过程的分析历时 3 年。 我现在想收集所有数据来分析整个过程。 问题是与工艺相关的机器在这3年中经历了一些变化,甚至出现了一些危害。 在特定日期,它们都被标识为 Evt_A、Evt_B、Evt_C。 为了得到良好的Y建模,我想不仅考虑参数X1,X2,X3等,还要考虑事件A,B,C等,以了解它们是否有真正的影响和量化他们的影响。 目前,我已将事件作为分类列引入,其值为 -1 和 +1,-1 表示“事件发生前”,+1 表示“事件发生后”。
我问自己以下问题:
1. 这是唯一的方法吗?
2. 这是正确的方法吗?
3. 如何在拟合模型平台中正确引入这些事件? 我应该使用特定属性吗? 交互可能吗?
我提前感谢你能给我的所有帮助。
真挚地,
斯蒂芬·乔治
分析回复:如何在模型中正确考虑事件?我的一个问题是这些事件是否都是不同的,或者它们是否可以聚合?就个人而言,我会将事件编码为 (0,1),如果可以将它们视为相同,则可以将事件简化为单个变量,指示它是否是事件时间。如果它们都不同,那么我怀疑每个事件都需要不同的指标变量。另一个问题是事件是否仅限于它发生的时间,或者事件时间之前或之后的时间段是否会受到事件的影响。换句话说,如果与事件时间的接近很重要,那么我将根据它们与事件时间的距离来编码所有时间段(例如 -3、-2、-1、0、1、2、3) .如果您可以提供有关事件性质及其影响的更多详细信息,那么我认为讨论适当的建模选择会更容易。我使用了事件分析——但应用于监管事件而不是机器事件。在这种情况下,重要的是不要过分关注实际事件时间,因为监管“事件”通常在很大程度上是可以预料的。当无法预见的政治“事件”发生时,指标变量方法更有意义。我怀疑机器事件更加离散,但这仍然取决于这些“事件”的性质。
回复:如何在模型中正确考虑事件?嗨,戴尔,
谢谢您的回答。 我会尝试更明确。
我有一个我正在尝试建模的激光焊接工艺。 在过去的 3 年中,我在我们的机器上使用各种等级和厚度的材料进行了超过 25 次 DoE。 我收集了所有这些知识和经验,以便创建焊接模型来正确预设机器。
在这 3 年中,这台机器在技术上继续小步发展。 在不同的时间,已经发生了变化(例如设计),可能会影响(或不影响)激光焊接现象。 因此,并非所有测试都是在相同条件下进行的。 我想考虑它们以评估它们的影响,并尽可能地消除它们,以便回到纯焊接参数的影响。 因此,即使事件是准时的,它们的影响也会在时间上持续存在。 这就是为什么我在谈论之前和之后。 我同意以 0/1 形式考虑效果(0:效果不存在,1:效果存在)。
因此,及时我们可以:
.....................T1....................... T2………………………………………………………………………………………………………………………………
-------------------------------------------------- -------------------------------------------
答:000000000000111111111111111111111111111111111111111
B: 0000000000000000000000000011111111111111111111111
在 T1 之前,测试独立于事件 A 和 B 的影响。 在 T1 之后,测试中必须考虑事件 A 的影响 在 T1 和 T2 日期之后,必须考虑 A 和 B 的影响。 日期本身并不重要,我感兴趣并想评估的是 A、B 等的影响。
回复:如何在模型中正确考虑事件?如果事件在某种意义上“相等”,我会简单地记录在每个时间点应用的事件数量。然而,似乎每个事件都有其独特的特征。这意味着您需要一个更复杂的功能来识别每个时间点出现的一系列效果。您可以通过在每个时间点连接所有 0/1 事件数据来创建这样一个变量 - 但是,我怀疑您没有足够的数据来对可能产生的大量特征进行建模。我认为减少特征数量的关键在于事件是累积的——也就是说,它们是在以前的事件之上添加的。如果您愿意只关心事件的数量(回到我的第一点),那么它只是每个时间点的事件数量。您可能能够识别出一些与其他事件不同/更重要的“关键”事件,并为这些关键事件使用指标变量 - 结合每个时间点的事件累积数量。
其他人可能对此类数据有更好的建议。我没有处理过这样的事情。
回复:如何在模型中正确考虑事件?你好@stephanegeorges ,
如果您想汇总您在此设备上收集的所有 DoE 数据,但记录机器设置的潜在变化(在 DoE/时间段之间),则可以引入一个新列,如“更改”或“设置”(默认情况下是分类的,除非您有更多信息可以通过数值连续值更准确地描述设置的变化),并且对于每个 DoE 或时间段,请指明它是在哪个条件下运行的。
示例:设置“A”(初始设备设置)时的 DoE 1 至 14,然后“B”处的 DoE 15 至 20,“C”处的 20 至 24...
我看到了两个建模/分析选项,具体取决于您希望如何在模型中设置此“更改”参数(作为固定效应或随机效应):
- 如果您只有有限的可重现更改(并且没有其他可能的未来设置更改),您可以将此新列视为分析中的固定效应。 然后你可以通过“Fit Least Squares”、“Stepwise”或“Generalized Regression”(JMP Pro)和你的其他效果来分析它,你会估计你遇到的每个级别的可能变化,所以你会能够非常精确地量化变化对响应的影响(例如,从 A 到 B 的更改设置将如何增加/减少响应)。
- 如果这些更改只是设备可能(和未来)更改的一小部分,因此您更想知道设备设置的更改是否导致方差更改,您可以将此新列视为随机通过“混合模型”或“广义混合模型”(JMP Pro) 指示此变量是随机效应来影响并分析您的结果。 然后,JMP 将为您提供 REML 分析(方差分析以了解此随机效应是否显着,即检查设置更改时方差是否有显着变化)。
这里有一个关于固定效应与随机效应的有趣讨论: https://community.jmp.com/t5/Discussions/Random-vs-Fixed-Blocking-Factor-in-DOE/td-p/461632?trMode=source
如果/需要时,这可能是在进入更复杂的建模之前进行分析的第一种方法。
我希望这会给你带来新的分析思路:)
回复:如何在模型中正确考虑事件?我的想法...
1. 为什么要对机器进行更改? 您之前的“大量”实验是否表明应该进行这些更改? 更改可以撤消吗? 这些变化是否对改变“系统”产生了足够大的影响?
2.如果这些变化确实产生了影响,那么你在变化之前形成的其他因素之间的关系可能会完全不同。 如果设计因素与所做的更改有任何相互作用,那么使用更改之前的数据可能没有用(除非您愿意改回来)。本质上,您可能已经更改了推理空间,而之前的关系可能根本没有用。 在这种情况下,继续...
3. 我可能会尝试创建一个列,对时间序列(1、2、3...)的变化进行编码并进行拟合模型经过那一栏。 这些变化的因子效应是否一致?
回复:如何在模型中正确考虑事件?嗨,戴尔,
我的事件确实不是同等重要的。 直觉上,有些可能对我的回答影响不大,而另一些则影响更大。 经过一些测试,仅考虑事件的数量并没有帮助……但这是一个很好的观点,值得测试。
谢谢你的支持。
回复:如何在模型中正确考虑事件?嗨维克多,
我最初介绍了几列,因为由于效果的累积性,我认为一列不能代表这种情况。 尽管如此,我还是按照建议进行了(使用您的符号):
DoE_01 A <= 初始情况
DoE_02 A
...
DoE_10 A
DoE_11 A+B <= B 添加(我认为效果有限但重要)
DoE_12 A+B
...
DoE_16 A+B+C <= C 添加到 A 和 B (同注)
...
我将新列作为固定效果引入并继续进行,暂时(我需要详细查看您的其他建议),使用“Fit Least Squares”进行简单分析。 使用这种技术,感兴趣的不是每个模态的值,而是 A 和 (A+B) 之间(以获得 B 的效果)之间、(A+B) 和 (A +B+C) (获得 C 的效果)等。当然,如果事件之间存在交互,则此技术不起作用(我认为没有任何作为第一个近似值)。
目前,分析器显示一致的结果:
- 响应中事件列中的 + 或 - 变化至少在物理上是可以解释的
- 控制过程的参数 X1、X2 等,针对这些小影响进行了校正,也更加一致。
这是个好消息! ......即使,我不知道,但有一些事情让我对影响的累积性质感到困扰。 我不能完全确定它,但我不确定我是否以这种方式正确地考虑到它。
尽管如此,非常感谢您的帮助。