此加载项有助于为可能包括行之间相关性的数据创建验证列,这些相关性可能是由于自相关或其他因素(包括影响连续行的噪声)引起的。 数据按行分组,然后将组分配给训练或验证。 还有一个选项可以同时使用分组和分界点验证,因此验证组分布在时间上,而最后一行在测试集中。 用户会看到一个默认建议,在分析连续过程数据时可能比使用标准验证平台更有用。 如果选择了目标变量,则会显示图表以帮助用户可视化训练/验证拆分。
这是使用 JMP Pro 版本 16 和 17 创建的。它未在标准版或旧版 JMP 上进行测试。
找到这个项目GitHub ,随时在那里提交问题或拉取请求。
动机
默认情况下,验证平台将行随机且单独分配给训练和验证。 当行是独立的时,这是理想的,但是如果一行依赖于前一行,这种拆分将导致对模型预测能力的不切实际的期望,因为训练集中的信息基本上用于验证和测试模型。实际上,在时间序列中,这通常使用切点验证来解决@ian_jmp和@朱利安为此开发了一个很棒的插件:创建时间序列验证列.对于许多探索性模型来说,使用最新行并不是最好的方法,尤其是当最近的变化促使分析时。从训练集中挑选行组增加了最近数据仍可用于模型的可能性,同时最大限度地减少了训练组和验证组中出现单个噪声源的可能性。
备择方案
在某些情况下,使用行之间的相关性来分析数据的其他两种方法更好,但并不总是可行的:
- 减少数据表以具有真正独立的行,从而消除一行与前一行相关的可能性。有时,将每一列有效地汇总成独立的行非常棘手或耗时。例如,如果用户不知道流程开始时一个变量中的 15 分钟事件 2 天停留时间会影响他们的目标,则用户可能不知道如何在 2 天或更多天中总结该变量为了得到独立的行。
- 建模或预测自相关。 时间序列平台是一个很好的起点,在多变量模型中包含一系列滞后变量可以提供对该过程的许多额外洞察。对于具有数百个变量的复杂过程,这是耗时且复杂的,而且它们往往超出了新用户的技能范围。
用户界面
如果适用,用户选择目标变量。 默认情况下,第一个用于分层,尽管这并不总是影响拆分,具体取决于组和表的大小。默认验证类型是分组,并提供推荐的组大小。

显示有关目标变量的一些信息以帮助用户确定合适的组大小。

'Under the Hood' 细节
建议的组大小基于对每个目标变量的时间序列分析。该平台选择一个延迟时间,其中接下来几行的自相关小于 0.1,然后确保小表中的组数最少,并增加大表中的组大小。
变化
这是最新版本的更新,完整的更改列表可在 github 上的 CHANGELOG.md 中找到。
添加
改变了
- 仅使用未排除的行计算组大小限制。
- 仅在潜在目标和启动变量列表中显示数字列。
固定的
- 目标列有时会重置为表中的选定列。
- 并不总是使用正确的验证列名称。
- 如果关闭自动刷新选项,则不会更新某些值。
反馈
我们正在寻找与此用户界面相关的建议和想法,以及解决此问题的其他方法。 对于哲学讨论,请随时在讨论论坛和标签@ih和@DrewLuebe引起我们的注意,这将提供足够的讨论空间。
@ih我不这么认为。 你介意打开一个新的愿望物品吗?还是我?
@FN我同意,这将使内置交叉验证对此类数据更有用。 您还没有为此添加愿望清单吗?