拟合基础操作
本指南说明如何使用当前实现的拟合模块。
使用前准备
请先准备:
- 一个函数值实体,例如
y。 - 一个或多个变量实体,例如
x与z。 - 为每个变量配置合理的范围、默认值与单位。
- 为系数设置初始值与上下界。
推荐命名:
界面布局
拟合工作区主要包含四个区域:
- 表达式编辑器。
- 系数与变量配置区。
- 数据表与图表区。
- 右侧操作按钮区。
步骤 1:定义主表达式
在编辑器中输入表达式,例如:
a * x + b
输入后模块会自动校验并显示:
- 表达式是否有效。
- 引用的变量。
- 引用的系数。
- 未知标识符。
- 标准化后的表达式。
若校验不通过,请先修正表达式再继续。
步骤 2:配置系数
为每个系数设置:
- 符号。
- 当前值。
- 最小值。
- 最大值。
- 是否参与拟合。
最佳实践:
- 采用接近预期解的初始值。
- 避免不必要的过宽边界。
步骤 3:绑定变量
添加表达式中使用的变量并绑定到变量实体。
模块在反演与优化时会使用绑定实体的元数据,包括:
- 默认值。
- 下界。
- 上界。
- 缩放因子(scale)。
- 单位。
步骤 4:填充数据表
数据表包含:
- 计算值列。
- 实际值列。
- 每个变量对应的一列。
常见使用场景:
- 进行正向计算时,填写变量列样本。
- 进行系数拟合时,填写变量列与实际值列。
- 进行目标值反解时,填写实际值列,变量列可作为初值。
右侧操作按钮
计算(Calculate)
点击 Calculate 可基于当前系数与变量样本评估表达式值。
结果:
- 更新计算值列。
- 在结果窗口显示摘要与预测值预览。
拟合(Fit)
点击 Fit 用于根据观察到的值估计系数。
结果:
- 系数面板被回填拟合结果。
- 结果窗口显示拟合诊断信息。
目标值反解(Target Inversion)
点击 Target Inversion 可根据目标函数值求解变量。
结果:
- 变量列会按行回写求解结果。
- 当前实现支持单变量与多变量模型。
多目标优化(Multi-Target Optimization)
当需要同时满足多个加权目标时使用多目标优化。
目标编辑区支持:
- 目标表达式。
- 目标值。
- 权重。
也可以用按钮将当前主表达式复制到空的目标行。
在求解前请检查优化目标校验信息:每条目标必须有效且权重大于零。
结果窗口
结果窗口显示:
- 最近一次操作名称。
- 时间戳。
- 更新的行数。
- 收敛与诊断信息。
- 摘要行。
- 求解出的变量。
- 预测值预览。
将优化结果写回
对于优化结果,结果窗口提供三种写回操作:
- 写入指定行。
- 写入第 1 行。
- 写入全部行。
这些操作会把求解得到的变量值写回到数据表中的变量列。
推荐工作流
- 导航路径:主菜单 → 工具 → 拟合模块 → 拟合
工作流 A:校验并计算
- 绑定变量与系数。
- 输入表达式并等待校验通过。
- 填写变量样本。
- 点击
Calculate。
工作流 B:拟合系数
- 输入表达式。
- 填写变量列。
- 填写实际值列。
- 设置系数初值与边界。
- 点击
Fit。 - 在结果窗口查看诊断信息。
工作流 C:从目标值反演变量
- 输入有效表达式并固定系数。
- 在实际值列填写目标值。
- 点击
Target Inversion。 - 检查回写的变量列。
工作流 D:多目标优化
- 输入主表达式。
- 添加 1 条或多条优化目标。
- 填写目标表达式、目标值与权重。
- 确认目标校验无误。
- 点击
Multi-Target Optimization。 - 在结果窗口查看诊断并按需写回结果。
故障排查
表达式校验失败
请先检查:
- 引用的变量是否已绑定。
- 是否将系数名与变量名混用。
- 表达式是否包含不支持的标识符。
拟合不收敛
请检查:
- 系数初值。
- 系数边界。
- 样本质量与数量。
- 表达式是否存在数值奇异性。
反演或优化结果不合理
请检查:
- 变量范围是否过窄。
- 目标值是否超出可达范围。
- 默认值是否远离期望解。