JMP中文网站 > 新手入门 > JMP如何用验证集评估预测模型的泛化能力 JMP训练集拟合良好但验证集误差偏大如何分析
教程中心分类
JMP如何用验证集评估预测模型的泛化能力 JMP训练集拟合良好但验证集误差偏大如何分析
发布时间:2026/10/29 14:08:56

  模型在历史数据上拟合得很好,换一批样本,预测误差却明显增加,这时继续提高训练集的拟合优度未必有用。JMP如何用验证集评估预测模型的泛化能力JMP训练集拟合良好但验证集误差偏大如何分析,需要先确认数据怎样划分、哪些样本真正参与了建模,再检查误差集中在哪里。以下以连续响应预测为例,验证列的自动创建及角色设置主要采用JMP Pro功能。

  一、JMP如何用验证集评估预测模型的泛化能力

 

  验证集应模拟模型将来遇到的数据。预测下一批产品,与预测同一批产品中尚未检测的样本,对数据划分的要求并不一样。

 

  1、按应用场景创建验证列

 

  ①在JMP Pro中打开【Analyze】→【Predictive Modeling】→【Make Validation Column】,根据数据结构选择划分方式。

 

  ②需要平衡类别比例时,将相关列加入【Stratification Columns】;同一对象有多条记录时,考虑使用【Grouping Columns】;预测未来数据时,按时间使用【Cutpoint Column】划分。

 

  ③设置【Training Set】、【Validation Set】和【Test Set】比例,随机划分时填写【Random Seed】,点击【Go】生成验证列。

 

  不要为了凑出某个比例拆散同一对象的重复测量。训练集和验证集过于相似,得到的成绩可能很好,却不能代表对新对象的预测能力。

 

  2、确认验证列进入模型设置

 

  ①打开【Analyze】→【Fit Model】,将响应加入【Y】,添加预测变量,选择【Standard Least Squares】,再将划分列指定给【Validation】。

 

  ②运行模型,检查报告是否出现【Crossvalidation】,并核对训练、验证和测试样本数量。

 

  以该平台为例,数值较小的验证列水平对应训练集,其后依次为验证集、测试集。仅在表中增加一列文字标记,并不等于拟合过程已经排除了验证样本。

 

  3、用同一口径比较预测误差

 

  ①在【Crossvalidation】中比较各数据集的【RASE】、【RSquare】及样本数量,不要把训练报告中口径不同的误差指标直接拼在一起。

 

  ②从报告红三角选择【Save Columns】→【Prediction Formula】,保留预测结果,供后续按批次、时间和响应范围检查。

 

  RASE按预测误差平方的平均值开方,与响应使用相同单位。R²还受样本响应波动范围影响,验证集R²下降时,应同时看实际误差,不能只凭一个数判断模型是否失效。

 

  二、JMP训练集拟合良好但验证集误差偏大如何分析

 

  先保留当前模型和划分,不要一看到差距就换随机种子。需要弄清楚的是:模型记住了训练样本中的偶然变化,还是验证数据已经超出原来的适用范围。

 

  1、检查复杂度是否超过数据支持

 

  ①返回【Fit Model】,保留同一验证列,减少缺乏依据的高阶项和交互项,重新运行,比较【Crossvalidation】中的验证误差。

 

  ②分别保存原模型与简化模型的【Prediction Formula】,查看误差改善发生在哪些样本,而不只比较汇总值。

 

  ③打开【Graph】→【Graph Builder】,以预测值和实际值绘图,再检查残差随预测值的变化。

 

  如果简化后训练误差略有增加,验证误差反而下降,说明原模型可能拟合了部分偶然波动。但若两组误差都很大,或残差仍有明显弯曲趋势,还应检查遗漏变量、模型形式和测量噪声。

  2、检查样本差异与数据处理过程

 

  ①打开【Analyze】→【Distribution】,选择主要预测变量和响应,将验证分组列加入【By】,比较范围、缺失情况及类别覆盖。

 

  ②在【Graph Builder】中按时间、设备或批次观察残差,确认误差是普遍增加,还是集中在某个工况。

 

  ③通过【Cols】→【Column Info】检查公式列及数据来源,核对是否使用了预测发生后才知道的信息,以及缺失填补、标准化等处理是否提前利用了验证数据。

 

  例如训练样本只覆盖较低温度,验证样本却大多来自高温段,误差增加可能与外推有关。此时应说明数据覆盖不足,不能只靠增加模型项解决。确认数据录入错误可以修正;真实但难预测的样本,不宜为了降低误差直接删除。

 

  三、JMP如何判断修改后的模型是否值得保留

 

  比较模型时,要给各方案相同的评估条件。反复换数据划分、只留下最好的一次,会让验证结果逐渐失去参考价值。

 

  1、固定划分并保存比较依据

 

  ①保留验证列,通过报告红三角的【Save Script】保存分析设置,另存模型版本和使用的预测变量。

 

  ②比较新旧模型的【Crossvalidation】,同时记录验证误差、样本数量及主要失误工况。需要重复划分或交叉验证时,预先确定方案,不挑选成绩最好的一次汇报。

 

  小验证集容易被少数样本左右。结果波动较大时,应报告这种不稳定性,并检查不同划分下结论是否一致。

 

  2、增加一个简单的对照模型

 

  ①在【Fit Model】中仅保留有业务依据的少量主效应,使用同一【Validation】列重新拟合。

 

  ②比较简单模型与复杂模型的验证【RASE】。若改善很小,再结合维护难度、输入变量获取成本和误差分布决定是否保留复杂方案。

 

  复杂模型训练成绩更好,不足以成为采用它的理由。真正用于预测时,还要考虑输入是否及时、稳定地取得。

 

  3、用未参与选模的数据做最终检查

 

  ①选定模型后,使用此前保留的测试集,查看【Crossvalidation】中的【Test】结果,再检查关键批次和边界样本。

 

  ②通过【Save Columns】→【Prediction Formula】保留预测公式,对后续新批次记录预测值与实测值,按约定误差要求复核。

 

  测试结果一旦被用于继续调参,就不再属于完全独立的最终检验。还需要新的数据,才能重新评估修改后模型的表现。

  总结

 

  JMP如何用验证集评估预测模型的泛化能力JMP训练集拟合良好但验证集误差偏大如何分析,取决于验证数据能否代表将来的使用场景。训练与验证之间存在差距,需要结合模型复杂度、数据覆盖和处理流程解释,不能简单归为过拟合。保留统一的比较条件,并用未参与选模的数据验收,才能知道改善是否可靠。希望这些方法能帮助大家更客观地判断预测结果,有相关需求也欢迎进一步交流。

151 6246 1262