Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Temasobreminimoscuadrados PDF
Temasobreminimoscuadrados PDF
- IDENTIFICACIÓN DE SISTEMAS
Se entiende por identificación el proceso de encontrar las ecuaciones matemáticas que rigen
el comportamiento de un sistema, es decir, crear un modelo matemático del sistema físico
real.
Los sistemas de E/S quedan determinados por su función de transferencia, que puede
expresarse como una función temporal (respuesta impulsional) o como una transformada
(de Laplace si el sistema es continuo y transformada Z si el sistema es muestreado). Entre
los métodos que identifican la respuesta impulsional se encuentran los que se basan en el
teorema de la convolución y los que emplean funciones de correlación. Para la
determinación de la función de transferencia transformada se emplean excitaciones
sinusoidales. Estos métodos clásicos no van a ser tratados.
Otras veces se identifica al sistema basándose en la señal de error que se produce cuando se
le compara con un modelo. En este caso se emplea el método del gradiente.
Los elementos desconocidos del sistema se engloban en la matriz A, y son los parámetros
que aparecen en las ecuaciones dinámicas del sistema que se quiere identificar. Por otra
$ es la matriz formada por los valores estimados de la matriz de valores reales A.
parte, A
Los coeficientes aij que se quieren identificar son los del sistema real:
y 1 = a 11 x 1 + a 12 x 2 +L+ a 1n x n
y 2 = a 21 x1 + a 22 x 2 +L+ a 2 n x n
LLLLLLLLLLLL
y r = a r1 x 1 + a r 2 x 2 +L+ a rn x n
representando el vector y las r salidas del sistema y x las variables de las que dependen las
salidas.
es decir:
-2-
y$ 1 = a$ 11 x1 + a$ 12 x 2 +L+ a$ 1n x n
y$ 2 = a$ 21 x 1 + a$ 22 x 2 +L+ a$ 2 n x n
LLLLLLLLLLLL
y$ r = a$ r1 x1 + a$ r 2 x 2 +L+ a$ rn x n
La señal de error e2 es un escalar, de ahí que las líneas gruesas se hayan utilizado para
vectores y las finas para escalares.
Para que el modelo represente fielmente al sistema es necesario que el error cuadrático sea
mínimo, por lo que se define el índice de comportamiento:
1 T
J= e e
2
Para hacer que el modelo converja hacia el sistema, el algoritmo tiene que ir adaptándose a
las nuevas circunstancias que se produzcan, de modo que influya en el modelo para que el
error sea mínimo.
con µ > 0.
-3-
Desarrollando el gradiente quedaría:
$ ( k ) − µ ∂J = A
$ ( k + 1) = A
A $ ( k ) − µ ∂J ∂e = A
$ ( k ) − µe ∂e
$
∂A $
∂e ∂A $
∂A
∂e
siendo la derivada de un vector respecto a una matriz.
$
∂A
Derivar con respecto a matrices no es muy ortodoxo, pero los resultados que se van a
obtener son exactos y la diferencia, en sencillez conceptual, con respecto a otros métodos
es notable.
-4-
$ ( kT)
e( t ) = y( t ) − Ax
$:
y derivando con respecot a A
∂e
= −x T ( k )
$
∂A
A $ ( k ) − µe ∂e = A
$ ( k + 1) = A $ ( k ) + µex T ( k )
$
∂A
Para comprender como actúa este algoritmo, hay que tener en cuenta que el índice de
comportamiento es una función cuadrática de los parámetros a identificar:
1 T
J= e ( k ) e( k ) = f (e12 , e1 ,e 22 , e 2 ,L , e 2r , e r )
2
que representaría un hiperparaboloide de dimensión r+1.
Para demostrarlo:
e( k ) = y( k ) − y$ ( k )
1
2
1
[ ]
J = e T ( k ) e( k ) = y T ( k ) − y$ T ( k ) [ y( k ) − y$ ( k )] =
2
1
[
= y T ( k ) y( k ) − y T ( k ) y$ ( k ) − y$ T ( k ) y( k ) + y$ T ( k ) y$ ( k )
2 ]
Como:
$ ( k ) x( k )
y$( k ) = A
$ ( k ) la matriz formada por los parámetros que se quieren estimar, sustituyendo la
siendo A
expresión anterior en el índice de comportamiento resulta:
J=
1 T
2
[ $ ( k ) x( k ) − x T ( k ) A
y ( k ) y( k ) − y T ( k ) A $ ( k ) y( k ) + x T ( k ) A
$ T ( k) A ]
$ ( k ) x( k ) =
=
2
[
1 T $ ( k ) x( k ) + x T ( k ) A
y ( k ) y( k ) − 2 y T ( k ) A $ T (k)A
$ ( k ) x( k ) ]
$ (k) .
en donde queda de manifiesto que J es una función cuadrática de A
En el caso de que sólo hubiera un parámetro a identificar, esta función representaría una
parábola:
-5-
Fig. 12.2.- Algoritmo del gradiente
En la práctica el algoritmo del gradiente se aplica, con muy buenos resultados, cuando sólo
hay un parámetro a determinar. En el caso de ser dos los parámetros desconocidos, la
parábola se transforma en un paraboloide y los movimientos para alcanzar el punto óptimo,
que sería el vértice, se efectuan sobre una superficie, lo que hace que la convergancia sea
muchísimo más lenta.
dJ
También se podría haber calculado derivando directamente en la expresión de J:
$
dA ( k )
$
dJ
dA( k ) 2
1
[
= −2 y( k ) x T ( k ) + 2 A ]
$ ( k ) x( k ) x T ( k ) = A
$ ( k ) x( k ) x T ( k ) − y( k ) x T ( k ) =
[
= A ]
$ ( k ) x( k ) − y( k ) x T ( k ) = [ y$( k ) − y( k )]x T ( k ) = − e( k ) x T ( k )
-6-
$ ( k + 1) = A
$ ( k) − µ dJ
A = A( k ) + µe( k ) x T ( k )
$
dA( k )
Hay que tener en cuenta que la forma de actuar de este algoritmo es mejorando la
estimación en cada nueva medida.
Puede entrenarse off-line partiendo de una lista amplia de datos de entrada x(k) y salida
y(k) y alcanzado el valor óptimo de la estimación, por entrenamiento, fijar los parámetros
estimados para el modelo.
También puede trabajar on-line de modo que cada nueva medida la estimación se va
mejorando, a costa de que el proceso sea más lento.
-7-
por lo que los coeficientes serán dinámicos, adaptándose en cada instante para que el error
entre el modelo y la planta sea mínimo.
que podría ser el modelo matemático de una planta de r salidas y n entradas. De las
variables de salida y se sabe que sigue un comportamiento lineal respecto a otras variables
xi algunas de las cuales pueden ser valores de y en instantes precedentes o entradas. En
cualquier caso al vector x se le considerará como las entradas al sistema puesto que todos
sus valores serán conocidos.
[
en donde x(i) = x1 (i) L x n (i) ]T y que las salidas correspondientes de la planta real,
obtenidas directamente mediante mediciones, son:
en donde k >> n para conseguir una estimación aceptable de los coeficientes a identificar.
Las ecuaciones del modelo, correspondientes a las medidas realizadas serían:
y$ 1 (0) = a$ 11x1 (0) + a$ 12 x 2 (0) +L+ a$ 1n x n (0)
LLLLLLLLLLLLLLLLL
y$ r (0) = a$ r1x1 (0) + a$ r 2 x 2 (0) +L+ a$ rn x n (0)
y$ 1 (1) = a$ 11x1 (1) + a$ 12 x 2 (1) +L+ a$ 1n x n (1)
LLLLLLLLLLLLLLLLL
y$ r (1) = a$ r1x1 (1) + a$ r 2 x 2 (1) +L+ a$ rn x n (1)
y$ 1 ( k ) = a$ 11x1 ( k ) + a$ 12 x 2 ( k ) +L+ a$ 1n x n ( k )
LLLLLLLLLLLLLLLLL
y$ r ( k ) = a$ r1x1 ( k ) + a$ r 2 x 2 ( k ) +L+ a$ rn x n ( k )
-8-
T 0 a$ 11
y$ 1 (0) x (0) 0 L
LL L L L L M
y$ r (0) 0 0 L x T (0) a$ 1n
x T (1) 0 L 0 a$ 21
$
y
1 ( 1)
LL = L L L L M
y$ r (1) 0 0 x T (1) a$ 2 n
LL L L L L M
y$ 1 ( k ) x T ( k ) 0 L 0 a$ r1
LL
L L L L
y$ r ( k ) T a$ rn
0 L 0 x ( k )
krx1 krxnr nrx1
y en forma matricial:
r
y$ (k) = M a$
El objetivo de mínimos cuadrados es minimizar la suma del error cuadrático cometido en las
k medidas.
r
Para ello se define el error e( k ) como la diferencia entre el valor medido en la salida de la
r r
planta real y( k ) , y el estimado y$ ( k ) , es decir:
para obtener así el vector a$ óptimo cuyos componentes son los coeficientes buscados.
r v v v
e( k ) = y( k ) − y$ ( k ) = y( k ) − Ma$
-9-
El mínimo cumplirá:
r
dJ ∂J ∂e ( k ) r v
= r = − e ( k )M T = [Ma$ − y(k )]M T = 0
da ∂e ( k ) ∂a
$ $
por lo que:
v
Ma$ = y(k )
J=
1 rT r
2
1 r
2
T r
2 [ r
] r
e ( k )e ( k ) = [ y(k) - M a$ ] [ y(k) - M a$ ] = − a$ T M T + y T (k) [ y(k) - M a$ ] =
1
1
[ r r r r
= − a$ T M T y(k) + y T (k) y(k) + a$ T M T M a$ - y T (k)M a$
2 ]
y teniendo en cuenta que la derivada de una matriz A respecto a un vector x cumple:
d( Ax )
= AT
dx
d( x T Ax )
= Ax + A T x
dx
d( x T A )
=A
dx
derivando J con respecto a a$ e igualando a cero para minimizar el índice de
comportamiento cuadrático:
dJ 1
[ r r r
]
= -M T y(k) + M T M a$ + M T M a$ - M T y(k) = -M T y(k) + M T M a$ = 0
da$ 2
y despejando:
[ ]
−1 r
a$ = M T M M T y( k )
Esta última ecuación proporciona los coeficientes óptimos buscados. Para que exista
solución es necesario que la matriz MTM no sea singular, para que su inversa exista.
Se trata pues, de obtener un procedimiento recursivo que nos proporcione los valores de
los parámetros a$ (k+1), partiendo de los valores obtenidos en k y teniendo en cuenta la
última medida.
En la observación k+1 la entrada será x(k+1) y la salida de la planta y(k+1) que serán
vectores de n y r componentes respectivamente. Si denominamos al valor de los
coeficientes en ese instante a$ (k+1), las ecuaciones matriciales serían:
M
r T r
y( k ) x ( k + 1) L 0
a$ ( k + 1) +
e( k)
y( k + 1) = L L L e( k + 1)
T
0 L x ( k + 1)
en donde la notación anterior representa que se ha añadido una submatriz, cuyos elementos
v r
son vectores, a la matriz M y una fila, formada por un vector, a los vectores y( k ) y e( k ) .
Llamando:
-11-
r
r y( k )
y( k + 1) =
y( k + 1)
M
x T ( k + 1) L 0
M ( k + 1) =
L L L
0 L x T ( k + 1)
r
r e( k )
e( k + 1) =
e( N + 1)
quedaría:
r r
y(k + 1) = M (k + 1)a$ (k + 1) + e (k + 1)
es decir:
−1
M
x( k + 1) L 0 T x( k + 1) L r
0
x ( k + 1) L y( k )
a$ ( k + 1) = M T L M T L
0
L L L L
L L L y( k + 1)
L x( k + 1) L x( k + 1)
0 0
0 L x T ( k + 1)
x( k + 1) L 0 x T ( k + 1) L 0
A = M TM B= L L L D= L L L = BT
0 L x( k + 1) 0 L x T ( k + 1)
[ ] [ ] [ ] [ ]
−1 −1 −1 −1
P( k + 1) = M T M − M TM B( I + B T M T M B ) −1 B T M T M =
[
= P( k ) − P( k )B ( I + B T P( k )B ) −1 B T P( k ) = I − W ( k + 1)B T P( k ) ]
en donde se ha tenido en cuenta que:
-12-
[ ]
−1
P( k ) = M T ( k )M ( k )
[ ]
−1
W ( k + 1) = P( k )B I + B TP( k )B
Como además:
x1 ( k + 1) y1 ( k + 1)
M
x( k + 1) L 0 r x ( k + 1) y ( k + 1)
M T y( k ) T r
n 1
=
y( k + 1) = M ( k ) y( k ) +
L L L
M
0 L x( k + 1) x1 ( k + 1) y r ( k + 1)
M
x ( k + 1) y ( k + 1)
n r
r
= M T y( k ) + By( k + 1)
puede ponerse:
[ r
] [
a$ ( k + 1) = I − W ( k + 1)B T P( k ) M T ( k ) y( k ) + By( k + 1) ]
y teniendo en cuenta el resultado de mínimos cuadrados:
[ ]
−1 r r
a$ (k) = M T ( k )M ( k ) M T ( k ) y( k ) = P ( k ) M T ( k ) y ( k )
operando:
[ ]
a$ ( k + 1) = I − W ( k + 1)B T [a$ ( k ) + P( k )By( k + 1)] =
[ ]
= a$ ( k ) + I − W ( k + 1)B T P( k )By( k + 1) − W ( k + 1)B T a$ ( k ) =
= a$ ( k ) + P( k + 1)By( k + 1) − W ( k + 1)B T a$ ( k )
y como:
[ ] [
P( k + 1)B = I − W ( k + 1)B T P( k )B = I − P( k )B ( I + B T P( k )B ) −1 B T P( k )B = ]
[
= P( k )B I − ( I + B T P( k )B ) −1 B T P( k )B = ]
= P( k )B[( I + B P( k )B )
T −1
( I + B T P( k )B ) − ( I + B T P( k )B ) −1 B T P( k )B = ]
[ ]
= P( k )B ( I + B T P( k )B ) −1 ( I + B T P( k )B − B T P( k )B = P( k )B ( I + B T P( k )B ) −1 = W ( k + 1)
resulta:
[ ]
a$ ( k + 1) = a$ ( k ) + W ( k + 1) y( k + 1) − B T a$ ( k ) = a$ ( k ) + W ( k + 1)e( k + 1)
-13-
Es decir, con el error de la última medida se mejora la estimación anterior.
Las ecuaciones recursivas se pueden utilizar para N>k. Sin embargo, si se actúa de manera
recursiva desde la medida inicial, se parte de una matriz definida positiva P(0)=P0 y
entonces:
[ ]
−1
P( k ) = P0−1 + M T ( k )M ( k )
que puede hacerse arbitrariamente próxima a la definida en teoría, sin más que escoger P0
suficientemente grande. Estadísticamente P0 representaría la matriz de covarianza inicial.
Como los parámetros varían en cada periodo de muestreo, para ir adaptándose a que el
error sea mínimo en todos los instantes, es necesario eliminar la influencia de los datos más
antiguos, lo que se consigue definiendo el índice de comportamiento de la forma:
-14-
N
∑ λN-k [e T (k)e(k)]
1
J=
2
k =0
el "factor de olvido" λ es menor que la unidad e indica la rapidez con la que se olvidan los
datos antiguos. Un desarrollo del índice de comportamiento llevaría a:
J=
2 [
1 N T
λ e (0)e(0) + λN −1e T (1)e(1) + λN − 2 e T (2)e(2) +L+ λe T ( N − 1)e( N − 1) + e T ( N )e( N ) ]
en donde se aprecia que al ser λ menor que la unidad, los datos más recientes tienen mayor
peso específico.
[
W (k + 1) = P(k)B λI + B T P(k) B ]
y:
P( k + 1) =
[I − W(k + 1)B ]P(k)
T
-15-