identificarea sistemelor dinamice anfis modeling) in care intrarile sunt selectate secvential •...

30
G. Oltean Identificarea sistemelor dinamice Sisteme cu logica nuantata Identificarea sistemelor dinamice Estimarea (dezvoltarea) unor modele pentru un sistem dinamic (variabil in timp; cu evoluție în timp) pe baza datelor masurate la intrare si iesire. Modelul unui sistem poate fi utilizat pentru a obține informații despre comportarea sistemului fără a realiza experimente reale (doar simulări) De exemplu un model poate fi utilizat pentru a simula ieșirea unui sistem pentru o intrare data si a analiza răspunsului sistemului pentru a prezice valorile viitoare la iesirea (iesirile) sistemului

Upload: doanphuc

Post on 18-May-2019

243 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Identificarea sistemelor dinamice

Estimarea (dezvoltarea) unor modele pentru un sistem

dinamic (variabil in timp; cu evoluție în timp) pe baza

datelor masurate la intrare si iesire.

Modelul unui sistem poate fi utilizat pentru a obține

informații despre comportarea sistemului fără a realiza

experimente reale (doar simulări)

De exemplu un model poate fi utilizat

pentru a simula ieșirea unui sistem pentru o intrare data si

a analiza răspunsului sistemului

pentru a prezice valorile viitoare la iesirea (iesirile)

sistemului

Page 2: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

In sistemele dinamice intrarea curenta determina variatia in

timp a iesirii; dar iesirea mai (poate) depinde si de starile

anterioare ale intrarii si iesirii (ex. un circuit RC sau DC, sistem

de climatizare, etc.)

In contrast cu sistemele dinamice, sistemele statice reprezinta o

relatie instantanee intre variabilele de intrare si de iesire (de ex.

un circuit DR).

Cele mai bune rezultate in estimarea modelelor se obtin când

se operează cu cel putin doua seturi de date:

un set pentru estimarea modelului – setul de date de estimare

(antrenare)

un set pentru validarea modelului – setul de date de validare

Page 3: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Modelele descriu relatia dintre unul sau mai multe semnale

aplicate la intrare u(t) si unul sau mai multe semnale masurate

la iesire y(t).

In sistemele reale pot exista intrari aditionale dificil de masurat

sau controlat, care afecteaza iesirea sistemului: perturbatii sau

zgomot e(t).

