多输入单输出时变输出误差模型学习辨识算法①

2020-12-19 06:19祝徐轩仲国民何熊熊
高技术通讯 2020年11期
关键词:参数估计时变梯度

祝徐轩 仲国民 何熊熊

(浙江工业大学信息工程学院 杭州 310023)

0 引 言

系统的建模是许多控制系统分析与设计的基础[1],目前,对于定常系统的辨识问题已经具有较为完备的理论基础,然而实际控制系统中存在更多的是时变系统,因此,研究时变系统的辨识问题具有重要意义。

本文主要研究多输入单输出(multiple input single output,MISO)时变输出误差模型(output error model,OE)的参数辨识问题。多输入多输出(multiple input multiple output,MIMO)系统在诸如电气、机械、化学工程和通信工程等实际过程中具有广泛的应用[2-4],它可以分解为多个MISO子系统,且一旦分别识别每个子系统,就可以获得MIMO系统的参数估计。因此,研究MISO系统的参数估计具有意义,并且大量已经开展的工作为进一步研究多输入系统奠定了基础。张余等人[5]针对无线传感器网络中能量有限和能耗不均衡问题,提出了一种基于协同MIMO的无线传感器网络传输方案。Khandaker等人[6]研究了MISO多系统中的同步无线信息和功率传输问题。

对于MISO定常OE模型的参数辨识,识别的难点之一在于识别模型中的信息矢量包含未知的中间变量。迭代搜索已被广泛应用于具有未知内部变量的系统识别[7,8]。Liu和Lu[9]为多速率系统提供了基于最小二乘的迭代识别。刘毅男等人[10]结合迭代搜索原理和约简技术,提出了一种显著提高跟踪精度的在线自适应迭代简约最小二乘支持向量机。Jin 等人[11]提出了一种基于辅助模型的区间变化最小二乘识别方法,用于具有稀缺测量的多变量OE系统辨识。Ding等人[12]提出了基于辅助模型的递推最小二乘辨识算法,其基本思想是将未知的内部变量替换为由辅助模型计算的估计值。该算法不仅简单还易于实现,可以获得噪声模型的参数估计,但是在处理时变系统时,不具备跟踪能力。而带遗忘因子的辅助模型递推最小二乘算法,由于在修正项中引入了遗忘因子,使其具备了跟踪时变参数的能力,但是算法在跟踪突变的时变参数时,跟踪能力有限。

学习辨识[13,14]基于系统重复运行的特点构造算法,许多学者都提出了相应的辨识方法。孙明轩和毕宏博[13]针对有限区间上重复运行的时变系统,提出了迭代学习最小二乘算法用于系统的时变参数估计,并分析了算法的收敛性。侯忠生等人[15]利用交通流的重复性特征,设计了基于迭代学习的辨识算法。Jia 等人[16]提出了一种具有模型识别和动态R参数的集成迭代学习控制策略使零误差跟踪成为可能。

本文考虑有限区间上重复运行的多输入单输出输出误差模型,推导了迭代学习随机梯度算法和迭代学习最小二乘算法。通过系统的重复运行,在每步迭代运行过程中,充分利用了系统的输入输出数据,仿真结果表明迭代学习最小二乘算法能够获得多输入单输出系统中时变参数的一致估计。本文其他部分组织如下,第1节给出了系统的定义并讨论了多输入单输出OE时变系统的辨识模型。第2节中给出了用于辨识多输入单输出时变OE系统基于辅助模型的随机梯度算法。第3节推导出基于辅助模型的迭代学习最小二乘算法。第4节提供了说明性的算例,用于演示所提算法的有效性。最后,在第5节中给出了相关结论。

1 问题描述

考虑如下多输入单输出输出误差模型描述的时变随机系统:

(1)

式中,t表示时间,k表示重复次数,i表示输入序列的排序,uik(t)表示模型第k次重复t时刻序号为i的系统的输入序列,yk(t)为模型第k次重复t时刻的系统的输出序列,vk(t)为0均值不相关随机噪声序列(不可测),A(q-1,t)、Bi(q-1,t)分别是阶次为na、nb后移位算子q-1的多项式,具体定义如下:

其中a1(t)、a2(t)、 …、ana(t)、bi1(t)、bi2(t)、 …、binb(t)为未知时变参数,且对于固定的时刻,它们沿重复轴是恒定不变的。

