# Particle Swarm Optimization Iterative Identification Algorithm and Gradient Iterative Identification Algorithm for Wiener Systems with Colored Noise

Authors: Junhong Li; Xiao Li
Journal: Complexity
 (2018)

---

## Abstract

This paper considers the parameter identification of Wiener systems with colored noise. The difficulty in the identification is that the model is nonlinear and the intermediate variable cannot be measured. Particle swarm optimization is an artificial intelligence evolutionary method and is effective in solving nonlinear optimization problem. In this paper, we obtain the identification model of the Wiener system and then transfer the parameter identification problem into an optimization problem. Then, we derive a particle swarm optimization iterative (PSOI) identification algorithm to identify the unknown parameter of the Wiener system. Furthermore, a gradient iterative identification algorithm is proposed to compare with the particle swarm optimization iterative algorithm. Numerical simulation is carried out to evaluate the performance of the PSOI algorithm and the gradient iterative algorithm. The simulation results indicate that the proposed algorithms are effective and the PSOI algorithm can achieve better performance over the gradient iterative algorithm.


---

## Body

## 1. Introduction

Almost all practical systems are nonlinear [1–3]. Many identification methods have been developed for linear systems [4, 5], bilinear systems [6–8], and nonlinear systems [9]. The Wiener models are a typical class of nonlinear systems and are widely used in industrial production process [10, 11]. The Wiener nonlinear system consists of a dynamic linear subsystem and a static nonlinear subsystem and has the characteristics of complex structure between subsystems [12, 13]. One of the difficulties in identifying Wiener nonlinear model parameters is that the intermediate variable (the output of the linear subsystem) cannot be measured, and the identification issues for Wiener systems have attracted great attention [14].The iterative identification method is generally used to identify the system with unknown item in the model information vector [15–17]. The basic idea of iterative identification is to estimate the unknown items in the information vector by using the iterative parameter estimation of the previous step [18, 19]. The iterative identification method is an important branch of system identification, which can be realized by using gradient search, least squares principle, and Newton optimization [20–22].The particle swarm optimization algorithm is an evolutionary computing technique which is based on the simulation of birds’ flock [23, 24]. The basic idea of particle swarm optimization algorithm is to find the optimal solution through collaboration and information sharing among individuals in the group [25]. This algorithm has attracted the attention of academia with the advantages of easy implementation, high precision, and fast convergence [26]. Compared with the conventional optimization methods, it has excellent optimized performances and characteristics [27]. The particle swarm optimization algorithm has been widely used in function optimization, system identification, and fuzzy control [28–30]. Recently, Chen and Wang proposed a stochastic gradient algorithm and a particle swarm optimization algorithm to estimate all the unknown parameters of the Hammerstein system [31]. In this paper, we use the particle swarm optimization algorithm and the gradient iterative algorithm to identify the unknown parameters of the Wiener systems with colored noise.The rest of the paper is organized as follows. Section2 gives the system description for the Wiener model. Section 3 gives the particle swarm optimization algorithm for Wiener nonlinear systems. Section 4 derives a gradient iterative algorithm for the discussed system. Section 5 provides an example for illustrating the results in this paper. Finally, some conclusions are given in Section 6.


## 2. System Description

