Você está na página 1de 14

Construção de um modelo matemático usando técnicas de

Identificação de Sistemas

Introdução

Este trabalho tem por objetivo obter um modelo matemático que melhor
represente os dados um conjunto de dados amostrados. Os dados consistem de dois
conjuntos numéricos onde um representa a entrada, simbolizado pela letra u, e outro
conjunto, simbolizado pela letra y, representa a saída de um sistema linear. Os dois
conjuntos são mostrados nas Fig. 1a e Fig. 1b, respectivamente, entrada e saída do
sistema. As técnicas a serem usadas consistem na aplicação dos métodos dos mínimos
quadrados (ARX, ARMAX, etc.) disponíveis na toolbox do MATLAB.

Input and output signals


10

5
y1

-5

-10
0 100 200 300 400 500 600

0.5
u1

-0.5

-1
0 100 200 300 400 500 600
Time

Fig. 1 – a) dados de entrada, u; b) dados de saída, y

Tratamento inicial dos dados

A análise inicial dos dados se fez com o emprego da toolbox IDENT do


MATLAB. Como escolha inicial se optou pelo método ARX, sem qualquer
preprocessamento no sinal orignal. A predição do método apontou os modelos arx 212,
312 e 321 como os mais adequados. Removendo a média em ambos, entrada e saída, a
predição permaneceu nos mesmos modelos. O mesmo se sucedeu com a remoção de
tendências. Usando a facilidade do quick start se obteve como melhores os modelos 214
e 314. Optando-se pela divisão da ordem de 90% do sinal para estimativa e os outros
10% para validação, se obteve na predição como melhores os modelos 211 e 611.
A tentativa de ajuste de cada um dos modelos apontados ficou muito abaixo da
expectativa, se conseguindo na melhor tentativa um fitting máximo de 13%, sugerindo
que o método ARX não é adequado à predição para este caso.
Na sequência, tentou-se os modelos ARMAX, OE e BJ, sem sucesso de se obter
um ajuste adequado ao fitting.
Como ferramenta complementar fez-se o uso do método dos mínimos quadrados
recursivo extendido (ver anexo) e se fez uma varredura entre as ordens 2 a 6 de onde se
obteve os resultados mostrados na Tab. 1. Avaliando o ajuste pelo critério do menor
erro quadrático médio, levantado na mesma ferramenta, verifica-se que os mais
adequados são os modelos 411 e 421, seguidos pelos modelos 311, 320 e 321.
Modelos acima da ordem 6 tendem a melhorar um pouco mais o ajuste da curva
mas introduzem mais pólos ao modelo sem melhoria significativa no ajuste. Apenas
tendem a distribuir os parâmetros y e u em pólos desnecessários com valores da ordem
de 0,01, como os obtidos nos modelos 521 e 531, mas não apresentados na Tab. 1.

Tabela 1 – Parâmetros obtidos com o método dos mínimos quadrados recursivos


extendidos.
modelo y(k-1) y(k-2) y(k-3) y(k-4) u(k) u(k-1) u(k-2) u(k-3) EQM var

110 0,9086 -0,0690 0,2242 0,0284

111 0,9212 -0,0063 0,1861 0,0385

120 0,9193 0,0210 -0,0161 0,1751 0,1201

121 0,9304 -0,0218 0,0832 0,0379 0,0410

210 1,6871 -0,7807 -0,1363 0,0116 0,0231

211 1,7184 -0,8010 -0,0278 0,0099 0,0080

220 1,7063 -0,7925 -0,1242 0,0105 0,0113 0,0214

221 1,7339 -0,8159 -0,0219 0,1501 0,0149 0,0104

311 1,6272 -0,6293 -0,0922 -0,0765 0,0053 0,0061

320 1,6523 -0,6846 -0,0710 -0,0502 0,1915 0,0068 0,0075

321 1,6523 -0,6846 -0,0710 -0,0502 0,1915 0,0068 0,0075

411 1.6326 -0.6079 -0.1551 0.0368 -0.0869 0,0048 0,0061

421 1.6415 -0.6083 -0.1819 0.0572 -0.0857 0.1652 0.0052 0.0063


A predição com o método ARX mostrou os seguintes resultados:

Modelo 210: A(q)y(t) = B(q)u(t) + e(t)


