更新时间:2023-02-26 11:14
式中y是系统的输出,x是输入,θ是参数(它们可以是向量)。这里的非线性是指对参数θ的非线性模型,不包括输入输出变量随时间的变化关系。在估计参数时模型的形式f是已知的,经过N次实验取得数据(x1,y1),(x2,y2),…,(xn,yn)。估计参数的准则(或称目标函数)选为模型的误差平方和非线性最小二乘法就是求使Q达到极小的参数估计值娈。
由于 f的非线性,所以不能像线性最小二乘法那样用求多元函数极值的办法来得到参数估计值,而需要采用复杂的优化算法来求解。常用的算法有两类,一类是搜索算法,另一类是迭代算法。
搜索算法的思路是:按一定的规则选择若干组参数值,分别计算它们的目标函数值并比较大小;选出使目标函数值最小的参数值,同时舍弃其他的参数值;然后按规则补充新的参数值,再与原来留下的参数值进行比较,选出使目标函数达到最小的参数值。如此继续进行,直到选不出更好的参数值为止。以不同的规则选择参数值,即可构成不同的搜索算法。常用的方法有单纯形搜索法、复合形搜索法、随机搜索法等。
迭代算法是从参数的某一初始猜测值θ出发,然后产生一系列的参数点,如果这个参数序列收敛到使目标函数极小的参数点娈,那么对充分大的N就可用N 作为娈。迭代算法的一般步骤是:
① 给出初始猜测值θ,并置迭代步数i=1。
② 确定一个向量v作为第i步的迭代方向。
④ 检查停机规则是否满足,如果不满足,则将i加1再从②开始重复;如果满足,则取θ为值。
典型的迭代算法有牛顿-拉夫森法、高斯迭代算法、麦夸特算法、变尺度法等。
非线性最小二乘法除可直接用于估计静态非线性模型的参数外,在时间序列建模、连续动态模型的参数估计中,也往往遇到求解非线性最小二乘问题。