本文的目标是,针对重复时变系统,利用系统的输入输出数据,首先推导出一种基于辅助模型的迭代学习随机梯度算法,然后给出一种基于辅助模型的迭代学习最小二乘算法,通过仿真实例,分析2种学习算法的性能。在重复持续激励条件下,基于辅助模型的最小二乘学习算法可以有效提高参数估计的精度,说明了学习算法在重复时变系统参数估计方面的有效性和优越性。

2 迭代学习随机梯度算法

定义中间变量为

(2)

则由式(2)可得:

xk(t)=(1-A(q-1,t))xk(t)

(3)

定义信息矩阵φk(t)和待辨识参数θk(t)如下:

φk(t)=[-xk(t-1), -xk(t-2),…,

-xk(t-na),u1k(t-1),u1k(t-2),

…,u1k(t-nb), …,urk(t-1),

urk(t-2),…,urk(t-nb)]Τ

θk(t)=[a1(t),a2(t),…,ana(t),b11(t),

b12(t),…,b1nb(t),…,br1(t),br2(t),

…,brnb(t)]Τ

将式(3)带入式(1)可得:

定义准则函数:

则可得到模型参数的辨识算法为

(4)

(5)

(6)

…,u1k(t-nb),…,urk(t-1),

urk(t-2),…,urk(t-nb)]Τ

(7)

θk(t)=[a1(t),a2(t),…,ana(t),b11(t),

b12(t),…,b1nb(t), …,br1(t),br2(t),

…,brnb(t)]Τ

(8)

(9)

多输入单输出OE模型的迭代学习随机梯度算法的具体实现步骤如算法1所示。

算法1基于辅助模型的迭代学习随机梯度算法 输入:重复激励的一组数列 输出:输出向量为yk(t)1.对于所有的t=0,1,…,N,给定参数估计初始值θ-1(t),迭代所需σ0(t)和^x0(t)的值,并置k=0;在第k次重复运行时,采集输入输出数据uik(t)和yk(t)。2.While k<101 do3.for each t∈[0, N] do4. 用式(7)构造ϕ^k(t),用式(5)计算θ^k(t)5. 用式(9)刷新^xk(t),用式(6)刷新σk(t)6.end7.end

3 迭代学习最小二乘算法

本节推导了基于辅助模型的迭代学习最小二乘算法。定义堆积输出向量Yk(t)、堆积信息矩阵Φk(t)和白噪声向量Vk(t)如下:

则可将表示k次重复运行的时变系统表示为

Yk(t)=Φk(t)θk(t)+Vk(t)

给出以下准则函数:

(10)

则替代后的信息向量记为

…,u1k(t-nb),…,urk(t-1),

urk(t-2),…,urk(t-nb)]Τ

替代后的堆积信息矩阵记为

得到对于多输入单输出时变OE模型的最小二乘算法为

显然该最小二乘估计需要完成对矩阵的求逆运算,为了回避对矩阵的求逆运算,定义:

利用矩阵的求逆公式,可得到Pk(t)的关系如下:

(11)

(12)

…,u1k(t-nb),…,urk(t-1),

urk(t-2),…,urk(t-nb)]Τ

(13)

θk(t)=[a1(t),a2(t),…,ana(t),b11(t),

b12(t),…,b1nb(t),…,br1(t),br2(t),

…,brnb(t)]Τ

(14)

(15)

多输入单输出OE模型的辅助模型迭代学习最小二乘算法的具体实现步骤如算法2所示。

算法2 基于辅助模型的迭代学习最小二乘算法 输入:重复激励的一组数列 输出:堆积的输出向量Yk(t)1.对于所有的t=0,1,…,N,给定参数估计初始值θ-1(t),迭代所需P-1(t)和^x0(t)的值,并置k=0;在第k次重复运行时,采集输入输出数据uik(t)和yk(t)。2.While k<101 do3.for each t∈[0, N] do4. 用式(13)构造ϕ^k(t),用式(11)计算θ^k(t)5. 用式(15)刷新^xk(t),用式(12)刷新Pk(t)6.end7. end

4 算法仿真

本节完成数值算例,通过与带遗忘因子辅助模型递推广义算法比较来说明迭代学习最小二乘算法对参数估计的准确性,为了方便说明和比较,以下介绍带遗忘因子的辅助模型递推最小二乘算法。

ψ(t)=[-xa(t-1), -xa(t-2),…, -xa(t-n)]Τψu(t)=[u1(t),…,u1(t-n),…,ur(t),…,

ur(t-n)]Τ