A(q) = 1 - 1.685 (+-0.02903) q^-1 + 0.7635 (+-0.02902) q^-2
B(q) = -0.04224
Estimated using ARX from data set “tendrem”: Loss function 0.451531 and FPE
0.456971. Sampling interval: 1

Modelo 211: A(q)y(t) = B(q)u(t) + e(t)


A(q) = 1 - 1.685 (+-0.02898) q^-1 + 0.7642 (+-0.02901) q^-2
B(q) = 0.05936 (+-0.05129) q^-1
Estimated using ARX from data set “tendrem”: Loss function 0.450931 and FPE
0.456364. Sampling interval: 1

Modelo 311: A(q)y(t) = B(q)u(t) + e(t)


A(q) = 1 - 1.646 (+-0.04495) q^-1 + 0.6781 (+-0.08117) q^-2
+ 0.0512 (+-0.04498) q^-3
B(q) = 0.05591 (+-0.05146) q^-1
Estimated using ARX from data set “tendrem”: Loss function 0.449683 and FPE
0.456922. Sampling interval: 1

Modelo 321: A(q)y(t) = B(q)u(t) + e(t)


A(q) = 1 - 1.641 (+-0.04484) q^-1 + 0.6704 (+-0.08098) q^-2 + 0.05648 (+-0.0449)
q^-3
B(q) = 0.06224 (+-0.05138) q^-1 + 0.1068 (+-0.05145) q^-2
Estimated using ARX from data set “tendrem”: Loss function 0.445784 and FPE
0.454771. Sampling interval: 1

Modelo 411: A(q)y(t) = B(q)u(t) + e(t)


A(q) = 1 - 1.643 (+-0.04494) q^-1 + 0.6879 (+-0.08648) q^-2 + 0.02045 (+-0.0864)
q^-3 + 0.02011 (+-0.04493) q^-4
B(q) = 0.0537 (+-0.05139) q^-1
Estimated using ARX from data set “tendrem”: Loss function 0.446265 and FPE
0.455263. Sampling interval: 1

Como o fitting foi muito pequeno, não pode ser considerado válido como critério
de seleção. Pelo critério do erro final de predição (FPE) verifica-se no modelo 321
como sendo o mais adequado. Avaliando pela correlação entre os resíduos na Fig. 3,
verifica-se que todos os modelos ensaiados apresentam poucas e pequenas variações. A
Fig 4 mostra a resposta ao impulso onde o modelo 321 apresenta o maior ganho com
relativa estabilidade, porém este modelo apresenta um zero fora do eixo unitário,
mostrado na Fig. 4, sendo a priori, descartado. Na mesma Fig. 4, observa-se que os
modelos 411, 311 e 211 tem respostas muito semelhante indicando serem estes os
modelos mais adequados ao sinal isento do ruído. Devido ao fato de nao se ter
conseguido um bom fitting nestes modelos, admite-se o sinal então contendo um erro do
tipo estocástico caracterizado pela Eq. 1, onde e(t) é uma seqüência de variáveis
randômicas independentes com média zero e variância ë, sugerindo o uso do modelo
ARMAX.

v (t )  H ( q ).e(t ) (1)
Autocorrelation of residuals for output y1
0.2

0.1

-0.1

-0.2
-20 -15 -10 -5 0 5 10 15 20

Cross corr for input u1 and output y1 resids


0.2

0.1

-0.1

-0.2
-20 -15 -10 -5 0 5 10 15 20
Samples

Figura 2 – Correlações dos resíduos

Step Response
3
321
2.5 210
311
411
2
211

1.5

0.5

-0.5

-1
0 5 10 15 20 25 30 35 40
Time

Fig. 3 – Resposta ao impulso


Poles (x) and Zeros (o)
1

0.8

0.6
p-321
0.4 z-321
p-210
0.2
z-210
p-311
0
z-311
-0.2 p-411
z-411
-0.4 p-211
z-211
-0.6 data11

-0.8

-1
-1.5 -1 -0.5 0 0.5 1

Figura 4 – Pólos e zeros

Resultados do ensaio usando o método ARMAX

Considerando como ponto inicial os modelos obtidos pelos métodos anteriores e


