evolving fuzzy model method for online fuzzy model identification
TRANSCRIPT
University of Ljubljana
Faculty of electrical engineering
Wien, 2012 eFuMo 1
Evolving Fuzzy Model
Method for Online Fuzzy
Model Identification
Dejan Dovžan, Vito Logar and Igor Škrjanc
E-mail:: [email protected], [email protected] and [email protected]
Web page: http://msc.fe.uni-lj.si/
University of Ljubljana
Faculty of electrical engineering
Outline:
Wien, 2012 eFuMo 2
•Description of the problem (monitoring of the
oxygen in WWT process)
•Proposed solution
•Used method
•Results
•Conclusion
University of Ljubljana
Faculty of electrical engineering Description of problem:
Wien, 2012 eFuMo 3
1.Tank 2.Tank
NH4 in
Air flow
Valve opening
O2
NH4
University of Ljubljana
Faculty of electrical engineering Description of the problem:
Wien, 2012 eFuMo 4
•Monitoring Waste Water Treatment process
•Problem:
•Sensors are falling out frequently, causing
problems in control.
•The process is nonlinear and time varying
•Goal: Creating soft sensor for oxygen and ammonia:
if the real signal differ from the calculated model output,
raise the alarm and propose a different output.
•Design and solution test performed on a real data from
plant gathered for aprox. 11 days with low amount of
sensor fallouts.
University of Ljubljana
Faculty of electrical engineering Proposed solution for O2
monitoring:
Wien, 2012 eFuMo 5
•For oxygen monitoring two models are used describing
relations between:
•Valve opening and air flow
•Air flow and oxygen concentration in the tank
•The TS fuzzy model is used for model the relations
•Using evolving Fuzzy Model method, to learn and
adapt the process model.
•The local model structure is in form of:
y(k+1)=a y(k)+b u(k) + r (ARX)
University of Ljubljana
Faculty of electrical engineering Proposed solution for O2
monitoring:
Wien, 2012 eFuMo 6
•The idea of fuzzy model is to approximate a nonlinear
process with linear models that are valid in a certain
input-output area.
•For space partitioning we use clustering
•For model identification weighted least squares
u
y
University of Ljubljana
Faculty of electrical engineering Used method:
Wien, 2012 eFuMo 7
•For learning the fuzzy model
eFuMo toolbox was used
• Based on:
•Recursive Gustafson-Kessel / fuzzy c-means
clustering method
•Fuzzy weighted least squares
•Includes evolving mechanisms:
•Adding mechanism
•Removing mechanism
•Merging mechanism (on distance and firing levels
correlation)
•Splitting mechanism
University of Ljubljana
Faculty of electrical engineering Used method:
Wien, 2012 eFuMo 8
•Recursive Gustafson-Kessel / fuzzy c-means
clustering method:
•On-line calculation of cluster centers
•On-line calculation of Fuzzy covariance matrix:
University of Ljubljana
Faculty of electrical engineering Used method:
Wien, 2012 eFuMo 9
•Fuzzy weighted least squares for on-line local
models’ parameter estimation:
University of Ljubljana
Faculty of electrical engineering
Used method:
Wien, 2012 eFuMo 10
University of Ljubljana
Faculty of electrical engineering Used method:
Wien, 2012 eFuMo 11
•Removing mechanism:
oMinimal existence condition: oIn certain time after creation support must rise above a certain user defined
threshold in order to keep cluster.
oSupport is the number of samples assigned to clusters. The sample is
assigned to cluster with the highest firing level.
oSupport/Age based condition:
k…current sample number,
ki…cluster creation sample number
Nsi…support
University of Ljubljana
Faculty of electrical engineering Used method:
Wien, 2012 eFuMo 12
•Merging mechanism:
oUnsupervised: oBased on normalized distance
oCorrelation analysis: oBased on correlation between firing levels and local-
models’ parameters (angle between them).
University of Ljubljana
Faculty of electrical engineering Used method:
Wien, 2012 eFuMo 13
•Splitting mechanism:
oBased on cluster error
oModel error is calculated and assigned to clusters
based on their firing levels
oWhen the highest error rises above threshold the
cluster is split.
oNew position calculated based on standard
deviation of data around the cluster
University of Ljubljana
Faculty of electrical engineering
Used method (Monitoring
system):
Wien, 2012 eFuMo 14
INPUT
Valve/Air monitor
Evolving model
Adaptive model
Static model
Y_e
Y_a
Y_s
Compare
model outputs
and real
output
Y_real
Y_soft
Alarm
Learning
University of Ljubljana
Faculty of electrical engineering Used method (Monitoring
system):
Wien, 2012 eFuMo 15
If Alarm(k-200) = 0 then:
•Calculate model outputs for k-200 sample and
calculate their absolute error
•Assign the error to the model
(e_model=0.99*e_model+0.01*e_current)
• learn evolving model and adaptive model
•If evolving model adds a cluster or removes a cluster
replace the adaptive and static model with the
evolving model structure before adding/removing of
the cluster (only if the evolving model error is lower
than the static and adaptive model error)
Learning module
•Delayed learning for 200 samples
University of Ljubljana
Faculty of electrical engineering Used method (Monitoring
system):
Wien, 2012 eFuMo 16
Data sample
Evolving
mechanisms
Add or
remove
clusters?
NO
Adaptation
mechanisms
YES Replace static
and adaptive
model if
necessary
Add or
remove
cluster
If e_evolving<e_static
than static_model=evolving_model
If e_evolving<e_adaptive
than adaptive_model=evolving_model
Evolving model learning
University of Ljubljana
Faculty of electrical engineering
Used method (Monitoring
system):
Wien, 2012 eFuMo 17
INPUT
Valve/Air monitor
Evolving model
Adaptive model
Static model
Y_e
Y_a
Y_s
Compare
model outputs
and real
output
Y_real
Y_soft
Alarm
Learning
University of Ljubljana
Faculty of electrical engineering Used method (Monitoring
system):
Wien, 2012 eFuMo 18
Comparison module
Ok_e=|Y_e-Y_real|>1.5 y_std
Ok_a=|Y_a-Y_real|>1.5 y_std
Ok_s=|Y_s-Y_real|>1.5 y_std
Y_soft
Alarm If any(Ok_e,a,s==0) then Alarm = 0 else Alarm = 1
If Alarm = 0 then Y_soft = Y_real else Y_soft = Y_e,a,s
Calculated from fuzzy
covariance matrices
University of Ljubljana
Faculty of electrical engineering
Results
Wien, 2012 eFuMo 19
•We took the least faulty data and simulated sensor
fallouts, which are most common errors in WWT
process
•The data were normalized
University of Ljubljana
Faculty of electrical engineering Results(valve/air flow)
Wien, 2012 eFuMo 20
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x 104
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
sample number
valve
open
ing/co
ntroll
er ou
tput
0.5 1 1.5 2 2.5 3 3.5 4 4.5
x 104
-1
-0.5
0
0.5
1
sample number
air flo
w
sensor output
soft-sensor output
University of Ljubljana
Faculty of electrical engineering Results(valve/air flow)
Wien, 2012 eFuMo 21
0.5 1 1.5 2 2.5 3 3.5 4 4.5
x 104
-1
-0.5
0
0.5
1
sample number
air flo
w
sensor output
soft-sensor output
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x 104
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
sample number
air flo
w ala
rm
University of Ljubljana
Faculty of electrical engineering Results(valve/air flow)
Wien, 2012 eFuMo 22
2.5 2.6 2.7 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5
x 104
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
sample number
air f
low
sensor output
real output
soft-sensor output
University of Ljubljana
Faculty of electrical engineering Results (air flow/O2)
Wien, 2012 eFuMo 23
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
x 104
-1
-0.5
0
0.5
1
sample number
O 2 in se
cond
tank
sensor output
soft-sensor output
0.5 1 1.5 2 2.5 3 3.5 4 4.5
x 104
-1
-0.5
0
0.5
1
sample number
air flo
w
sensor output
soft-sensor output
University of Ljubljana
Faculty of electrical engineering Results (air flow/O2)
Wien, 2012 eFuMo 24
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
x 104
-1
-0.5
0
0.5
1
sample number
O 2 in se
cond
tank
sensor output
soft-sensor output
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
x 104
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
sample number
O 2 alarm
University of Ljubljana
Faculty of electrical engineering Results (air flow/O2)
Wien, 2012 eFuMo 25
3 3.1 3.2 3.3 3.4 3.5 3.6 3.7
x 104
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
sample number
O2 in s
econd t
ank
sensor output
soft-sensor output
real output
University of Ljubljana
Faculty of electrical engineering Conclusions
Wien, 2012 eFuMo 26
•The first results are encouraging
•Maybe better tuning of O2 model
•Need of testing for other kind of sensor errors
•Implement additional methods for checking the models
(if they are valid)
•Do a monitoring algorithm for ammonia