Consider the Wiener system shown in Figure1 with the following expressions:
(1)yt≔fxt+Dzvt,xt≔BzAzut,where Az, Bz, and Dz are polynomials in the shift operator z−1z−1yt=yt−1 with
(2)Az≔1+a1z−1+a2z−1+⋯+anaz−na,Bz≔b1z−1+b2z−2+⋯+bnbz−nb,Dz≔1+d1z−1+d2z−2+⋯+dndz−nd.Figure 1
The Wiener system model.Assume that the degreesna, nb, and nd are known and yt=0, ut=0, and vt=0 for t≤0.Define the linear subsystem outputxt as
(3)xt≔BzAzut,and the noise model output wt as
(4)wt≔Dzvt.The static nonlinear block is a nonlinear function(5)fxt≔γ1f1xt+γ2f2xt+⋯+γnγfnγxt,where the basis g≔f1,f2,…,fnγ are known nonlinear functions of xt, the unknown parameters γi are the coefficients of the nonlinear functions and assume that the degree nγ is known. Without loss of generality, let the first coefficient of nonlinear block γ1 be unity and rewrite the fxt as
(6)fxt=xt+γ2x2t+⋯+γnγxnγt.In the above equations,ut and yt are the system input and output, respectively, and vt is a Gaussian distributed white noise with zero mean and variance σ2. From (3), we have
(7)xt=1−Azxt+Bzut=−a1xt−1−⋯−anaxt−na+b1ut−1+⋯+bnbut−nb=φ1Ttθ1,where
(8)φ1t≔−xt−1,…,−xt−na,ut−1,…,ut−nbT∈ℝna+nb,θ1≔a1,a2,…,ana,b1,b2,…,bnbT∈ℝna+nb.From (4), we can obtain
(9)wt=Dzvt=d1vt−1+d2vt−2+⋯+dndvt−nd=φdTtθd,where
(10)φdt≔vt−1,vt−2,…,vt−ndT∈ℝnd,θd≔d1,d2,…,dndT∈ℝnd.Thus, the Wiener nonlinear system model can be written as follows:(11)yt=fxt+wt=xt+γ2x2t+⋯+γnγxnγt+Dzvt=φ1Ttθ1+φ2Ttθ2+φdTtθd+vt=φTtθ+vt,where
(12)φ2t≔x2t,x3t,…,xnrtT∈ℝnγ−1,θ2≔γ2,γ3,…,γnγT∈ℝnγ−1,φt≔φ1Tt,φ2Tt,φdTtT∈ℝn,θ≔θ1T,θ2T,θdTT∈ℝn,n≔na+nb+nγ−1+nd.


## 3. The Particle Swarm Optimization Algorithm

