1. 课程导入与问题定义
在工程实践中,我们经常面对这样一类问题:系统的结构形式已知,但其中若干关键参数无法直接测量,或者测量代价极高。例如,一台伺服电机的转动惯量与阻尼系数、一段供热管网的等效热阻与热容、一个电池包的内阻与极化电容、一架四旋翼的推力系数与阻力系数。这些参数决定了系统的动态行为,却往往藏在“输入—输出”的响应曲线背后。参数反演(parameter inversion)要解决的,正是由可观测的输入输出数据,反向推断不可直接观测的系统参数这一问题。
需要先厘清三个容易混淆的概念。参数辨识通常指在已知模型结构下,用数据拟合出参数值;参数反演更强调“由果推因”的逆问题属性,往往伴随不适定性(解不唯一、对噪声敏感);参数验证则是对反演结果的可信度作出判断——参数是否物理合理、是否在独立数据上复现了真实响应、是否对扰动稳健。三者构成一条完整链路:建模定结构 → 数据定参数 → 独立检验定可信度。本课程后续所有章节,都围绕这条链路展开。
核心挑战:为什么反演不是简单的“曲线拟合”
第一个挑战是不适定性。不同参数组合可能产生几乎相同的输出轨迹,这叫参数不可辨识。典型例子是一阶惯性系统 \(G(s)=K/(Ts+1)\):当输入为阶跃时,增益 \(K\) 由稳态值决定,时间常数 \(T\) 由上升段决定,二者尚可分离;但若输入变化极慢,输出几乎只反映 \(K\),\(T\) 的信息被“淹没”,此时反演出的 \(T\) 方差极大。这说明激励信号的设计本身就是反演问题的一部分。
第二个挑战是噪声与模型误差的放大。反演本质上是求逆运算,而求逆会放大高频噪声。对输出做差分估计速度、再由速度估计加速度,噪声会被逐级放大。因此实际工程中很少直接“硬求逆”,而是采用最小二乘、极大似然、贝叶斯推断、正则化等带约束或带先验的估计方式。
第三个挑战是可辨识性的先验判断。在采集数据之前,就应通过灵敏度分析判断哪些参数对输出影响显著、哪些参数彼此强相关。若两个参数在灵敏度意义上几乎共线,那么无论数据多长、噪声多小,都无法将它们分开,此时正确做法是固定其中一个或改用能激发差异的工况,而不是盲目增加数据量。
整体学习路径
下图给出本课程的知识主线:从问题定义出发,经建模与可辨识性分析、激励设计与数据采集、反演算法、验证与不确定性评估,最终落到典型工程场景的闭环应用。图中同时标出了各环节之间的反馈关系——验证不通过时,需要回到模型结构或激励设计,而不是只在算法层面调参。
一个可动手的最小示例
为了让抽象概念落地,考虑一个一阶热对象:加热功率 \(u(t)\) 为输入,温升 \(y(t)\) 为输出,模型为 \(T\dot y + y = K u\)。设真实参数为 \(K=2.5\ \mathrm{^\circ C/W}\)、\(T=40\ \mathrm{s}\),采样周期 \(1\ \mathrm{s}\),加入标准差 \(0.05\ \mathrm{^\circ C}\) 的测量噪声。若采用阶跃激励,可用稳态值估计 \(K\),用达到 63.2% 稳态值的时刻估计 \(T\)。下面是一段可直接运行的 Python 示例(数据为仿真生成,用于演示方法,非实测):
import numpy as np
rng = np.random.default_rng(7)
dt, N = 1.0, 300
K_true, T_true = 2.5, 40.0
u = np.ones(N) # 单位阶跃加热功率
y = np.zeros(N)
for k in range(1, N): # 一阶系统离散化(前向欧拉)
y[k] = y[k-1] + dt/T_true * (K_true*u[k-1] - y[k-1])
y_meas = y + rng.normal(0, 0.05, N)
K_hat = y_meas[-50:].mean() / u[-1] # 稳态段均值估增益
idx = np.argmax(y_meas >= 0.632 * y_meas[-50:].mean())
T_hat = idx * dt # 63.2% 时刻估时间常数
print(f"K_hat={K_hat:.3f}, T_hat={T_hat:.1f}s")
典型输出约为 K_hat=2.48, T_hat=41.0s,与真值接近但不完全相等——这正是噪声与离散化带来的偏差。此时若换一组未参与估计的激励(例如方波或变功率序列)重新仿真,比较预测输出与测量输出的残差,若残差均值接近零、无显著趋势、且参数落在物理合理区间(如 \(T>0\)),才可认为反演结果通过验证。若残差呈现系统性偏差,则说明模型结构(例如忽略了散热非线性)需要修正,而非继续微调参数。
学习本课程后应具备的能力
- 能针对给定物理对象写出含待估参数的动态模型,并说明各参数的物理意义与量纲;
- 能在采数之前完成灵敏度与相关性分析,判断参数是否可辨识,并据此设计激励信号与采样方案;
- 能选用合适的最小二乘、极大似然或正则化方法完成参数估计,并给出置信区间或后验分布;
- 能用独立工况数据完成验证,区分“拟合得好”与“参数可信”两件事;
- 能在验证失败时定位问题出在模型结构、激励设计还是算法选择,并给出修正路径。