Page 4: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Descrierea generală a unui sistem dinamic este data de relatia

)(),,()( tztugty u - semnalul de intrare

t - timpul

Ө - parametrii sistemului

z - iesirea datorata zgomotului e

Page 5: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Pentru modele liniare descrierea simbolica a modelului este

HeGuy

G – operator ce conecteaza intrarea cu iesirea si capteaza dinamica

sistemului; functia de transfer intre u si y

H – operator ce descrie proprietatile zgomotului aditiv la iesire si este

denumit modelul de zgomot

• Pentru modele neliniare descrierea este mai complexa,

continând funcții neliniare, ce trebuie determinate

Page 6: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Etape in identificarea sistemelor dinamice

Procesul de identificare al sistemelor dinamice include

următoarele etape:

proiectarea experimentului (DoE) si achiziția datelor (intrare-

iesire)

analiza si preprocesarea datelor (afișarea datelor, înlăturarea

ofseturilor si a tendințelor liniare, interpolarea valorilor ce

lipsesc, eliminarea zgomotului din date, re-esantionare,

selectarea regiunilor de interes, etc.)

estimarea si validarea modelelor

analiza modelelor si eventuale transformări

simularea (predicția viitoarelor valori la ieșire utilizând

modelele dezvoltate ) – utlizarea modelului

Page 7: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Studiu de caz Modelarea fuzzy a unui sistem dinamic SISO

dispozitiv similar unui uscator de păr (Feedback's Process Trainer

PT 326, Chapter 17 of Prof. Lennart Ljung's book "System

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

aerul este încălzit si evacuat printr-un tub la ieșire

temperatura aerului la ieșire este măsurata de un termocuplu

intrarea u(t) este tensiunea aplicata pe o arie de rezistenţe

termice care încălzesc aerul

ieşirea (t) este temperatura aerului la ieșire

Page 8: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Setul de date

tensiunea de intrare are doar două valori

3.41V sau 6.41V, generate aleator

temperatura aerului de ieşire ia valori in domeniul normalizat

[3.2008, 6.2508]

exista colectate un numar de 1000 perechi de date intrare-iesire

(serie temporală)

setul de date este discret, cu o rata de eşantionare de 0.08s

Page 9: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Analiza (si interpretarea) datelor

Page 10: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

• se observa inertia sistemului

• cand tensiunea creste (scade), temperatura incepe sa creasca (scada) abia dupa 3

perioade de esantionare

• la tensiune constanta, panta de variatie a temperaturii nu este constanta (sistem

neliniar) (a se vedea de exemplu esantioane 67 - 77)

• temperatura curenta la iesire depinde si de stari anterioare ale iesirii si intrarii

Page 11: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Selectarea intrarilor pentru model

Este evident ca nu putem considera ca intrare pentru model

doar valoarea curenta a tensiunii de intrare

Este necesar sa se considere ca intrari si stari anterioare:

ale iesiri (temperatura)

ale intrarii (tensiune)

Câte (şi care) stări anterioare ale iesiri sistemului trebuie

considerate ca intrari ale modelului?

Câte (şi care) stări anterioare ale intrarii sistemului trebuie

considerate ca intrari ale modelului?

Este necesara o selectie a intrarilor modelului, astfel incat

sa obtinem o solutie optima intre complexitatea modelului si

precizia de modelare

Page 12: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Nonlinear Autoregressive with

External (Exogenous) Input:

NARX

))(...,),2(),1(

),(...,),2(),1(

...,

),(...,),2(),1(

),(...,),2(),1(()(

2222

1111

y

nnnn

dtytyty

dtututu

dtututu

dtututufty

Predict series y(t) given dy past

values of y(t) and another input

series u1(t), …, un(t)

Page 13: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Ca si intrari ale modelului (solutie initiala) am putea considera pentru

iesirea curentă y(k)

)6(),5(),4(),3(),2(),1(),4(),3(),2(),1( kukukukukukukykykyky

In acest caz am avea un model cu 10 intrari.

Trebuie construite seturile de date necesare pentru antrenare si verificare

pornind de la datele initiale, sub forma perechilor intrare-iesire de tipul:

)1(),1(

)2(),2(

)3(),3(

)4(),4(

)5(),5(

)6(),6(

kyku

kyku

kyku

kyku

kyku

kyku

iesiri anterioare intrari anterioare

intrare iesire

Datele

originale:

Page 14: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Structura necesara a setului de date trebuie sa fie de tipul:

)()6()5()4()3()2()1()4()3()2()1( kykukukukukukukykykyky

Datele initiale sunt disponibile in doi vectori coloana:

u – vectorul datelor de intrare; y – vectorul datelor de iesire

n=length(y);

input = [[0; y(1:n-1)] ... % prima coloana

[0; 0; y(1:n-2)] ... % a doua coloana

[0; 0; 0; y(1:n-3)] ... % a treia coloana

[0; 0; 0; 0; y(1:n-4)] ...

[0; u(1:n-1)] ...

[0; 0; u(1:n-2)] ...

[0; 0; 0; u(1:n-3)] ...

[0; 0; 0; 0; u(1:n-4)] ...

[0; 0; 0; 0; 0; u(1:n-5)] ...

[0; 0; 0; 0; 0; 0; u(1:n-6)]]; % a zecea coloana

data = [input y];

data(1:6, :)=[]; % elimina primele 6 randuri

cod matlab pentru

generarea setului de

date, conform

intrărilor modelului

intrări iesire

Page 15: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

)6()5()4()3()2()1()4()3()2()1(

)1()2()3()4()5()6()3()4()5()6(

0)1()2()3()4()5()2()3()4()5(

00)1()2()3()4()1()2()3()3(

000)1()2()3(0)1()2()3(

0000)1()2(00)1()2(

00000)1(000)1(

0000000000

nununununununynynyny

uuuuuuyyyy

uuuuuyyyy

uuuuyyyy

uuuyyy

uuyy

uy

)(

)7(

)6(

)5(

)4(

)3(

)2(

)1(

ny

y

y

y

y

y

y

y

intrari pentru modeliesire

Pentru a avea date consistente se elimina primele 6 randuri ce contin zerouri si

se utilizeaza doar datele incepand de la randul 7.

Page 16: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Dorim sa selectam mai putine intrari (din cele 10 anterioare) pentru modelul

fuzzy, doar cele mai reprezentative (influenteaza cel mai mult iesirea), pentru

a scadea complexitatea modelului.

Cum selectam un numar redus de intrari (de exemplu 3 din cele 10) ?

Exista 2 metode dezvoltate in matlab

• Cautare secventiala inainte (sequential forward search for input selection

in ANFIS modeling) in care intrarile sunt selectate secvential

• Cautarea exhaustiva (exhaustive search for input selection in ANFIS

modeling) pentru a verifica toate combinatiile posibile de intrari candidate

• sistemul fuzzy initial este TS; genfis1 (grid partition, fara gruparea datelor).

• instruire anfis pentru un numar redus de epoci de instruire (implicit 1 epoca),

• sistemele fuzzy rezultate pentru diferite intrari sunt comparate din punct de

vedere al RMSE (eroare medie patratica).

• cele mai potrivite intrari se considera cele ce furnizeaza cele mai mici valori

ale RMSE.

Page 17: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Cautare secventiala inainte

input_name = str2mat('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)'); % generare text pentru afisare

input_no=3; %se doreste selectarea a trei intrari

trn_data_no=500; %marimea setului de date de antrenare

trn_data=data(1:trn_data_no,:); % date de antrenare

chk_data=data(trn_data_no+1:end,:); % date de verificare

mf_no=3;

epoch_no=2;

[input_idx, elapsed_time]=seqsrch(input_no,trn_data,chk_data,...

input_name, mf_no,epoch_no)

Page 18: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Selecting input 1 ...

ANFIS model 1: y(k-1) --> trn=0.2000, chk=0.1985

ANFIS model 2: y(k-2) --> trn=0.3728, chk=0.3690

ANFIS model 3: y(k-3) --> trn=0.5106, chk=0.5040

ANFIS model 4: y(k-4) --> trn=0.6127, chk=0.6046

ANFIS model 5: u(k-1) --> trn=0.8175, chk=0.8118

ANFIS model 6: u(k-2) --> trn=0.7894, chk=0.7894

ANFIS model 7: u(k-3) --> trn=0.7212, chk=0.7280

ANFIS model 8: u(k-4) --> trn=0.6201, chk=0.6347

ANFIS model 9: u(k-5) --> trn=0.5459, chk=0.5667

ANFIS model 10: u(k-6) --> trn=0.5391, chk=0.5633

Currently selected inputs: y(k-1)

• Se construiesc modele anfis cu câte o intrare pentru fiecare din cele 10 intrari posibile

• Se selecteaza ca prima intrare a modelului variabila y(k-1), deoarece

aceasta furnizeaza cele mai mici erori

Page 19: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

• Se construiesc modele anfis cu doua intrari:

1) intrarea selectata anterior y(k-1)

2) câte una dintre celelalte 9 posibile intrari