With the development of optimization theory, some new intelligent algorithms have been proposed to solve the problem of traditional system identification, such as the genetic algorithm [32], the ant colony algorithm [33], and the particle swarm algorithm [34, 35], these algorithms enrich the system identification technology. Particle swarm optimization algorithm is a nature-inspired evolutionary algorithm, and it has been successful in solving a wide range of real-value optimization problems [36]. In the following, the particle swarm optimization algorithm is used to identify the unknown parameters of the Wiener nonlinear systems.Suppose that the search space isn-dimensional and a particle swarm consists of M particles.Define the information vector as(13)φt≔−xt−1,…,−xt−na,ut−1,…,ut−nb,x2t,x3t,…,xnrt,vt−1,vt−2,…,vt−ndT∈ℝn.Letp represent the data length. Define the stacked output vector Yp and the stacked information matrix Φp as
(14)Yp≔yp,yp−1,…,y1T∈ℝp,Φp≔φp,φp−1,…,φ1∈ℝn×p.Define the independent position of each particleθ^i and the independent velocity Qi as follows:
(15)θ^i≔a^1i,a^2i,…,a^nai,b^1i,b^2i,…,b^nbi,γ^2i,γ^3i,…,γ^nγi,d1i,d2i,…,d^ndiT∈ℝn,Qi≔q1i,q2i,…,qniT∈ℝn,i=1,2,…,M.Letθ^k denote the estimates of θ^ at iteration kk=1,2,3,…. Define θ^ihk as the best position of each particle at iteration k
(16)θ^ihk≔a^1ihk,…,a^naihk,b^1ihk,…,b^nbihk,γ^2ihk,…,γ^nγihk,d^1ihk,…,d^ndihkT∈ℝn.Letφ^1,kt and φ^kt denote the estimates of φ^1t and φ^t at iteration k
(17)φ^1,kt≔−x^k−1t−1,…,−x^k−1t−na,ut−1,…,ut−nbT∈ℝna+nb,φ^kt≔−x^k−1t−1,…,−x^k−1t−na,ut−1,…,ut−nb,x^k−12t,x^k−13t,…,x^k−1nrt,v^k−1t−1,v^k−1t−2,…,v^k−1t−ndT∈ℝn.Then, the estimatesΦ^kp can be obtained as follows:
(18)Φ^kp=φ^kp,φ^kp−1,…,φ^k1.According to the basic principle of the particle swarm algorithm, the best position of each particleθ^ihk satisfies the following cost function:
(19)θ^ihk≔argminYp−Φ^kTpθ^ik,Yp−Φ^kTpθ^ihk−1.Letθ^gk denote the global best position of all the particles
(20)θ^gk≔a^1gk,…,a^nagk,b^1gk,…,b^nbgk,γ^2gk,…,γ^nγgk,d^1gk,…,d^ndgkT∈ℝn,where θ^gk satisfies
(21)θ^gk=argminYp−Φ^kTpθ^ihk.Defineθ^g1k≔a^1gk,…,a^nagk,b^1gk,…,b^nbgkT. According to (7), we can obtain the estimation of x^kt
(22)x^kt=φ^1,kTtθ^g1k.According to the principle of particle swarm optimization, each particle goes to a new position and a new velocity at iterationk+1 as follows:
(23)θ^ik+1=θ^ik+Q^ik+1,Q^ik+1=βQ^ik+ξ1ζ1θ^ihk−θ^ik+ξ2ζ2θ^gk−θ^ik.Replacingφt and θ with φ^kt and θ^gk in (11), we can obtain the estimate v^kt=yt−φ^kTtθ^gk. Thus, we can obtain the particle swarm optimization iterative (PSOI) identification algorithm as follows:
(24)θ^ik+1=θ^ik+Q^ik−1,i=1,2,…,M,(25)Q^ik+1=βQ^ik+ξ1ζ1θ^ihk−θ^ik+ξ2ζ2θ^gk−θ^ik,i=1,2,…,M,(26)φ^kt=−x^k−1t−1,…,−x^k−1t−na,ut−1,…,ut−nb,x^k−12t,x^k−13t,…,x^k−1nrt,v^k−1t−1,v^k−1t−2,…,v^k−1t−ndT,(27)φ^1,kt=−x^k−1t−1,…,−x^k−1t−na,ut−1,…,ut−nbT,(28)x^kt=φ^1,kTtθ^g1k,(29)θ^ihk=a^1ihk,…,a^naihk,b^1ihk,…,b^nbihk,γ^2ihk,…,γ^nγihk,d^1ihk,…,b^ndihkT,(30)θ^gk=a^1gk,⋯,a^nagk,b^1gk,⋯,b^nbgk,γ^2gk,⋯,γ^nγgk,d^1gk,⋯,d^ndgkT,(31)Yp=yp,yp−1,…,y1T,(32)Φ^kp=φ^kp,φ^kp−1,…,φ^k1,(33)θ^ihk=argminYp−Φ^kTpθ^ik,Yp−Φ^kTpθ^ihk−1,(34)θ^gk=argminYp−Φ^kTpθ^ihk,(35)θ^g1k=a^1gk,…,a^nagk,b^1gk,…,b^nbgkT,(36)v^kt=yt−φ^kTtθ^gk.The steps of the PSOI algorithm are listed as follows:(1)
Letk=0, set the initial values as θ^i0, Q^i0, θ^ih0, and θ^g0,i=1,2,…,M. Set the initial factor β,ξ1,ξ2 and give a small positive number ε. Set x^0t=1/p0, p0=106, and v^0t=0.
(2)
Collect the input and output dataut and yt, t=1,2,…,p, form φ^1,kt by (27) and φ^kt by (26). Construct Yp and Φkp by (31) and (32), respectively.
(3)
Update the velocity of each particleQ^ik+1, i=1,2,…,M, according to (25).
(4)
Update the position of each particleθ^ik+1 by (24).
(5)
Compute the best position of each particleθ^ihk+1 by (33).
(6)
Determine the best position of all the particlesθ^gk+1 by (34).
(7)
Computev^k+1t by (36). Form θ^g1k+1 by (35), compute x^k+1t by (28).
(8)
Compareθ^gk+1 and θ^gk: if θ^gk+1−θ^gk≤ε, then terminate the procedure and obtain the estimate θ^gk+1; otherwise, increase k by 1 and go to Step 2.The flowchart of PSOI algorithm is shown in Figure2.Remark 1.
The major factors that influence the performance of the particle swarm optimization includeξ1,ξ2, and β. ξ1 and ξ2 are positive constants between 0 and 2. ξ1 is the step size that adjusts the particle to its own best position. ξ2 is the step size that regulates the particle to the global best position. β is called the inertia factor and is an important adjusting parameter of the PSOI algorithm. A larger β can facilitate global optimization; otherwise, a smaller one can facilitate local optimization. It can be chosen as a constant between 0.1 and 0.9 generally. ζ1 and ζ2 are two independent random numbers uniformly distributed in the range of [0, 1].Figure 2
The flowchart of PSOI algorithm.


## 4. Gradient Iterative Algorithm

