但工程问题不一定适合用多项式描述。有些响应更像幂函数,有些具有指数衰减特征,有些存在周期性变化。我们可能已经知道大致的数学关系,只是不知道公式中的系数是多少。
今天的主角 Parametric Surfaces(参数化响应面),就是把已有的工程认识写进公式,再用训练数据寻找其中的未知参数。
“The algorithm will identify the combination of parameter values that yield the best fit with the training data.”
—— modeFRONTIER 2026R1 User Guide · Parametric Surfaces
Parametric 指“由参数控制”。例如:
改变 a 和 b,曲线的高度、增长或衰减速度就会变化,但公式的基本结构不变。
这里有三个不同的角色:
训练时,每个 DOE 点的 x 和 y 已经确定。算法改变的是 a、b,让公式尽量贴合这些数据。
训练完成后,a、b 确定下来。再输入一个新的 x,就可以快速预测 y。
不是。一个输入时可以画成曲线,两个输入时可以画成三维曲面。更多输入时,数学模型仍然存在,只是不容易直接画出来。
这里的“曲面”是响应面模型的统称,不是 CAD 中的几何曲面,也不限制只能使用两个输入。
不会。Parametric Surfaces 在你指定的结构中寻找参数,不会自动决定真实关系应该是幂函数、指数函数,还是其他物理方程。
如果响应具有饱和趋势,但你只给它一条直线,它只能寻找“最合适的直线”,不能自动把直线变成饱和函数。
参数拟合得再努力,也无法弥补根本不合适的公式结构。
假设我们研究流量与压降关系,并根据已有经验,尝试使用:
其中,x = Q/Q₀ 是无量纲流量比,Q₀ 是预先选定的参考流量,不参与拟合;y 是压降,单位 Pa;a、b 是待拟合参数。
这样处理后,a 的单位为 Pa,b 为无量纲指数。
下面是教学构造数据,不是实际测量结果:
算法使用残差平方和 RSS:
RSS 越小,表示这一组参数在训练数据上的整体拟合越好。
先试 a = 20、b = 2,候选模型为 ŷ = 20 · x²:
得到:
RSS = 4 + 1 + 16 + 1 + 9 = 31
如果改成 a = 18、b = 2,同一组数据的 RSS 就变成 4319。因此,在这两组候选参数中,a = 20、b = 2 明显更好。
算法还会继续调整 a、b,寻找更小的 RSS。上面只是解释原理的候选模型,不是一次实际 modeFRONTIER 训练的输出。
假设最终参数接近 a = 20、b = 2,当新流量比 x = 2.5 时:
这个过程只是在计算一个简单数学函数,不需要重新运行完整 CFD 模型。
但 125 Pa 仍然是代理模型预测值。重要设计和最终优化结果,仍应使用真实仿真或试验验证。
不是。Parametric Surfaces 在 modeFRONTIER 的分类中属于逼近型 RSM,追求整体拟合,不要求预测值精确等于每个训练值。
上面的残差没有全部变成零,就是一个直观例子。
在 Parametric expression 中,可以自己编写公式,也可以通过表达式编辑器的 Function type 选择预定义函数。
表中是典型数学形式,实际生成的表达式以所选输入和编辑器设置为准。只有部分预定义函数提供多项式次数等相关设置。
Nth degree Terms 中,N 是指定的次数。例如 N = 2,就是拟合 a · x²。
Power function 中,b 也是未知参数,可能得到 1.7、2.1、2.8,并不限定为整数。
推文中的 y = a · xᵇ 是数学表达。编辑器中应使用软件支持的函数写法,例如 a*pow(x,b);指数函数可写成 a*exp(b*x)。
不要把排版中的乘号、上标直接当成程序语法复 制。刚上手时,优先使用预定义函数,再检查生成的表达式。
Algorithm type 提供两种参数训练方法:Levenberg-Marquardt(简称 LM)和 Genetic algorithm(遗传算法)。
它们解决同一个问题:改变公式中的参数,使训练数据的 RSS 尽量小。
多项式可能对输入 x 呈现弯曲,但通常对未知系数是线性的:
未知系数直接乘在已知基函数上。
而对于 y = a · exp(bx),b 位于指数函数内部,参数拟合一般需要迭代数值优化。
所以,“曲线对 x 是弯的”与“模型对参数是非线性的”,不是同一件事。
LM 是经典的非线性最小二乘方法,结合了梯度下降与 Gauss-Newton 方法的特点。
一个实用思路是:先用合理的公式和参数范围尝试 LM;如果结果对初始化敏感,再用遗传算法及不同种子作比较。
不能把“更稳健”理解成“一定更准”,也不能把“训练停止”理解成“已经全局最优”。
这里选择遗传算法,是让它训练 RSM 参数,不是自动创建一个真实仿真优化流程。通常,训练只使用已有数据,不会因为每个循环都重新调用一次 CONVERGE 或 JMAG。
RSM parameters 表中,需要设置未知参数的 Lower bound 与 Upper bound。
例如,对 y = a · xᵇ,给出一组教学示例范围:
这些是 a、b 的范围,不是输入变量 x 的范围。范围应结合单位、数量级和工程认识确定,不是通用推荐值。
选择 Fixed,参数搜索必须遵守上下界。例如 a ∈ [0,100],结果不能随意变成 a = 120。
如果参数具有明确的物理限制,Fixed 更符合这种要求。
选择 Floating,上下界只作为算法初始化的范围参考,后续搜索可以超出范围。
所以,即使表中写 a ∈ [0,100],最终也可能得到 a > 100。这不一定是软件忽略设置,而可能正是 Floating 的预期行为。
Fixed
Floating
如果 b 多次训练都等于上界 4,需要检查范围是否过窄、公式是否遗漏重要项、数据与单位是否正确,以及参数是否可被稳定确定。
不要一看到“碰边界”,就直接把范围无限扩大。先判断扩大是否具有工程意义。
Training cycles 是参数训练算法的最大迭代循环数。
它不是 DOE 点数、真实仿真次数,也不是并行计算数量。
增加循环数可以给算法更多搜索机会,但不能保证模型变好。公式选错了,增加循环数也无法修正结构;已经收敛后,提高上限也未必有收益。
一个循环可能包含多次函数评估,不能把“100 个循环”直接理解成“只试了 100 组参数”。
Accuracy 是 LM 的收敛停止条件,用于判断相对于上一轮训练,改善是否已经足够小。
以概念示例说明:某个拟合目标从 100 改善到 99.95,相对改善约为 0.05%。变化已经很小,但目标本身仍可能很大。
“已经很难继续改善”和“预测已经足够准确”,是两件事。
Accuracy 越小,通常要求更细的收敛,但仍受 Training cycles 上限限制,也不保证验证误差更小。这个停止条件针对 LM,不能直接照搬成遗传算法的预测精度要求。
随机种子控制随机序列。在相同数据、公式、算法设置和软件环境下,固定种子有助于复现结果。
换种子不一定会得到不同参数。如果问题存在一个稳定、容易找到的解,多次训练也可能收敛到相近结果。
保留重复样本,也可能改变相应工况在拟合中的相对权重。“去重”并不是任何情况下都更好。
如果已有合理的公式结构,可能只需要估计少量参数,不必展开大量通用多项式项。这相当于把工程知识提前写进模型。
但前提是,这个结构确实适合当前问题。
除了样本数量,还应考虑数据是否覆盖使用范围、能否区分各参数、噪声大小,以及是否保留独立验证数据。
参数少,只代表模型精简,不代表训练数据可以随意减少。
假设公式写成:
数据主要能确定的是 a+b。例如 a = 2、b = 3,与 a = 1、b = 4,预测完全相同。
这叫参数不可辨识:数据无法分别确定 a 和 b。
所以,拟合出一组数字,不等于每个参数都具有唯一、可靠的物理解释。
官方给出的最大推荐训练集规模为 5000 个设计。应理解为推荐规模,不应直接写成“任何情况下严格不能超过的上限”。
官方说明,报告主要包含所选变量与算法设置、表达式、参数上下界、训练得到的参数,以及最大/平均绝对误差、最大/平均相对误差和潜在异常点 ID。
官方帮助的演示报告显示 TRAINING COMPLETED,但同时:
同一报告还有参数恰好达到设置的 ±10 边界。
真实输出接近零时,相对误差可能很大,要结合绝对误差和工程容差判断。RSS 是训练目标,也不代表 Function Log 一定单独显示 RSS 栏目。
不应直接删除。Chauvenet 准则识别的潜在异常点,可能来自求解错误、单位问题、真实工况变化,也可能是当前公式遗漏了重要机制。
异常点提示是检查入口,不是“坏数据”的最终判决。
在 RSM Training 向导中选择另一张验证表,或者把已有数据拆成训练集与验证集。
训练集确定参数,验证集检查未参与拟合的数据。
关注验证误差、关键工况、边界表现,以及残差是否具有系统性变化。例如低流量总是低估、高流量总是高估,可能意味着公式结构存在偏差。
Parametric Surfaces 的官方配置列表没有列出 Polynomial SVD 中的 Compute leave-one-out errors 选项,不能照搬前两篇的参数面板。
它们不是“一级比一级高级”。关键是在当前数据和使用范围内,哪一个模型经过验证后更可靠。
不一定。复杂公式会增加未知参数、搜索难度和过拟合风险,也可能引入参数之间的补偿。应从有依据的简洁结构开始。
不是。Fixed 固定的是上下界,参数仍在范围内拟合。
不是。它是 LM 的迭代停止阈值,不是预测误差指标。
不一定。还要考虑公式、单位、数据范围与可辨识性。有些参数只是当前范围内的有效拟合系数。
不能。参数由有限范围内的数据确定,超出训练范围仍需验证。
先检查验证误差,再使用模型;最后用真实仿真确认重要结果。
需要注意。官方帮助说明,Parametric Surfaces 导出到目标代码格式时,原始 JavaScript 表达式并不一定自动转换成目标语言中的可执行表达式,可能需要手动改写并校验。
“导出成功”不等于“换一个环境后公式一定正确”。
Polynomial SVD 帮你拟合多项式,Stepwise Regression 帮你挑选多项式项,Parametric Surfaces 则让你把已有的工程认识写进公式,再用数据确定未知参数。
它的价值不是完全替代工程判断,而是把工程判断与数据拟合结合起来。
公式要有依据,参数要能确定,模型要经过验证——三件事缺一不可。
更多 RSM 算法内容,持续更新中……