considerando uma ordem três no erro v(t), os modelos a serem ensaiados pelo método
ARMAX partem do modelo 2131, seguidos pelos modelos 2141, 3131, 3141 e 4141. Os
resultados obtidos estão mostrados abaixo.

Modelo 2131: A(q)y(t) = B(q)u(t) + C(q)e(t)


A(q) = 1 - 1.745 (+-0.0486) q^-1 + 0.8184 (+-0.04406) q^-2
B(q) = 0.06467 (+-0.05194) q^-1
C(q) = 1 - 0.09294 (+-0.06665) q^-1 - 0.03911 (+-0.0601) q^-2 - 0.02848 (+-0.05636)
q^-3
Estimated using PEM from data set “tendrem”: Loss function 0.450644 and
FPE 0.461725. Sampling interval: 1

Modelo 2141: A(q)y(t) = B(q)u(t) + C(q)e(t)


A(q) = 1 - 1.701 (+-0.06022) q^-1 + 0.7853 (+-0.05329) q^-2
B(q) = 0.05846 (+-0.05245) q^-1
C(q) = 1 - 0.04955 (+-0.07414) q^-1 + 0.007177 (+-0.06565) q^-2+ 0.01169
(+-0.05996) q^-3 + 0.06716 (+-0.056) q^-4
Estimated using PEM from data set “tendrem”: Loss function 0.450296 and
FPE 0.463294. Sampling interval: 1
Modelo 3131: A(q)y(t) = B(q)u(t) + C(q)e(t)
A(q) = 1 - 2.137 (+-0.4605) q^-1 + 1.515 (+-0.7975) q^-2 - 0.3316 (+-0.3725) q^-3
B(q) = 0.07958 (+-0.05134) q^-1
C(q) = 1 - 0.4975 (+-0.4634) q^-1 + 0.01699 (+-0.07262) q^-2+ 0.008246 (+-0.05862)
q^-3
Estimated using PEM from data set “tendrem”: Loss function 0.450071 and
FPE 0.463063. Sampling interval: 1

Modelo 3141: A(q)y(t) = B(q)u(t) + C(q)e(t)


A(q) = 1 - 2.482 (+-0.2449) q^-1 + 2.093 (+-0.4371) q^-2 - 0.5942 (+-0.2081) q^-3
B(q) = 0.04635 (+-0.0382) q^-1
C(q) = 1 - 0.8461 (+-0.2494) q^-1 + 0.03029 (+-0.07166) q^-2 - 0.004222 (+-0.064)
q^-3 - 0.02019 (+-0.06098) q^-4
Estimated using PEM from data set “tendrem”: Loss function 0.45019 and
FPE 0.465103. Sampling interval: 1

Modelo 4141: A(q)y(t) = B(q)u(t) + C(q)e(t)


A(q) = 1 - 2.552 (+-0.1972) q^-1 + 2.908 (+-0.5001) q^-2 - 1.837 (+-0.4851) q^-3 +
0.5471 (+-0.1748) q^-4
B(q) = 0.08493 (+-0.04171) q^-1
C(q) = 1 - 0.9101 (+-0.2033) q^-1 + 0.7387 (+-0.2306) q^-2 - 0.04279 (+-0.06738) q^-3
- 0.01723 (+-0.05764) q^-4
Estimated using PEM from data set “tendrem”: Loss function 0.447584 and
FPE 0.464369. Sampling interval: 1

Levando em conta o critério FPE para classificar o modelo mais adequado,


determinam-se os modelos 2131 e 3131. Pelo critério da função de perda, o mais
adequado é o modelo 4141. Avaliando a correlação dos resíduos, mostrada na Fig. 5, o
espectro do ruído, mostrado na Fig. 8 e a resposta em freqüência, mostrada na Fig. 9,
percebe-se que os modelos citados possuem grande aproximação entre si. A maior
diferença se encontra na resposta ao impulso, mostrado na Fig. 6, ficando o modelo
3141 como sendo o mais sensível. A Fig. 7 mostra a distribuição dos pólos e zeros dos
modelos escolhidos, de onde se conclui serem todos considerados estáveis.
Embora o método acuse serem estes os modelos de melhor ajuste, nenhum deles
mostrou graficamente um fitting “aceitável”, claramente mostrado na Fig. 10. A
principal causa deste “problema” deve-se à grande diferença numérica entre os
parâmetros b e c, que são extremamente pequenos em relação aos parâmetros a, de
forma que o ruído é realimentado através das saídas y(k-1), y(k-2), y(k-3) e
provavelmente y(k-4) com grande amplificação.
Autocorrelation of residuals for output y1
0.2