考虑如下有限区间重复时变系统:

((1+b11(t)q-1+b12(t)q-2)u1k(t)

+(1+b21(t)q-1+b22(t)q-2)u2k(t))+vk(t)

其中,

a1(t)=1.5sin(1000/t)-1

a2(t)=0.6-0.4·sin(π/|t-60.5|)

b12(t)=log0.1+1.4·|cos(30·π/t)|+0.1b21(t)

=0.01·t·log(50/t)

b22(t)=-1.5+0.5·(1.5·t+130)1/4

图1和图2为带遗忘因子递推最小二乘的辨识结果。在遗忘因子取值为0.8的情况下,对比辨识结果图可知,在缓变的情况下(b21和b22的辨识结果)递推最小二乘算法具有一定的跟踪时变参数的能力,但是当参数突变(或者说变化较快)时,该算法的跟踪能力就很不理想。由图3可知,在t为100的情况下,辨识结果未收敛于真值。

图1 带遗忘因子递推最小二乘对ai的辨识结果

图2 带遗忘因子递推最小二乘对bij的辨识结果

图3 带遗忘因子递推最小二乘辨识误差

图4和图5为迭代学习随机梯度算法的辨识结果。由图4和图5可知,相比于带遗忘因子的递推最小二乘算法,迭代学习随机梯度算法具有较强的跟踪时变参数的能力,但在迭代次数取值为100时,仍存在一定的误差。由图6可知,迭代学习随机梯度算法得到的辨识结果已经取得较好的辨识精度,但效果或者说是收敛速度仍有待提升。

图4 迭代学习随机梯度算法对ai的辨识结果

图5 迭代学习随机梯度算法对bij的辨识结果

图6 迭代学习随机梯度算法的误差

图7和图8为迭代学习最小二乘算法的辨识结果。由图7、图8可知,相比于另2种算法,迭代学习最小二乘算法几乎实现了对参数的完全辨识,辨识结果与真值一致。由图10可知,迭代学习最小二乘算法得到的辨识结果已经收敛于真值。

图7 迭代学习最小二乘算法对ai的辨识结果

图8 迭代学习最小二乘算法对bi的辨识结果

图9和图10的结果表明对重复运行的时变系统,迭代学习最小二乘学习算法可以更好地实现对参数的无偏估计。进一步对比同一t时刻参数的辨识情况,在激励信号相同的情况下,随机选取t=40这一时刻。由表1可以看出,在不同噪声水平下,迭代学习随机梯度算法的辨识能力不同,当噪声太小时,辨识能力较差。由图10可以看出,当噪声方差达到一定的大小,迭代学习随机梯度算法迭代50次左右可以实现对参数的完全估计。对于迭代学习最小二乘学习算法,由表2和图11可以看出,无论噪声方差取何值,迭代学习最小二乘学习算法都能实现对参数的完全估计,且只需要7次迭代就能使参数收敛到真值。仿真结果表明了参数估计的一致收敛性,证明该算法可以实现对MISO时变OE模型参数的完全估计。

表2 迭代学习最小二乘算法辨识结果和误差

表1 迭代学习随机梯度算法辨识结果和误差

图9 迭代学习最小二乘算法的辨识误差

图10 不同噪声方差下迭代学习随机梯度算法估计误差随迭代次数的变化曲线

图11 不同噪声方差下迭代学习最小二乘算法估计误差随迭代次数的变化曲线

5 结 论

本文提出的迭代学习最小二乘学习算法可用于解决一类多输入单输出OE系统的时变参数估计问题。针对有限区间重复作业下的时变系统,推导了迭代学习随机梯度算法和迭代学习最小二乘算法。在重复持续激励条件下,通过仿真实例,证明了迭代学习最小二乘学习算法的有效性,可以实现对时变参数的完全估计。

表1续

猜你喜欢
参数估计时变梯度
基于新型DFrFT的LFM信号参数估计算法
一个带重启步的改进PRP型谱共轭梯度法
一个改进的WYL型三项共轭梯度法
不完全观测下非线性非齐次随机系统的参数估计
一种GTD模型参数估计的改进2D-TLS-ESPRIT算法
一种自适应Dai-Liao共轭梯度法
列车动力学模型时变环境参数自适应辨识
一个具梯度项的p-Laplace 方程弱解的存在性
基于时变Copula的股票市场相关性分析
基于时变Copula的股票市场相关性分析