Selecting input 2 ...

ANFIS model 11: y(k-1) y(k-2) --> trn=0.1051, chk=0.1088

ANFIS model 12: y(k-1) y(k-3) --> trn=0.1310, chk=0.1404

ANFIS model 13: y(k-1) y(k-4) --> trn=0.1487, chk=0.1622

ANFIS model 14: y(k-1) u(k-1) --> trn=0.1854, chk=0.1932

ANFIS model 15: y(k-1) u(k-2) --> trn=0.1651, chk=0.1767

ANFIS model 16: y(k-1) u(k-3) --> trn=0.1096, chk=0.1191

ANFIS model 17: y(k-1) u(k-4) --> trn=0.0939, chk=0.1060

ANFIS model 18: y(k-1) u(k-5) --> trn=0.1529, chk=0.1627

ANFIS model 19: y(k-1) u(k-6) --> trn=0.1932, chk=0.1952

Currently selected inputs: y(k-1) u(k-4)

Page 20: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Selecting input 3 ...

ANFIS model 20: y(k-1) u(k-4) y(k-2) --> trn=0.0795, chk=0.0903

ANFIS model 21: y(k-1) u(k-4) y(k-3) --> trn=0.0794, chk=0.0921

ANFIS model 22: y(k-1) u(k-4) y(k-4) --> trn=0.0803, chk=0.0967

