本发明属于非线性动态系统辨识方法技术领域,具体涉及一种非线性时滞动态系统模型辨识方法。
背景技术:
非线性时滞动态系统广泛应用于过程控制、模型预测等领域。在这些领域中,工业现场的温度、压力、流量等采样信号通过传感器实时获取并存储。基于大量的现场采样数据,构建工业过程的非线性动态模型可以提高过程的决策能力。
传统的非线性时滞动态系统辨识方法通常是获得系统时滞后,采用局部线性化方法,得到被控对象或生产过程某一工作点处的局部线性模型。虽然局部模型在工业现场得到广泛使用,但当被控对象或生产过程存在强非线性时,一般需要建立多个局部模型,并且在多模型切换过程中,通常会在切换点造成被控对象输出的波动,导致控制过程不稳定。除此之外,已有的非线性系统辨识方法研究多集中在模型结构已知的前提下,对模型参数进行辨识。基于传统非线性时滞动态系统辨识缺点和已有的非线性系统辨识方法的不足,提出一种非线性时滞动态系统模型智能辨识方法。
技术实现要素:
本发明的目的是提供一种非线性时滞动态系统模型智能辨识方法,解决了现有非线性时滞动态系统辨识方法多个局部线性模型辨识的复杂度高且模型切换过程波动大不稳定的问题。
本发明所采用的技术方案是,一种非线性时滞动态系统模型智能辨识方法,其特征在于,具体按照以下步骤实施:
步骤1、假设narx神经网络模型差分方程;
步骤2、确定所述步骤1中设定的narx神经网络模型中的非线性动态系统时滞;
步骤3、确定所述步骤2中非线性动态系统的输入输出阶次;
步骤4、确定三层单输出narx神经网络隐层神经元个数;
步骤5、确定三层narx神经网络模型;
步骤6、三层narx神经网络模型有效性验证,如果三层narx神经网络模型有效性验证通过,则结束,否则对三层narx神经网络模型的输入输出阶次进行调整。
本发明的特点还在于,
步骤1中narx神经网络模型差分方程如下:
y(k)=g(y(k-1),y(k-2),…,y(k-ny),u(k-d),…,u(k-d-nu))+e(k)(1)
式中,g(·)为非线性函数,d为非线性系统时滞,nu和ny分别为narx神经网络模型输入阶次和输出阶次,y(k)为k时刻系统输出,u(k-d)为k-d时刻系统输入,e(k)是白噪声信号。
步骤2中假设系统的输入输出数据为(u(k),y(k)),k=1,2,…,m,采用输出相关性时滞确定方法获得非线性时滞动态系统中的时滞,具体按照以下步骤实施:
步骤(2.1)、初始化系统或者被控对象的输入变量的最小时滞阶次pmin和最大时滞阶次pmax,同时,设定固定的高斯函数宽度因子σ,σ=(max(u(k))-min(u(k)))/r,其中k∈[pmax+1,pmax+n],r∈(0.5n~2n),n为采样数据对个数,且满足pmax+n≤m,设输入滞后阶次变量p=pmin;
步骤(2.2)、当输入滞后阶次为p时,将每一个采样数据对(u(k-p),y(k)),k∈[pmax+1,pmax+n]看作一条模糊规则,则n个样本构成含有n个模糊规则的模糊模型f(·),其中f(·)的第k个模糊规则如下:
r(k):ifuisgk(u),theny=y(k)(2)
式中,
采用加权平均法的清晰化方法,得到模糊模型为:
当模糊模型输入为u(k-p),k∈[pmax+1,pmax+n]时,利用式(3)计算得到模糊模型对应的输出
步骤(2.3)、令p=p+1,建立对应的模糊模型,并计算此时输入阶次下的均方根误差,直至p=pmax+1;
步骤(2.4)、在p∈[pmin,pmax]范围内,求rmsep的最小值,并获得对应的输入时滞阶次p0,此时时滞d=p0。
步骤3具体按照以下步骤实施:
步骤(3.1)、将输入变量数据区整体向前平移d步采样时刻,则非线性对象差分模型y(k)=g(y(k-1),y(k-2),…,y(k-ny),u(k-d),…,u(k-d-nu))+e(k)变为:
y(k)=g1(x(k))(4)
式中,令
步骤(3.2)、利用已d步平移后的采样数据(x(i),y(i))计算不同输入输出阶次下的利普希茨商值,其中,i=1,2,…,n,输入输出阶次为nu和ny时,利普希茨商值计算式如下:
其中,|x(i)-x(j)|表示点x(i)和点x(j)在输入空间上距离,i≠j。
假设
式中,i≠j;i=1,2,…;n,j=1,2,…,n;参数r是正整数,r取值范围为0.01~0.02n;
步骤(3.3)、首先将nu固定,观察ny与利普希兹商的变化趋势,当随ny增大时,利普希兹变化率基本不变的情况下,此时将ny作为非线性系统真实的ny;在ny确定的情况下,计算
步骤4具体为:
采用经验公式
步骤5具体为:
设k时刻隐层第j个神经元输入为:
k时刻第j个隐层神经元输出为:
k时刻神经网络输出层对应的输入为:
k时刻模型输出为:
a(2)(k)=f2(n(2)(k))(10)
式中:j=1,2,…,nhidden,f1(·)、f2(·)分别为隐层和输出层激活函数,本发明中均使用双曲正切函数;
三层narx神经网络中的连接权系数
步骤6具体为:
采用增强型非线性相关检验算法对已获得非线性时滞动态模型进行模型有效性检验,增强型非线性相关检验指标为:
(a)组合全方位自相关函数残差项检验:
(b)组合全方位互相关函数输入项与残差项检验:
(c)组合全方位互相关函数输出项与残差项检验:
式(11)~(12)中ε为系统残差信号,u为系统输入信号,y为系统输出信号;
对于上述三个检验指标ρεε(τ)、ρεu(τ)及ρεy(τ),通过计算组合全方位相关系数ρfg(τ)获取,其中,τ∈[0,12],则ρfg(τ)计算过程步骤如下:
首先,假设在步骤3中已进行输入变量数据区整体平移后得到的输入输出数据对为(u1(i),y(i)),i=1,2,…,n,计算四个全方位互相关函数相关性:
式(14)~(17)中的'代表变量样本集平均值已从变量样本集中去除,n为样本个数;
则α(n)和β(n)表示为
其中α′(n)和β′(n)分别通过式(20)和式(21)得到:
则获得组合全方位互相关函数ρfg(τ):
当f(k)=g(k)=ε(k)时,得到检验指标ρεε(τ);当f(k)=ε(k),g(k)=u(k)时,得到检验指标ρεu(τ);当f(k)=ε(k),g(k)=y(k)时,得到检验指标ρεy(τ);
如果式(11)~(13)非线性相关检验处于95%置信区间,即在
步骤7中对模型输入输出阶次进行调整具体调整策略如下:
(a)、如果ρεy(τ)检验指标中存在处于95%置信区间外的数值时,神经网络模型的输出阶次ny需要调整为ny+1,然后执行调整策略(b);否则,神经网络模型的输出阶次ny不变,直接执行调整策略(b);
(b)、如果ρεu(τ)检验指标中存在处于95%置信区间外的数值时,神经网络模型的输入阶次nu需要调整为nu+1,然后执行调整策略(c);否则,神经网络模型的输出阶次nu不变,直接执行调整策略(c);
(c)、如果检验指标ρεy(τ)和ρεu(τ)均处于95%置信区间,而仅ρεu(τ)检验指标处于95%置信区间外时,说明残差e(k)为有色噪声,不满足非线性时滞动态系统模型描述,故不能采用对非线性时滞系统进行模型辨识;
(d)、若在调整策略(a)和(b)中,输出阶次ny或输入阶次nu需要调整时,则跳转至步骤3执行,直至三个增强型相关检验指标满足条件。
本发明的有益效果是,一种非线性时滞动态系统模型智能辨识方法,首先采用输出相关性时滞确定算法辨识非线性时滞;然后基于利普希茨商值的变化率确定系统输入输出阶次;其次采用levenberg-marquardt算法实现模型参数辨识;最后采用增强型相关检验算法对已确定的模型输入输出阶次进行优化调整,进而确定辨识模型的有效性。经过上述步骤,最终实现非线性时滞动态系统模型辨识问题。
附图说明
图1是本发明一种非线性时滞动态系统模型智能辨识方法流程图;
图2是本发明一种非线性时滞动态系统模型智能辨识方法中非线性仿真被控对象的输入时滞阶次与均方根误差关系图;
图3(a)是本发明一种非线性时滞动态系统模型智能辨识方法中非线性仿真对象神经网络训练结果中的迭代次数与均方误差关系图;
图3(b)是本发明一种非线性时滞动态系统模型智能辨识方法中非线性仿真对象神经网络训练结果中的每一采样时刻的神经网络训练输出与原始数据图;
图3(c)是本发明一种非线性时滞动态系统模型智能辨识方法中非线性仿真对象神经网络训练结果中的每一个采样时刻神经网络训练输出与原始数据的误差图;
图4(a)是本发明一种非线性时滞动态系统模型智能辨识方法中非线性仿真对象增强型相关检验中检验指标为ρεε(τ)时的检验结果;
图4(b)是本发明一种非线性时滞动态系统模型智能辨识方法中非线性仿真对象增强型相关检验中检验指标为ρεu(τ)时的检验结果;
图4(c)是本发明一种非线性时滞动态系统模型智能辨识方法中非线性仿真对象增强型相关检验中检验指标为ρεy(τ)时的检验结果;
图5是本发明一种非线性时滞动态系统模型智能辨识方法中tdr150型硅单晶炉热场温度和晶体直径采样数据;
图6是本发明一种非线性时滞动态系统模型智能辨识方法中硅单晶热场温度-晶体直径模型的时滞阶次与均方根误差关系图;
图7(a)是本发明一种非线性时滞动态系统模型智能辨识方法中输入输出阶次为ny=4,nu=0时,硅单晶模型增强型相关性检验中检验指标为ρεε(τ)的检验结果;
图7(b)是本发明一种非线性时滞动态系统模型智能辨识方法中输入输出阶次为ny=4,nu=0时,硅单晶模型增强型相关性检验中检验指标为ρεu(τ)的检验结果;
图7(c)是本发明一种非线性时滞动态系统模型智能辨识方法中输入输出阶次为ny=4,nu=0时,硅单晶模型增强型相关性检验中检验指标为ρεy(τ)的检验结果;
图8(a)是本发明一种非线性时滞动态系统模型智能辨识方法中输入输出阶次为ny=4,nu=1时,硅单晶热场温度与晶体直径模型bp神经网络训练结果中迭代次数与均方误差图;
图8(b)是本发明一种非线性时滞动态系统模型智能辨识方法中输入输出阶次为ny=4,nu=1时,硅单晶热场温度与晶体直径模型bp神经网络训练结果中每一采样时刻的神经网络训练输出与原始数据;
图8(c)是本发明一种非线性时滞动态系统模型智能辨识方法中输入输出阶次为ny=4,nu=1时,硅单晶热场温度与晶体直径模型bp神经网络训练结果中每一个采样时刻的神经网络训练输出与原始数据的误差图;
图9(a)是本发明一种非线性时滞动态系统模型智能辨识方法中输入输出阶次为ny=4,nu=1时硅单晶模型增强型相关性检验中检验指标为ρεε(τ)的检验结果;
图9(b)是本发明一种非线性时滞动态系统模型智能辨识方法中输入输出阶次为ny=4,nu=1时硅单晶模型增强型相关性检验中检验指标为ρεu(τ)的检验结果;
图9(c)是本发明一种非线性时滞动态系统模型智能辨识方法中输入输出阶次为ny=4,nu=1时硅单晶模型增强型相关性检验中检验指标为ρεy(τ)的检验结果。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明一种非线性时滞动态系统模型智能辨识方法,流程图见图1,具体按照以下步骤实施:
步骤1、假设narx神经网络模型差分方程如下:
y(k)=g(y(k-1),y(k-2),…,y(k-ny),u(k-d),…,u(k-d-nu))+e(k)(1)
式中,g(·)为非线性函数,d为非线性系统时滞,nu和ny分别为narx神经网络模型输入阶次和输出阶次,y(k)为k时刻系统输出,u(k-d)为k-d时刻系统输入,e(k)是白噪声信号;
步骤2、确定步骤1中设定的narx神经网络模型中的非线性动态系统时滞,假设系统的输入输出数据为(u(k),y(k)),k=1,2,…,m,采用输出相关性时滞确定方法获得非线性时滞动态系统中的时滞,具体按照以下步骤实施:
步骤(2.1)、初始化系统或者被控对象的输入变量的最小时滞阶次pmin和最大时滞阶次pmax,同时,设定固定的高斯函数宽度因子σ,σ=(max(u(k))-min(u(k)))/r,其中k∈[pmax+1,pmax+n],r∈(0.5n~2n),n为采样数据对个数,且满足pmax+n≤m,设输入滞后阶次变量p=pmin;
步骤(2.2)、当输入滞后阶次为p时,将每一个采样数据对(u(k-p),y(k)),k∈[pmax+1,pmax+n]看作一条模糊规则,则n个样本构成含有n个模糊规则的模糊模型f(·),其中f(·)的第k个模糊规则如下:
r(k):ifuisgk(u),theny=y(k)(2)
式中,
采用加权平均法的清晰化方法,得到模糊模型为:
当模糊模型输入为u(k-p),k∈[pmax+1,pmax+n]时,利用式(3)计算得到模糊模型对应的输出
步骤(2.3)、令p=p+1,建立对应的模糊模型,并计算此时输入阶次下的均方根误差,直至p=pmax+1;
步骤(2.4)、在p∈[pmin,pmax]范围内,求rmsep的最小值,并获得对应的输入时滞阶次p0,此时时滞d=p0;
步骤3、确定所述步骤2中非线性动态系统的输入输出阶次,具体按照以下步骤实施:
步骤(3.1)、将输入变量数据区整体向前平移d步采样时刻,则非线性对象差分模型y(k)=g(y(k-1),y(k-2),…,y(k-ny),u(k-d),…,u(k-d-nu))+e(k)变为:
y(k)=g1(x(k))(4)
式中,令
步骤(3.2)、利用已d步平移后的采样数据(x(i),y(i))计算不同输入输出阶次下的利普希茨商值,其中,i=1,2,…,n,输入输出阶次为nu和ny时,利普希茨商值计算式如下:
其中,|x(i)-x(j)|表示点x(i)和点x(j)在输入空间上距离,i≠j。
假设
式中,i≠j;i=1,2,…;n,j=1,2,…,n;参数r是正整数,r取值范围为0.01~0.02n;
步骤(3.3)、假设式(4)的非线性系统在nu和ny输入输出阶次下的利普希兹值为
步骤4、确定三层单输出narx神经网络隐层神经元个数,具体为:
采用经验公式
步骤5、确定三层narx神经网络模型,具体为:
设k时刻隐层第j个神经元输入为:
k时刻第j个隐层神经元输出为:
k时刻神经网络输出层对应的输入为:
k时刻模型输出为:
a(2)(k)=f2(n(2)(k))(10)
式中:j=1,2,…,nhidden,f1(·)、f2(·)分别为隐层和输出层激活函数,本发明中均使用双曲正切函数;
三层narx神经网络中的连接权系数
步骤6、三层narx神经网络模型有效性验证,如果三层narx神经网络模型有效性验证通过,则结束,否则对三层narx神经网络模型的输入输出阶次进行调整,具体为:
采用增强型非线性相关检验算法对已获得非线性时滞动态模型进行模型有效性检验,增强型非线性相关检验指标为:
(a)组合全方位自相关函数残差项检验:
(b)组合全方位互相关函数输入项与残差项检验:
(c)组合全方位互相关函数输出项与残差项检验:
式(11)~(12)中ε为系统残差信号,u为系统输入信号,y为系统输出信号;
对于上述三个检验指标ρεε(τ)、ρεu(τ)及ρεy(τ),通过计算组合全方位相关系数ρfg(τ)获取,其中,τ∈[0,12],则ρfg(τ)计算过程步骤如下:
首先,假设在步骤3中已进行输入变量数据区整体平移后得到的输入输出数据对为(u1(i),y(i)),i=1,2,…,n,计算四个全方位互相关函数相关性:
式(14)~(17)中的'代表变量样本集平均值已从变量样本集中去除,n为样本个数;
则α(n)和β(n)表示为
其中α′(n)和β′(n)分别通过式(20)和式(21)得到:
则获得组合全方位互相关函数ρfg(τ):
当f(k)=g(k)=ε(k)时,得到检验指标ρεε(τ);当f(k)=ε(k),g(k)=u(k)时,得到检验指标ρεu(τ);当f(k)=ε(k),g(k)=y(k)时,得到检验指标ρεy(τ);
如果式(11)~(13)非线性相关检验处于95%置信区间,即在
步骤7中对模型输入输出阶次进行调整具体调整策略如下:
(a)、如果ρεy(τ)检验指标中存在处于95%置信区间外的数值时,神经网络模型的输出阶次ny需要调整为ny+1,然后执行调整策略(b);否则,神经网络模型的输出阶次ny不变,直接执行调整策略(b);
(b)、如果ρεu(τ)检验指标中存在处于95%置信区间外的数值时,神经网络模型的输入阶次nu需要调整为nu+1,然后执行调整策略(c);否则,神经网络模型的输出阶次nu不变,直接执行调整策略(c);
(c)、如果检验指标ρεy(τ)和ρεu(τ)均处于95%置信区间,而仅ρεu(τ)检验指标处于95%置信区间外时,说明残差e(k)为有色噪声,不满足非线性时滞动态系统模型描述,故不能采用对非线性时滞系统进行模型辨识;
(d)、若在调整策略(a)和(b)中,输出阶次ny或输入阶次nu需要调整时,则跳转至步骤3执行,直至三个增强型相关检验指标满足条件。
为验证本发明一种非线性时滞动态系统模型智能辨识方法的有效性,给出了2个仿实施例,其中一个为确定的非线性对象,另一个是硅单晶热场温度-晶体直径环节模型辨识:
实施例1
非线性被控对象
辨识实验中,数据个数n=550,高斯函数宽度因子设定为(max(u(k))-min(u(k)))/(2*n),其中k∈[1,550]。当输入时滞阶次从1逐渐增加到20时,得到图2输入滞后阶次与均方根误差关系图。由图得:当输入时滞阶次为12时,均方根误差最小,根据非线性系统输出相关性时滞确定算法得该非线性被控对象时滞阶次为12,该值与系统真实时滞相同,说明输出相关性系统时滞确定算法的有效性。在非线性系统时滞确定后,将数据区平移,计算不同输入输出阶次下利普希茨商值,结果见表1。
表1
由表1得:当nu固定时,
使用三层神经网络经验公式确定bp神经网络隐层神经元个数为5。使用levenberg-marquardt算法经200次迭代后,得训练均方误差为7.5×10-3,训练结果见图3,其中图3(a)为迭代次数与训练性能指标均方误差之间的趋势图,图3(b)为网络的原始输出与训练输出对比图,图3(c)为每一个采样时刻神经网络训练输出与原始数据的误差图。从图3(c)可以看出两者偏差基本在[-0.15,0.15]区间内。接下来采用增强型相关检验算法计算检验指标ρεε(τ)、ρεy(τ)、ρεu(τ),其结果分别见图4(a)、图4(b)、图4(c)。检验指标中,所有检验指标都处于95%置信区内,故认为辨识模型通过模型检验,从而说明本文提出的辨识非线性系统方法的有效性。最终非线性被控对象的narx神经网络辨识结构为5-5-1,网络输入[y(k-1),y(k-2),y(k-3),u(k-12),u(k-13)]。
实施例2
硅单晶生长制备过程是多场耦合的非线性复杂过程,其中热场温度与晶体直径间存在非线性和大滞后特性,所以将硅单晶热场温度-晶体直径环节看成辨识过程。图5为tdr150单晶炉制备直径208mm硅单晶生长过程中某一时间热场温度和晶体直径数据,其中数据采样间隔为10s。由于硅单晶热场温度和晶体直径采样数据的数量级不一致,所以分别将数据归一化到[-1,1]范围内。
在热场温度-晶体直径系统时滞确定实验中,高斯函数宽度因子设置为控制量输入范围除以样本总数。采用非线性系统输出相关性时滞确定算法得热场温度时滞阶次与均方根误差关系图见6。从图6得均方根误差最小值对应热场温度输入时滞为65,即滞后时间为10.83min。表2是热场温度-晶体直径模型不同输入输出阶次下利普希茨商值,根据非线性模型阶次确定方法暂定输入输出阶次为ny=4,nu=0,即得到该阶段动态bp神经网络输入为[t(k-65),d(k-1),d(k-2),d(k-3),d(k-4)]。
表2
通过使用levenberg-marquardt算法训练bp神经网络并通过增强型相关检验算法得图7(a)、图7(b)、图7(c)检验指标结果。结果表明:ρεu(τ)检验指标基本上都落在95%置信区间外,此时增加热场温度控制量输入个数,得到此时网络输入输出阶次为ny=4,nu=1。通过500次迭代训练后,得到图8(a)、图8(b)、图8(c)训练结果。其中,训练完毕后mse为1.67×10-5,网络残差均值为-2.66×10-4。经过增强型相关检验得图9(a)、图9(b)、图9(c)检验结果。相关检验指标ρεε(τ)中仅有两个值处于95%置信区间外,说明硅单晶输入输出数据中含有有色噪声,此时可采用该辨识模型对硅单晶热场温度-晶体直径过程进行粗略描述。最终神经网络结构为6-6-1,结合时滞和模型输入输出阶次得网络输入向量为[t(k-65),t(k-66),d(k-1),d(k-2),d(k-3),d(k-4)]。
本发明一种非线性时滞动态系统模型智能辨识方法,是通过narx神经网络对非线性时滞动态系统进行描述,首先采用输出相关性时滞确定算法辨识非线性动态系统的时滞,其次利用利普希兹商确定非线性动态系统输入输出阶次,然后采用levenberg-marquardt算法实现非线性时滞动态系统模型参数辨识;最后采用增强型相关检验算法对已确定的模型输入输出阶次进行优化调整,进而确定辨识模型的有效性。