0.1

-0.1

-0.2
-20 -15 -10 -5 0 5 10 15 20

Cross corr for input u1 and output y1 resids


0.2

0.1

-0.1

-0.2
-20 -15 -10 -5 0 5 10 15 20
Samples

Figura 5 – Correlação dos resíduos

Step Response
4
2131
3.5 2141
3141
4141
3
3131

2.5

1.5

0.5

0
0 5 10 15 20 25 30 35 40
Time

Figura 6 – Resposta ao impulso


Poles (x) and Zeros (o)
1

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
-1 -0.5 0 0.5 1

Figura 7 – Pólos e zeros

Power Spectrum
4
10

3
10

2
10

1
10

0
10

-1
10

-2
10
-2 -1 0 1
10 10 10 10
Frequency (rad/s)
Figura 8 – Espectro do ruído
Frequency response
5
10

Amplitude
0
10

-5
10
-2 -1 0 1
10 10 10 10

0
Phase (deg)

-100

-200

-300
-2 -1 0 1
10 10 10 10
Frequency (rad/s)
Figura 9 – Resposta em freqüência

Measured and simulated model output


10

-2

-4

-6

-8

-10
0 100 200 300 400 500 600
Time

Figura 10 – Fitting (completamente fora das expectativas)


Com relação às diferenças entre as opções MQP (mínimos quadrados
ponderados) e VI (variável instrumental), existe uma relativa concordância de
resultados apenas ao modelo 211. Todas as demais opções implicam em grandes
diferenças na plotagem dos parâmetros, o que indica ter o ruído presente uma conotação
não branco, também chamado de ruído “colorido” e que também leva à conclusão de se
usar um modelo mais elaborado.
Para o caso de ruídos coloridos, o método mais indicado é a estrutura Box-
Jenkins que consiste de um desenvolvimento natural do modelo ARMAX, entretanto os
melhores resultados conseguidos neste modelo atingiram um fitting da ordem de 5%,
melhores que os fitting obtidos nos métodos ARX e ARMAX, porém, todos os modelos
apresentaram instabilidades.
A deficiência no fitting decorre do fato de se utilizar os valores y estimados, sem
a introdução do erro para reconstruir o sinal. Então, quando o erro é fortemente
amplificado, o sinal final isento de ruído resultante fica muito abaixo do valor
observado no sinal amostrado. Uma forma de contornar esta ocorrência, conforme a Eq.
2 e se ter uma aproximação razoável do sinal consiste em se utilizar o sinal y usado na
predição dos parâmetros, de forma que as diferenças entre o sinal fornecido e o obtido
pela estimativa represente o erro existente no sinal analisado.

N N

 Aˆ y   Bˆ u  v(k )
k 1
k
k 1
k (2)

Empregando-se os coeficientes obtidos e aplicados aos valores de u(k) e y(k)


amostrados obtém-se para cada um dos modelos uma figura semelhante à mostrada na
Fig. 11, com detalhes mostrados na Fig. 12.
metodo MQRE - (4.311)
10

2
saida

-2

-4

-6

-8

-10
0 50 100 150 200 250 300 350 400 450 500

Figura 11 – Fitting forçado do modelo 311


metodo MQRE - (4.311)

-1

-2
saida

-3

-4

-5

-6

140 160 180 200 220 240 260 280 300 320

Figura 12 – Detalhamento da figura 11

Uma forma simplificada de verificar a ordem mais correta ao ajuste do modelo


pode ser feita observando-se a presença de picos coincidentes. Se a ordem escolhida for
maior que a necessária, embora ocorra um melhor ajuste, aparecem picos em excesso
em cada transição. Nos detalhes na Fig. 13, também do modelo 311, se pode observar
uma boa relação entre a curva dos valores amostrados e os valores estimados.

metodo MQRE - (4.311)

5.5

5
saida

4.5

3.5

0 10 20 30 40 50 60 70 80

Figura 13 – Concordância entre valores amostrados e estimados.


Conclusões

Pelas dificuldades de se achar um bom ajuste das curvas na validação com o


