通过选择分析 > 预测建模 > 生成验证列启动“生成验证列”平台。
图 12.3 “生成验证列”启动窗口
有关“选择列”红色小三角菜单中选项的详细信息,请参见《使用 JMP》中的““列过滤器”菜单”。
“生成验证列”启动窗口提供以下选项:
分层列
分配一个或多个分层列。
分组列
分配一个或多个分类分组列。
割点列
分配一个数值型割点列。
割点批次 ID
分配割点列时,还可以为割点批次 ID 分配一个列。这样您就能够确定“割点批次 ID”列的每个水平中的割点值。
提供三种验证方法。
生成验证列
基于指定的分层、分组和割点列创建验证列。由指定的分层、分组和割点列确定的验证列方法在该框下进行了说明。选择某种方法并点击“确定”后,可以在“生成验证列”报表中为每个集指定分配。请参见指定比率或相对比率和设置割点。有五种方法可用于构造保留集:除“割点验证”外,所有这些方法也用于创建 K 折验证所用的折。请参见生成 K 折验证列。
随机验证列
在启动窗口中未分配任何列时所用的默认方法。该方法基于在“生成验证列”报表输入的分配将数据划分到各个集或折中。
分层验证列
分配了一个或多个分层列时所选的方法。该方法基于指定的分层列的水平将数据划分为均衡的各个集。与在“随机验证列”方法中一样,基于在“生成验证列”报表中输入的分配将行随机分配给保留集或折。不过,分配时针对的是分层列的每个水平或水平组合。当需要均衡表示每个训练集、验证集和测试集中的列水平或 K 折交叉验证中的每个折时,可使用该方法。
分组验证列
指定了一个或多个分组列时所选的方法。该方法通过以下方式将数据划分到各个集中:将指定列的全部水平或是两个或更多列的水平组合都放置在同一个集或折内。出于该原因,结果集的大小会与您指定的大小稍有不同。若在保留集或折之间拆分水平不可行,则使用该选项。
按组分层验证列
同时指定了分层和分组列时所选的方法。该方法划分数据以均衡分层列中的水平,同时要求指定的各组一同保留在同一个保留集或折中。正如在“分组验证列”中那样,可以将组创建为指定列的水平或是两个或更多列的水平组合。结果集的大小会与您指定的大小稍有不同。
割点验证列
指定了割点列时所用的方法。该方法基于时间序列割点将数据划分到各个集中。若您想要基于时间期间将数据分配到保留集,可使用该选项。训练集包含第一个割点与第二个割点之间的行。验证集包含第二个割点与第三个割点之间的行。测试集包含其余行。这些集是基于“设置割点”报表中的选项而选择的。
生成自动验证表
创建一个新的数据表,其中包含与原始数据表中的行拼接的原始数据表中的行的副本。可用于交叉验证的新数据表有四个附加列:
有效集
为原始数据指定值 0,为复制数据指定值 1。该列中的值指定训练集和验证集。在分析的启动窗口中的“验证”角色中使用该列。
有效 ID
分配原始观测的行号。这允许为每个原始观测匹配训练和验证集行。
有效权重
分配要在分析的启动窗口中的“频数”角色中使用的自动验证权重。对于有效 ID 的每个值,为训练观测和验证观测生成相同的均匀随机数。对于训练集,有效权重计算如下:
有效权重 = -log(1- 有效均匀)
对于验证集,有效权重计算如下:
有效权重 = -log(有效均匀)
构造有效权重列,以使训练数据权重与验证数据权重负相关。这样可以确保验证数据拟合的差异生成拟合方法的有效交叉验证。
空因子
为有效 ID 的每个值指定相同的正态随机数。
提示:对小数据表使用“生成自动验证表”,其中使用一个子集作为训练数据可能会导致估计问题。
生成 K 折验证列
根据指定的分层和分组列,创建具有四个或更多类别的验证列。每个类别都表示要用于 K 折交叉验证的一个折。Y 列用于对行进行排序,然后将每行顺序分配给一个折。由指定的分层和分组列确定的验证列方法在该框下进行了说明。这些方法与生成验证列中所述的方法相同。选择某种方法并点击“确定”后,可以在“生成验证列”报表中指定折数 K。请参见设置折数。
分层、分组或割点列中的缺失值会导致该行的验证列中有缺失值。