The gradient search is a very basic and ancient search method [37, 38]. It is widely used in parameter identification of nonlinear systems [39–41]. In the following, based on the gradient search principle, a gradient iterative identification algorithm for Wiener nonlinear model is derived.Consider the latestp group data from i=t−p+1 to i=t and define the stacked output vector Yt, the stacked information matrix Φt, and the stacked noise vector Vt as follows:
(37)Yt≔yt,yt−1,…,yt−p+1T∈ℝp,Φt≔φt,φt−1,…,φt−p+1T∈ℝp×n,Vt≔vt,vt−1,…,vt−p+1T∈ℝp.From (11), we have
(38)Yt=Φtθ+Vt.Define the criterion function(39)J1θ≔Yt−Φtθ2.Letk=1,2,3,…,n as an iterative variable and θ^kt is the kth iterative estimation of parameter vector θ at time t. For the optimization problem (39), the gradient iterative algorithm is obtained by using the negative gradient search
(40)θ^kt=θ^k−1t−μkt2gradJ1θ^k−1t=θ^k−1t+μktΦTtYt−Φtθ^k−1t,where μkt is the iterative step-size. However, in the upper formula of (40), the gradient iterative estimate θ^kt impossible to calculate because the stacked information vector Φt contains unknown intermediate variables xt and vt. The solution is to replace the unknown variables xt and vt by x^k−1t and v^k−1t, respectively. Let φ^1,kt, φ^2,kt, and φ^kt denote the estimates of φ1t, φ2t, and φt at iteration k, respectively
(41)φ^1,kt≔−x^k−1t−1,…,−x^k−1t−na,ut−1,…,ut−nbT∈ℝna+nb,φ^2,kt≔x^k−12t,x^k−13t,…,x^k−1nrtT∈ℝnγ−1,φ^d,kt≔v^k−1t−1,v^k−1t−2,…,v^k−1t−ndT∈ℝnd,φ^kt≔φ^1,kTt,φ^2,kTt,φ^d,kTtT∈ℝn.LetΦ^kt denote the estimates of Φt at iteration k
(42)Φ^kt≔φ^kt,φ^kt−1,…,φ^kt−p+1T∈ℝp×n,and let θ^1,kt denote the estimates of θ1 at iteration k
(43)θ^1,kt≔a^1,kt,a^2,kt,…,a^na,kt,b^1,kt,b^2,kt,…,b^nb,ktT∈ℝna+nb.Thus,x^kt can be calculated by the following:
(44)x^kt≔φ^1,kTtθ^1,kt.Defineθ^kt=θ1,kTt,θ2,kTt,θd,kTtT as the estimates of θ=θ1T,θ2T,θdTT at iteration k and then the estimates of vkt can be obtained by the following:
(45)v^kt≔yt−φ^kTtθ^kt.ReplacingΦt by Φ^kt in (40) and rewriting θ^kt give
(46)θ^kt=θ^k−1t+μktΦ^kTtYt−Φ^ktθ^k−1tT.Thus, we can obtain the gradient iterative (GI) estimation algorithm for Wiener models(47)θ^kt=θ^k−1t+μktΦ^kTtYt−Φ^ktθ^k−1t,k=1,2,3,…,(48)Φ^kt=φ^kt,φ^kt−1,…,φ^kt−p+1T,(49)Yt=yt,yt−1,…,yt−p+1T,(50)φ^kt=φ^1,kTt,φ^2,kTt,φ^d,kTtT,(51)φ^1,kt=−x^k−1t−1,…,−x^k−1t−na,ut−1,…,ut−nbT,(52)φ^2,kt=x^k−12t,x^k−13t,…,x^k−1nrtT,(53)φ^d,kt=v^k−1t−1,v^k−1t−2,⋯,v^k−1t−ndT,(54)v^kt=yt−φ^kTtθ^kt,(55)x^kt=φ^1,kTtθ^1,kt,(56)θ^1,kt=a^1,kt,a^2,kt,…,a^na,kt,b^1,kt,b^2,kt,…,b^nb,ktT,(57)0<μkt≤2λmaxΦ^kTtΦ^kt.The steps of the GI algorithm are listed as follows:(1)
Letk=1, θ^0t=1/p0, x^0t=1/p0, and p0=106 and give a small positive number ε.
(2)
Collect the input and output dataμt and yt and form Yt by (49) and φ^1,kt by (51).
(3)
Formθ^1,kt by (56), compute x^kt by (55), and form φ^2,kt by (52).
(4)
Computev^kt by (54) and form φ^d,kt by (53).
(5)
Formφ^kt by (50) and form Φ^kt by (48).
(6)
Choose a suitableμkt by (57) and compute θ^kt by (47).
(7)
Compareθ^kt and θ^k−1t: if θ^kt−θ^k−1t≤ε, then terminate the procedure and obtain θ^kt; otherwise, increase k by 1 and go to Step 2.


