Modeling and Identification

sharpfartsAI and Robotics

Nov 8, 2013 (4 years and 1 day ago)

94 views

Neuro
-
Fyzzy
Methods


for



Modeling and Identification


Part 2 : Examples

Presented by:

Ali Maleki

Presentation Agenda



Introduction


Tools for Fuzzy Identification and Modelling


MATLAB


Fuzzy Logic Toolbox


ANFIS



Fuzzy Modeling and Identification Toolbox



Examples :


Example 1: Hair Dryer


Example 2: Static Function


Example 3: Neutralization Process

Introduction



Control Systems


Competion


Environment requirements


Energy and material costs


Demand for robust, fault
-
tolerant systems





Extra needs for Effective process modeling techniques





Conventional modeling?







Lack precise and formal knowledg about the system


Strongly nonlinear behavior,


High degree of uncertainty,


Time varying characteristics

Introduction (cont.)



Solution: Neuro
-
fuzzy modeling


A powerful to
ol which can facilitate the effective
development of models by combining information from
different source:


Empirical
models


Heuristics

Data





Neuro
-
fuzzy models


Describe systems by means of fuzzy if
-
then rules


Represented in a network structure


Apply algorithms from the area of Neural Networks

Zero
-
order TS fuzzy model














Typical membership function






Input
-
output equation

Introduction

(cont.)

Introduction (cont.)

System identification
steps:


Structure identification


Parameter estimation



choice of the model’s structure determines the
flexibility of
the model in the approximation of (unknown) systems



model with a rich structure can approximate more
complicated functions, but, will have worse generalization
properties



Good generalization means that a model fitted to one
data set will also perform well on another data set from
the same process.

Tools for Fuzzy Model
ing & Identification


Fuzz
y Modelling and Identification Toolbox




Develped by R. Babuska


http://Lcewww.et.tudelft.nl/~Babuska


Installation


Version 3.03 , April 2001


Fuzzy Logic Toolbox for M
ATLAB



www.Mathworks.com/products/fuzzylogic



Version 2.1.3 , June 2004

Fuzzy Model
ing and Identification Toolbox

Fuzzy Model
ing and Identification Toolbox (cont.)

FMSIM function:




Simulate a MIMO input
-
output fuzzy model


Fuzzy Model
ing and Identification Toolbox (cont.)

Structure of FM (fmstruct f
unction)
:


Fuzzy Model
ing and Identification Toolbox (cont.)

Structure of FM (fmstruct f
unction)
:


Fuzzy Model
ing and Identification Toolbox (cont.)


plot
mfs

function:

Plot membership functions


rms

function:

Root mean square between two signals


vaf

function:

Percentile variance accounted for (VAF) between two signals



Fuzzy Model
ing and Identification Toolbox (cont.)

MATLAB
-

Fuzzy Toolbox


anfis

f
unction:

Training routine for Sugeno
-
type FIS


anfis
edit

function:

Open the ANFIS Editor GUI


genfis1

function:

Generate an FIS structure from data without data clustering


genfis2

function:

Generate an FIS structure from data using subtractive clustering

MATLAB
-

Fuzzy Toolbox (cont.)

ANFIS Editor GUI


Exa
mple 1 :
Hair Dryer
(Fuzzy Logic Toolbox)



Nonlinear dynamical system identification


With u
se of
ANFIS

function in the
Fuzzy Logic Toolbox


Data set

was obtained from a laboratory device called
Feedback's Process Trainer PT 326,


L. Ljung
,

"System Identification, Theory for the User", Prentice
-
Hall, 1987


Chapter 17


The d
evice's function is like a hair dryer:









Input u(k) : Voltage over
t
he mesh of resistor wires


Output y(k) : Outlet air temperature



Input u(k) : Binary random signal shifting between 3.41 and 6.41 V


Output y(k) : Outlet air temperature


Sampling Time : 0.08 sec

Exa
mple 1 :
Hair Dryer

(Fuzzy Logic Toolbox)

(cont.)



Linear
ARX

model:




y(k)+a
1
*y(k
-
1)+...+a
m
*y(k
-
m)=b
1
*u(k
-
d)+...+b
n
*u(k
-
d
-
n+1)




a
i

and b
j

are linear parameters to be determined by
least
-
squares

methods


This structure is exactly specified by three integers [
m
,
n
,
d
]




Remind:


System Identification :
structure selection

+
parameter estimation

Exa
mple 1 :
Hair Dryer

(Fuzzy Logic Toolbox)

(cont.)



Remove the means from the data




T
he data set was divided into a training set and a checking set


Training data set

: (k = 1 to 300)


Checking data set

:
(k = 301 to 600)




An exhaustive search was performed to find the best combination [m, n, d]


each of the integer is allowed to changed from 1 to 10 independently




Run through all different models:



V = arxstruc(ze, zv, struc(1:10, 1:10, 1:10));


Find the best model:


nn = selstruc(V, 0);




The best ARX model : [m, n, d] = [
5
,
10
,
2
]



Exa
mple 1 :
Hair Dryer

(Fuzzy Logic Toolbox)

(cont.)


Training RMSE =
0.1122


Checking RMSE =
0.0749

Exa
mple 1 :
Hair Dryer

(Fuzzy Logic Toolbox)

(cont.)



Advantage of ARX model:


Rapid
model structure selection


Rapid
parameter identificatio
n





The
performance

in the above plots appear to be satisfactory.




If a
better performance

level is desired, we might want to resort to a
nonlinear model
.




Neuro
-
fuzzy modeling approach,
ANFIS



Exa
mple 1 :
Hair Dryer

