本文针对具有无穷维时空特性和复杂非线性特性的分布参数系统,提出了一种基于数据驱动的建模方法。系统的时空输出可以由分布在空间中的有限个传感器获得,同时假设系统输入为有限维时间变量。首先利用Karhunen-Loève (K-L)分解对系统进行模型降维,得到主元特征向量,之后提取得到系统的一组主导空间基函数,利用时空分解获得系统时间系数,随后结合时间系数与系统激励构成输入输出信息,利用FOA算法优化Elman神经网络结构参数,后用优化的Elman神经网络辨识出系统时域NARX模型,最后进行模型重构,得到预测输出。仿真表明,上述建模方法能够对分布参数系统取得良好的建模效果。 In this paper, because of infinite-dimensional nature and complex nonlinearities of the distributed parameter systems, a new data-driven modeling method has been proposed. The spatiotemporal output of the system is measured at a finite number of spatial locations; at the same time it is assumed that the input of the system is a temporal variable. Firstly, Karhunen-Loève (K-L) decomposition is used for dimension reduction to get PCA eigenvectors, which can be utilized to extract the nonlinear basis functions in dominant space. After using time-space separation to get the temporal coefficients, then combining the temporal coefficients and the excitation input signal as input and output information, the NARX model can be identified by using Elman neural network whose structure parameters have been optimized by FOA. Finally, model has been reconstructed and the predicted output gotten. Simulation result shows that the proposed modeling method can achieve good performance for distributed parameter systems.
——时空建模
杨仁建,范瑛琦
中国石化石油化工科学研究院,北京
收稿日期:2019年1月28日;录用日期:2019年2月6日;发布日期:2019年2月13日
本文针对具有无穷维时空特性和复杂非线性特性的分布参数系统,提出了一种基于数据驱动的建模方法。系统的时空输出可以由分布在空间中的有限个传感器获得,同时假设系统输入为有限维时间变量。首先利用Karhunen-Loève (K-L)分解对系统进行模型降维,得到主元特征向量,之后提取得到系统的一组主导空间基函数,利用时空分解获得系统时间系数,随后结合时间系数与系统激励构成输入输出信息,利用FOA算法优化Elman神经网络结构参数,后用优化的Elman神经网络辨识出系统时域NARX模型,最后进行模型重构,得到预测输出。仿真表明,上述建模方法能够对分布参数系统取得良好的建模效果。
关键词 :分布参数系统,时空分解,FOA算法,Elman神经网络,NARX模型
Copyright © 2019 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
广泛存在于生产实践中的物理、化学过程(如:石油炼制、化学制药、工业催化等)都是分布参数系统(distributed parameter system, DPS)。由于其输入输出的非线性时空耦合特性和无穷维特性,基于集中参数系统的传统建模方法无法对此类时空分布系统进行准确建模。虽然偏微分方程(partial differential equations, PDE)能够准确描述分布参数系统的内部机理,但受限于数值计算能力和实际系统中有限的执行机构和检测机构,而很难得到实际应用。因此,有必要对模型进行降维,建立可行的有限维模型。
如果分布参数系统的偏微分方程描述为可知的,则使用传统方法(如:有限差分法和有限元法等)通过离散化将原微分方程转化为差分方程组,但是为了保证模型精度,通常会产生一个高维的常微分方程 [
主元分析方法 [
Elman神经网络 [
本文将介绍一种基于时空FOA-Elman的分布参数建模方法。本方法主要包含两个过程,首先通过K-L分解对分布参数系统的输出进行时空分解。然后基于所得时间系数和系统激励使用FOA-Elman辨识NARX模型。
对于一个非线性分布参数系统,系统输入控制
图1. 分布参数系统的时空NARX建模
在所有通过线性展开对时间和空间进行分离的方法中,K-L分解是获取低维模型是最为有效的方法。换言之,即对于给定的建模误差,通过K-L分解得到的基函数个数是最少的。
为简化处理过程,假设系统输出 { y ( x i , t ) } i = 1 , t = 1 N , L 均匀地分布在时间和空间中。假设系统正交空间基函数为 ,时间系数为:
y ( x , t ) = ∑ i = 1 ∞ φ i ( x ) y i ( t ) (1)
由于空间基函数的正交特性,即
( φ i ( x ) , φ j ( x ) ) = ∫ Ω φ i ( x ) φ j ( x ) d x = { 0 , i ≠ j 1 , i = j (2)
为了求得系统的主导空间基函数,可以转化为求解式(3)所述最小化问题:
{ min φ i ( x ) 〈 [ y ( x , t ) − ∑ i = 1 n φ i ( x ) ( φ i ( x ) , y ( x , t ) ) 2 ] 〉 s . t . ( φ i ( x ) , φ i ( x ) ) = 1 , φ i ( x ) ∈ L 2 ( Ω ) , i = 1 , ⋯ , n (3)
其中 〈 f ( x , t ) 〉 = 1 L ∑ t = 1 L f ( x , t ) 为集合均值的定义。该最小化问题对应的拉格朗日函数约束优化问题为:
J = 〈 [ y ( x , t ) − ∑ i = 1 n φ i ( x ) ( φ i ( x ) , y ( x , t ) ) 2 ] 〉 + ∑ i = 1 n λ i ( ( φ i , φ i ) − 1 ) (4)
针对上述的最优化问题,其极值存在的必要条件为:
{ ∫ Ω R ( x , ζ ) φ i ( ζ ) d ζ = λ i φ i ( x ) , s . t . ( φ i , φ i ) = 1 , i = 1 , ⋯ , n (5)
其中 R ( x , ζ ) = 〈 y ( x , t ) , y ( ζ , t ) 〉 为空间两点的相关函数。因此,求解式(4)最优化问题转化为求解必要条件式(5)的解。
我们测得的数据总是离散地分布在空间中,因此必须使用数值法求解式(5)。通过离散化积分方程,式(5)转化为 N × N 矩阵的特征值问题,这样可以在 N 个空间采样点上获得 N 个特征值。对于无法获取样本点的地方可以采用插值法获得。
当时间节点数 L 小于空间节点数 时,使用“snapshots” [
φ i ( x ) = ∑ t = 1 L γ i t y ( x , t ) (6)
将式(6)带入式(5),可得:
∫ Ω 1 L ∑ t = 1 L y ( x , t ) y ( ζ , t ) ∑ k = 1 L γ i k y ( ζ , k ) d ζ = λ i ∑ t = 1 L γ i t y ( x , t ) (7)
定义空间两点相关函数为:
C t k = 1 L ∫ Ω y ( ζ , t ) y ( ζ , k ) d ζ (8)
因此,式(5)的 N × N 矩阵特征值问题转化为如下 L × L 矩阵的特征值求解问题:
C γ i = λ i γ i (9)
其中 为第 i 个特征向量。分别将特征向量 γ 1 , ⋯ , γ L 带入式(6)即可求得对应的空间基函数 φ 1 ( x ) , ⋯ , φ L ( x ) 。因为矩阵 为对称半正定,因此由式(9)所得的特征向量所对应的空间基函数 φ 1 ( x ) , ⋯ , φ L ( x ) 为正交的,后对其进行标准化处理即可获得空间基函数 φ 1 ( x ) , ⋯ , φ L ( x ) 。
当求得空间基函数,就可以使用式(10)求得相应的时间系数:
y i ( t ) = ( φ i ( x ) , y ( x , t ) ) , i = 1 , ⋯ , n (10)
在建模中,系统空间输出一般由反映系统主要能量的前 n 个主导空间基函数构成,即:
y n ( x , t ) = ∑ i = 1 n φ i ( x ) y i ( t ) (11)
对于建模选取的主导空间基函数个数 n 而言,其个数越多,所能反映的系统能量就越多,但会增加系统建模的复杂度 [
E i = λ i ∑ j = 1 L λ j (12)
一般来说,当前 n 个空间基函数所占系统总能量的百分比大于99.9或99.99时,则认为该组空间基函数可以反映出系统绝大部分能量。下文中将通过仿真实例来说明,只要选取合适的空间基函数个数 n ,模型就可以达到要求的精度 [
假设 u ( t ) 和 y ( t ) 可以由NARX模型描述:
y ( t ) = F [ y ( t − 1 ) , ⋯ , y ( t − n y ) , u ( t − 1 ) , ⋯ , u ( t − n u ) ] (13)
其中, u ( t ) ∈ ℜ m 和 y ( t ) ∈ ℜ n 分别表示时间输入和输出, n u 和 n y 分别表示最大输入和输出滞后。
NARX模型为黑箱模型,建模过程无需知道其内部机理,可以利用输入、输出数据建立数学模型。由于神经网络具有强大的非线性逼近能力、快速并行运算能力、较强的容错性和鲁棒性等特点,因而在非线性系统辨识领域有着广泛的应用。其中Elman神经网络是一种典型的动态神经网络,能够直接反映系统的动态特性,广泛应用于动态系统建模中,然而常规Elman神经网络学习算法存在极易陷入局部最优,收敛速度慢等特点,一种新的全局优化算法——FOA算法,可对Elman神经网络的权值和阀值进行全局优化。在本文中,我们将利用基于FOA的Elman神经网络对NARX模型进行辨识。
Elman神经网络由四层网络组成:输入层、隐含层(中间层)、承接层和输出层。Elman神经网络是在前馈神经网络的隐含层中增加一个承接层,隐含层的输出通过承接层连接到隐含层的输入。承接层作为一步时移算子使网络具有记忆功能,增强了系统对历史数据的敏感性,进而使模型具有动态处理数据的能力,能直接反映动态过程的系统特性。
Elman神经网络的非线性状态空间表达式如下:
y ( k ) = g ( w 3 x ( k ) ) (14)
x ( k ) = f ( w 1 x c ( k ) ) + w 2 ( u ( k - 1 ) ) (15)
x c ( k ) = x ( k − 1 ) (16)
式中 u 为输入向量; x 为隐含层节点输出向量, y 为输出节点向量, x c 为状态反馈向量。 w 1 为承接层到隐含层的连接权值; w 2 为输入层到隐含层连接权值; w 3 为隐含层到输出层连接权值。 g ( * ) 为输出神经元的传递函数,是隐含层输出的线性组合; f ( * ) 为隐含层神经元的传递函数,常采用 S 函数。
果蝇优化算法是由台湾学者潘文超博士通过对果蝇觅食过程的模拟,提出的一种全新的寻找函数全局最优解的迭代智能优化算法。果蝇凭借着敏锐的嗅觉器官可以分辨数十公里外的各种气味,然后向该位置飞去,也可以利用视觉器官飞向食物和其它果蝇。按照果蝇寻找食物的过程,可以将FOA算法总结为以下步骤:
Step 1:设定群体规模,最大迭代次数,随机初始化果蝇群体位置 X _ a x i s , Y _ a x i s 。
Step 2:随机果蝇个体搜索方向和搜索距离:
{ X i = X _ a x i s + rand ( · ) Y i = Y _ a x i s + rand ( · ) (17)
Step 3:因无法获得食物位置,先计算当前果蝇个体位置与原点的距离,后取距离的倒数作为果蝇个体的味道浓度判定值:
D i s t i = X i 2 + Y i 2 (18)
(19)
Step 4:将味道浓度判定值 S i 代入适应度函数,求出味道浓度 Smell i :
Step 5:找出该果蝇群体中味道浓度值最佳的果蝇个体:
[ bestSmell bestindex ] = min ( Smell i ) (21)
Step 6:记录并保留最佳味道浓度值 bestSmell 与其 X 、 Y 坐标,此时果蝇群体将向该位置飞去:
(22)
Step 7:迭代寻优,重复执行Step 2~Step 6,并判断当前最佳味道浓度值是否优于前一迭代,并且判断是否达到最大迭代次数,若是停止运行。
本文中,定义适应度函数为预测值与实际值的均方根误差:
RMSE = ∑ i = 1 n ( P i r - P i f ) n (23)
式中, n 为预测样本数量; P i r 、 P i f 分别为实际值和预测值。
Elman神经网络的相关参数由味道浓度判定值 S i 来表示,在每次迭代中,将获得的当前最佳味道浓度判定值 S i 代入Elman神经网络进行建模预测,并计算适应度值,重复执行Step 2~Step 6。当FOA算法到达最大迭代次数或终止条件时,迭代终止,得到Elman神经网络最优参数,将网络权值和阀值赋给Elman神经网络,进行训练及预测输出。
基于FOA-Elman的时空建模如图2所示,通过FOA-Elman神经网络估计获得NARX模型输出 与上文获得的空间基函数 φ i ( t ) 进行时空综合,即可获得分布参数系统时空FOA-Elman模型,完整的时空FOA-Elman模型如下式所示:
{ y ^ ( t ) = F ^ ( y ( t − 1 ) ⋯ y ( t − n y ) , u ( t − 1 ) ⋯ u ( t − n u ) ) y ^ n ( x , t ) = ∑ i = 1 n φ i ( x ) y ^ i ( t ) (24)
图2. 时空FOA-Elman模型结构图
综合以上所述建模方法,分布参数系统的时空分解建模方法步骤总结如下:
Step 1:为分布参数系统施加激励,获得系统输出 { y ( x , t ) } i = 1 , t = 1 N , L ,利用snapshots法得到系统空间基函数 { ϕ i ( x ) } i = 1 n 和时间系数 { y ( t ) } t = 1 L 。
Step 2:在每个采样点处,对激励信号 u ( t ) 和时间系数 y ( t ) ,利用FOA-Elman进行模型辨识。
Step 3:系统重构,得到建模输出
对如下分布参数系统—催化过程 [
图3. 催化反应过程
在一定条件下,该反应过程可以用如下偏微分方程和边界条件描述:
∂ y ( x , t ) ∂ t = ∂ 2 y ( x , t ) ∂ x 2 + β T ( e − γ ( 1 + y ) − e − γ ) + β u ( b T ( x ) u ( t ) − y ( x , t ) ) (25)
边界条件为: y ( 0 , t ) = 0 、 y ( X , t ) = 0 ,初始条件为: y ( x , 0 ) = y 0 ( x ) ,式中 y ( x , t ) 、 u ( t ) 、 b ( x ) 、 β T 、 β u 、 γ 、 X 分别为反应器内温度、冷却介质温度、执行器空间分布函数、反应热量、导热系数、活化能量及反应器空间长度。
假设在管式反应器中等间隔的分布着4个控制器: u ( t ) = [ u 1 ( t ) , ⋯ , u 4 ( t ) ] T ,其空间分布函数为: b ( x ) = [ b 1 ( x ) , ⋯ , b 4 ( x ) ] T ,其中, b i ( x ) = H ( x − ( i − 1 ) π 4 ) − H ( x − i π 4 ) , H ( ⋅ ) 为单位阶跃函数。
为获得系统的snapshots,通过控制器对系统进行充分激励,选择激励信号为: u i ( t ) = 1.1 + 5 sin ( 15 t + i 10 ) ( i = 1 , 2 , 3 , 4 ) 。仿真过程主要参数设置如表1所示。
参数 | β T | β u | y 0 ( x ) | T | X | |
---|---|---|---|---|---|---|
取值 | 16 | 2 | 2 | 0 | 2 | 3 |
表1. 仿真参数设置
通过高阶有限差分法求解式(25)所示偏微分方程,获得系统真实响应值。在使用snapshots方法进行K-L时空分离时要求时间节点数要小于空间节点数。因此在本文中选择时间节点数L为100,空间节点
数N为120。经过有线差分法获得系统响应为: y ( x , t ) = { y ( x i , t j ) } i = 1 , j = 1 120 , 100 ,系统响应如图4所示:
图4. 系统有限差分法求解结果
为了比较所取空间基函数个数n对建模精度的影响,定义如下性能指标:
RMSE = ( ∫ ∑ e ( x , t ) 2 d x ∫ d x ∑ Δ t ) 1 / 2 (26)
其中 e ( x , t ) = y ( x , t ) − y ^ ( x , t ) 。
FOA-Elman神经网络模型中的模型阶数 n y , n u 分别为3和4。FOA算法参数设置为多次运行最佳值,取Elman神经网络隐含层数量为7。在获得FOA-Elman模型之后,对其使用空间基函数进行时空综合,即可得到完整的时空FOA-Elman神经网络模型。图5为 n = 4 时的空间基函数,表2为取不同个数的空间基函数 n 时FOA-Elman-PCA和Elman-PCA的RMSE对比。
图5. 空间基函数(n = 4)
基函数个数 | n | 1 | 2 | 3 | 4 |
---|---|---|---|---|---|
RMSE | Elman-PCA | 0.1159 | 0.0527 | 0.0270 | 0.0248 |
FOA-Elman-PCA | 0.0987 | 0.0489 | 0.0250 | 0.0202 |
表2. Elman-PCA与FOA-Elman-PCA的RMSE对比
从表2中可以看出,数据在经过PCA降维后,使用3个空间主导基函数,时空模型就可在整个空间上获得较高的建模精度;同时取得的主导空间基函数个数越多,建模精度越好,但是在n大于3后,建模精度的提升效果就不再明显。当所取主导空间基函数个数相同时,FOA-Elman-PCA的RMSE要小于Elman-PCA的RMSE。因此,在使用相同的主元数提取特征值,FOA-Elman-PCA具有更强的建模能力。因此,本文综合建模精度和复杂度,选取n = 3对系统进行建模仿真,其建模输出和建模误差分别如图6,图7所示。
为验证模型泛化能力,改变模型激励信号为: u i ( t ) = 1.1 + 5 sin ( 16 t + i 10 ) ( i = 1 , 2 , 3 , 4 ) ,经运算模型RMSE为0.0209。因此,本文所提出的建模方法有很好的建模精度和泛化能力。
图6. 时空FOA-Elman模型输出(n = 3)
图7. 时空FOA-Elman模型误差(n = 3)
本文给出了一种基于分布参数系统输入输出数据驱动的FOA-Elman时空分解建模方法。首先使用K-L分解对系统降维获得主导空间基函数,随后利用时空分解求得系统时间系数,并结合系统输入激励辨识出一个Elman神经网络模型,最后对系统进行模型重构,获得预测输出。本文研究方法不需要知道模型内部机理,仅仅依靠模型输入输出数据即可实现建模,同时具有建模方法简单、运算量小、精度高等特点,通过对催化反应过程的仿真表明,该方法对分布参数系统具有良好的建模能力和泛化能力。
杨仁建,范瑛琦. 基于时空FOA-Elman的分布参数系统建模——时空建模Time/Space Separation Based FOA-Elman Modeling for Non-Linear Distributed Parameter Processes—Spatial-Temporal Modeling[J]. 计算机科学与应用, 2019, 09(02): 328-338. https://doi.org/10.12677/CSA.2019.92038