## 5. Examples

Consider the following Wiener nonlinear systems:(58)yt=fxt+Dzvt,xt=BzAzut,Az=1+a1z−1+a2z−2=1−0.43z−1+0.35z−2,Bz=b1z−1+b2z−2=0.76z−1+0.62z−1,Dz=1+d1z−1+d2z−2=1+0.20z−1−0.10z−2,fxt=γ1xt+γ2x2t+γ3x3t=xt+0.98x2t+1.15x3t,θ=a1,a2,b1,b2,γ2,γ3,d1,d2T=−0.43,0.35,0.76,0.62,0.98,1.15,0.20,−0.10T.In simulation, the inputut is taken as an uncorrelated stochastic signal sequence with zero mean and unit variance and vt as a Gaussian white noise sequence with zero mean and variance σ2=0.102. Applying the GI algorithm and the PSOI algorithm to estimate the parameters of this system, the parameter estimates and their errors are shown in Tables 1 and 2 and Figures 3 and 4. In the PSOI algorithm simulation, each swarm generation contains 10 position particles. The coefficients β, ξ1, and ξ2 in (25) are set to 0.8, 1.2, and 1.8, respectively.Table 1
The GI estimates and errors (σ2=0.102).
k
α1
α2
b1
b2
γ2
γ3
d1
d2
δ (%)
1
0.00000
0.00000
0.58390
0.68393
0.00000
0.00000
−0.04169
−0.02620
86.40246
5
−0.02316
0.00425
0.61143
0.71531
0.02417
0.09941
0.13680
−0.03462
80.62844
10
−0.05236
0.01690
0.65537
0.75735
0.06610
0.28009
0.31492
−0.05635
72.44222
50
−0.19707
0.17193
0.77823
0.85545
0.55958
1.11096
0.34000
−0.01365
31.03963
100
−0.26799
0.23558
0.76378
0.81452
0.78248
1.08091
0.26414
−0.03625
18.93492
500
−0.40949
0.33611
0.75852
0.64487
0.96516
1.14748
0.20235
−0.07345
2.45484
700
−0.42263
0.34486
0.75695
0.62722
0.98006
1.16077
0.20205
−0.07432
1.59965
True values
−0.43000
0.35000
0.76000
0.62000
0.98000
1.15000
0.20000
−0.10000
0.00000Table 2
The PSOI estimates and errors (M=60).
k
α1
α2
b1
b2
γ2
γ3
d1
d2
δ (%)
10
−0.70817
0.59244
0.68145
0.44089
0.69816
1.06690
0.32058
−0.04582
27.79105
20
−0.74261
0.64034
0.84768
0.63585
0.98413
1.08805
0.19259
0.03973
24.33881
30
−0.58252
0.36827
0.80718
0.54617
0.99907
1.13505
0.10336
−0.10655
10.69988
60
−0.42770
0.35023
0.74459
0.60637
0.98132
1.15542
0.19161
−0.09934
1.21353
90
−0.43027
0.35147
0.75416
0.61506
0.97971
1.15157
0.19172
−0.09235
0.72682
120
−0.43132
0.35162
0.75594
0.61617
0.97964
1.15089
0.19158
−0.09109
0.71978
True values
−0.43000
0.35000
0.76000
0.62000
0.98000
1.15000
0.20000
−0.10000
0.00000Figure 3
The GI estimation errors versusk.Figure 4
The PSOI estimation errors versusk.From the simulation results in Tables1 and 2 and Figures 3 and 4, we can draw the following conclusions:
(i)
Ask increases, the parameter estimation errors given by the GI algorithm and PSOI algorithm gradually become smaller (see Tables 1 and 2).
(ii)
The PSOI algorithm has a faster convergence rate than the GI algorithm (see Figures3 and 4).
(iii)
The PSOI algorithm has a higher estimation accuracy than the GI algorithm, which can be seen from Tables1 and 2.


## 6. Conclusions

In this paper, we derived the particle swarm optimization iterative algorithm and the gradient iterative algorithm for Wiener nonlinear systems. Compared with the gradient iterative algorithm, the particle swarm optimization algorithm has a higher estimation accuracy and has a faster convergence rate. The proposed approaches in the paper can be combined with other mathematical tools [42–47] to study the performances of some parameter estimation algorithms and can be applied to other multivariable systems with different structures and disturbance noises and other literature [48–52].



---

*Source: 7353171-2018-07-24.xml*