emprego da ferramenta IDENT do MATLAB, fica de certa forma inseguro se afirmar
qual é o melhor modelo. Pelas observações analisadas pode-se admitir com bons
resultados qualquer um dos modelos ARX 211, 311 ou 411 para o sinal isento de ruído
ou um dos modelos ARMAX 2131, 3131 ou 2141. Pelo conceito da parcimônia entre
pólos e simplificação, pode-se optar pelo de menor ordem, ou seja 2131 ou 2141. Pelo
conceito do menor erro quadrático médio, sugere-se empregar o modelo 411,
apresentada pela Eq. 3 abaixo.

y (t )  1.6326 y (t -1)  0.6079y (t - 2)  0.1551y (t -3) - 0.0368 y (t - 4) - 0.0869u (t -1) (3)

Embora o conjunto de dados amostrados, objeto desta avaliação, tenha tido este
comportamento difícil, pela avaliação de outros conjuntos de dados processados para
comparar com este, a ferramenta mostrou-se IDENT do MATLAB de grande valia no
auxílio à construção de modelos matemáticos a partir de dados experimentais, pois é
rápida e funciona para a maioria dos casos encontrados na prática.

Bibliografia

Ljung, L., System Identification, Theory for the user, Prentice Hall, NJ, 1999;

Anexo I - Programa complementar

% METODO DOS MINIMOS QUADRADOS RECURSIVO (modelo: ARX, LAMBDA= 1):

% Trabalho de identificaçao de sistemas


% Clovis Bombardelli, set/2006
%

clc, clear;
M=zeros(5,501);
load u.mat;
load y.mat;
lambda = 1.00 ;
e=0;
ye=[];

% calculo recursivo. metodo minimos quadrados recursivo estendido

P =1000*eye(5);
O = [0 0 0 0 0 ]' ;

for k =4:1:501
A = [ y(k-3) y(k-2) y(k-1) u(k-1) e ]' ;

pn = P*A*A'*P ;
pd = A'*P*A ;
ye(k)=A'*O;
e=y(k)-ye(k) ;

P = (P-(pn/(lambda+pd)))/lambda ;
O = O + P*A*e

M(:,k)= O;
N=M';
end

Om = mean (N)
variancia= var (N)
N2=[Om(:,1), Om(:,2), Om(:,3) Om(:,4) ];
yf(1)=0;
yf(2)=0;
yf(3)=0;

for k=4:1:501

% Plotagem em funçao de y estimado


% A = [ yf(k-3) yf(k-2) yf(k-1) u(k-1) u(k-2) ]' ;
% yf(k)=A'*N2';

% Plotagem em funçao de y amostrado


A = [ y(k-3) y(k-2) y(k-1) u(k-1) ]' ;
yf(k)=A'*N2';

end

%---------------------------------------------------------------------

% construçao dos graficos


k=1:1:501;
plot(k,y,'b-', k,yf,'m-');
axis([ 0 501 -10 10]);
xlabel(' '); ylabel('saida');
title('metodo MQRE - (4.311)');

% Determinação do Erro Quadrático Médio


VN = 0;
for i=1:1:501
VN = VN + N(i,5)^2/2;
end

EQM = VN/i

%---------------------------------------------------------------------

Obs: Para cada modelo ensaiado, as matrizes M, P, O, A e N2


são modificadas pelos valores adequados.
Anexo II – Programa usado na plotagem dos parâmetros

% Trabalho de identificaçao de sistemas


% Clovis Bombardelli, set/2006
% Plotagem dos resultados arx-311

clc, clear;
load u.mat;
load y.mat;

N2=[ 1.646 -0.6781 -0.0512 0.05591 ];

for k=4:1:501
A = [ y(k-1) y(k-2) y(k-3) u(k) ]' ;
yf(k)=A'*N2';
end

%---------------------------------------------------------------------

% construçao dos graficos


k=1:1:501;
plot(k,y,'c-', k,yf,'m-'); %k,ye, 'y-'
axis([ 0 501 -10 10]);
xlabel(' '); ylabel('saida');
title('metodo MQRE - (ARX.311)');

%---------------------------------------------------------------------

Obs: Para cada modelo ensaiado, as matrizes A e N2 são


modificadas pelos valores adequados.

Você também pode gostar