(Fuzzy Logic Toolbox)

(cont.)



U
se ANFIS for system identification
:




First step:
input selection


T
o determine which variables should be the input arguments to an ANFIS
model.


For simplicity, we suppose that there are 10 input candidates


y(k
-
1), y(k
-
2), y(k
-
3), y(k
-
4), u(k
-
1), u(k
-
2), u(k
-
3), u(k
-
4), u(k
-
5), u(k
-
6)




Two approaches for input selection:


Sequential search


Exhaustive search


Exa
mple 1 :
Hair Dryer

(Fuzzy Logic Toolbox)

(cont.)




Sequential search

for input selection:

can be done by the function
seqsrch








10 + 9 + 8


=27












Selected
inputs : y(k
-
1), u(k
-
3), and u(k
-
4)


Training RMSE
=
0.0609 Checking RMSE = 0.0604.

Exa
mple 1 :
Hair Dryer

(Fuzzy Logic Toolbox)

(cont.)




Exhaustive search

on all possible combinations of the input candidates


Can be done by function
exhsrch



We want to

selects 3 inputs from 10 candidates
, therefore,

the total number
of ANFIS models is






Fortunately, for
dynamical system

identification, we do know that the inputs
should not come from either of the following two sets of input candidates
exclusively:


Y = {y(k
-
1), y(k
-
2), y(k
-
3), y(k
-
4)}

U = {u(k
-
1), u(k
-
2), u(k
-
3), u(k
-
4), u(k
-
5), u(k
-
6)}




A reasonable guess: two inputs from Y and one from U









120
7!
3!
10!







36
6
*
2
2
4

!
!
!
Exa
mple 1 :
Hair Dryer

(Fuzzy Logic Toolbox)

(cont.)


Exhaustive search























Selected inputs : y(k
-
1), y(k
-
2) , u(k
-
3)


Training RMSE = 0.0474 Checking RMSE = 0.0485

Exa
mple 1 :
Hair Dryer

(Fuzzy Logic Toolbox)

(cont.)


A
RX model






















Exa
mple 1 :
Hair Dryer

(Fuzzy Logic Toolbox)

(cont.)


ANFIS

model






















Exa
mple 1 :
Hair Dryer

(Fuzzy Logic Toolbox)

(cont.)


Comparision





















If
fast modeling

is the goal, then
ARX

is the right choice
,


If
precision

is the utmost concern, then we can go for
ANFIS

that is
designed for nonlinear modeling and higher precision

Exa
mple 1 :
Hair Dryer

(Fuzzy Logic Toolbox)

(cont.)

Example 2
-

Static Function

ANFIS model with linear consequent function

Number of rules: five rules

Construction of initial model:




Gustafson
-
Kessel algorithm



Fit of the function with initial model


local models
-

membership functions



Example 2
-

Static Function (cont.)

this initial model can easily be interpreted in terms of the local behavior

It is reasonably accurate (RMS= 0.0258)


ANFIS method, 100 learning epochs

anfis

function of the
MATLAB

Fuzzy Logic Toolbox


Fit of the function with
fine
-
tuned model
, local models, membership functions




RMS error is about 23 times better than the initial model




Initial model





Fine
-
tuned model



RMS error = 0.0258




RM
S error = 0.0011


Example 2
-

Static Function (cont.)

after learning, the local models are much further from the true local
description of the function



Initial model





Fine
-
tuned model














Fine
-
tuned model are thus less accurate in describing the system locally


Example 2
-

Static Function (cont.)

Example 3


pH Neutralization Process

Neutralization
tank

Effluent stream

Acid
Buffer
Base

Influent streams

Neutralization
tank

pH in the tank

Acid flowrate = cte

Buffer flowrate = cte

Base stream flowrate

Example 3
-

pH Neutralization Process (cont.)

Identification and validation data sets:


Simulating the
model by Hall and Seborg
for random change of the
influent base str
eam flow rate


N = 499 samples with the sampling time of 15 s.










The process is approximated as a
first

order

discrete
-
time
NARX

model

Membership functions






Befor training





After training




Example 3
-

pH Neutralization Process (cont.)

Rules:

Initial Rules
:








Fine Tuned Rules
: a
fter 1000 epochs of hybrid learning using the ANFIS
function of the MATLAB Fuzzy Logic Toolbo
x

Example 3
-

pH Neutralization Process (cont.)

Overtraining Problem:


Comparision of
RMS ERROR

befor and after training






Prediction

befor and after training

Example 3
-

pH Neutralization Process (cont.)

References


[1] Robert Babuska,
“Neuro
-
Fuzzy Methods for Modeling and Identification”
,
Recent Advances in Intelligent Paradigms and Application, Springer
-
Verilag, 2002


[2] Robert Babuska,
“Fuzzy Modeling and Identification Toolbox User’s Guide
-

For Use with MATLAB”
, 1998.


[3] MathWorks Inc.,
“Fuzzy Logic Toolbox


Users Guide


Version 2

, 2004.


[4] L. Ljung,
“System Identification, Theory for the User”
, Prentice
-
Hall, 1987.

THANK YOU VERY MUCH


For your



Attention

Presented by:

Ali Maleki

Introduction

-

appendix


Types of fuzzy models:


(depending on the structure of if
-
then rules)



Mamdani Model




IF

D
1

is
low

and D
2

is
high

THEN

D is
medium




Takagi
-
Sugeno Model




IF

D
1

is
low

and D
2

is
high

THEN

D=k
(zero
-
order)


IF

D
1

is
low

and D
2

is
high

THEN

D=0.7D
1
+0.2D
2
+0.1
(first
-
order)