ANFIS model 23: y(k-1) u(k-4) u(k-1) --> trn=0.0893, chk=0.1048

ANFIS model 24: y(k-1) u(k-4) u(k-2) --> trn=0.0835, chk=0.0960

ANFIS model 25: y(k-1) u(k-4) u(k-3) --> trn=0.0609, chk=0.0677

ANFIS model 26: y(k-1) u(k-4) u(k-5) --> trn=0.0857, chk=0.0963

ANFIS model 27: y(k-1) u(k-4) u(k-6) --> trn=0.0889, chk=0.1016

Currently selected inputs: y(k-1) u(k-3) u(k-4)

input_idx =

1 7 8

elapsed_time =

2.9370

• Se construiesc modele anfis cu trei intrari

Page 21: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Page 22: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Rezultatele obtinute dupa antrenarea 100 epoci a SLF pentru

cele 3 intrari selectate utilizand cautarea secventiala inainte

y(k-1) u(k-3) u(k-4)

Page 23: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Page 24: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Evaluarea preciziei modelului

Page 25: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Modelare Simulink

Model Simulik pentru prezicerea starilor viitoare ale

iesirii pentru alte succesiuni de valori ale tensiuni

aplicate la intrare

Aspecte de rezolvat

generararea valorilor pentru cele trei intrari ale modelului

(sistemul fuzzy)

asigurarea căii de reactie necesare pentru a aplica la

intrarea curenta iesirea anterioara a sistemului y(k-1)

Page 26: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Modelul Simulink

Page 27: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

To do (for students)

utilizarea cautarii secventiale inainte pentru selectarea a

4 intrari si generarea modelului cu 4 intrari

compararea celor 2 sisteme (cu 3 si 4 intrari) din punct

de vedere al preciziei

utilizarea metodei de cautare exhausiva (‘exhsrch’)

pentru selectarea intrarilor modelului fuzzy

Page 28: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Modelarea unui sistem cu iesiri multiple

Pentru un model este mult mai dificil sa exprime comportarea

unui sistem cu mai multe iesiri decat cu o singura iesirire

Se poate utiliza modelarea pentru iesiri multiple ca o combinatie

de modele cu o singura iesirere

Se pot genera modele partiale, fiecare model partial reprezentand

efectul tuturor intrarilor asupra unei iesiri

Se poate utiliza aceasta abordare cand nu exista reactie in

sistemul dinamic de modelat si nu exista interactiune intre iesiri

Dupa validarea modelelor cu o singura iesire se realizeaza o

concatenare verticala pentru a combina modelele partiale intr-un

singur model cu mai multe iesiri.

Se poate incerca rafinarea modelului utilizand setul de date

original (cu mai multe iesiri)

Page 29: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

Se doreste identificarea si modelarea unui sistem dinamic cu doua intrari

U1 si U2 si o iesire, utilizand un SLF. Setul de date disponibil este de:

U1

U1(n)

U1(n-1)

U1(n-k)

U1(1)

U2

U2(n)

U2(n-1)

U2(n-k)

U2(1)

Y

Y(n)

Y(n-1)

Y(n-k)

Y(1)

Pentru identificarea celor mai relevante intrari se utilizeaza algoritmul de

cautare secventiala inainte (sequential forward search). Se considera ca

intrari candidate pentru determinarea iesirii curente Y(k) urmatoarele

esantioane:

- iesirea Y, cu una, doua si trei intarzieri

- intrarea U1, cu una si doua intrazieri

- intrarea U2, cu intrazierile de la unu la patru

Problema

Page 30: Identificarea sistemelor dinamice ANFIS modeling) in care intrarile sunt selectate secvential • Cautarea exhaustiva (exhaustive search for input selection in ANFIS modeling) pentru

G. Oltean

Identificarea sistemelor dinamice

Sisteme cu logica nuantata

a) Cum trebuie formatate datele initiale pentru a putea fi utilizate la

selectarea celor mai reprezentative intrari ale modelului?

b) Cate “treceri” sunt necesare algoritmului pentru a identifica cele mai

relevante intrari, conform modelului rezultatprezentat in figura de mai

jos

c) Cate intrari are SLF? Care este rolul blocului Mux?

d) Etichetati fiecare intrare a SLF (ca intrari in blocul Mux)

e) Care este structura datelor ce vor fi utilizate pentru instruirea SLF?