Académique Documents
Professionnel Documents
Culture Documents
1
Principalmente, por las dos razones expuestas anteriormente diseño de controladores y métodos de
detección de fallos, es necesario disponer de un modelo matemático que se ajuste al comportamiento
del sistema estudiado. El curso tiene como objetivos:
• Conocer una metodologías de modelización denominada identificación; dicha metodología
parte de la información disponible de dichos sistemas o, con otras palabras, el análisis de las
entradas, señal de excitación, y las salidas, respuesta del sistema;
• Estudiar distintas herramientas para la identificación de:
o Modelos lineales, utilizando herramientas de análisis temporal y frecuencial;
o Modelos no lineales, utilizando redes neuronales.
El desarrollo de las técnicas de diseño de controladores utilizando métodos numéricos y las técnicas
de identificación, se originaron simultáneamente [Backx93]. El inició de las técnicas de
identificación, aplicadas a procesos con una entrada y una salida, tienen su origen a principios de los
años 70 [Åström70]. No será hasta finales de la década de los 90 que empiezan aplicarse a procesos
industriales [Ljung87; Söderström89], algunas de ellas útiles para el estudio de sistemas múltiple
entrada múltiple (MIMO).
2
• Tiempo continuo o tiempo discreto, se propone describir técnicas para la identificación de
modelos en tiempo discreto y continuo.
Debemos dejar claros varios aspectos en cuanto a la construcción de un modelo:
a) Un modelo se desarrolla siempre a partir de una serie de aproximaciones e hipótesis y,
por lo tanto, es una representación parcial de la realidad;
- Un modelo se construye para una finalidad específica y debe ser formulado para que sea útil a
dicho fin;
- Un modelo tiene que ser por necesidad un compromiso entre la simplicidad y la necesidad de
recoger los aspectos esenciales del sistema en estudio.
gˆ N (t ,ϕ (t )) = g ( t ,θˆN ,ϕ ( t ))
Por ejemplo en el caso de una estructura de modelo simple como ARX de primer orden:
y (t) + ay (t − 1) = b1u( t −1) + b2u (t − 2)
la correspondencia con la formulación general seria:
θ = ( a, b1, b2 )
ϕ (t ) = ( y (t − 1), u (t − 1), u (t − 2) )
g ( t ,θ , ϕ (t )) = −ay (t − 1) + b1u (t − 1) + b2u (t − 2)
3
El ejemplo anterior muestra la formulación convencional de los sistemas de identificación, en que la
estructura del modelo se corresponde con una regresión lineal. En general, la estructura del modelo
podría ser cualquiera, desde regresiones no lineales (caso en que g es no lineal respecto aθ), modelos
tipo ‘tailor-made’, a redes neuronales. También podrían incluirse modelos dinámicos Fuzzy en el caso
en que se reemplazara ϕ(t) y y(t) por valores como “el horno está muy caliente”,”el horno está
tibio”, “el agua está hirviendo”, ...
Ug ( t , θ , ϕ( t ))
d
d
d =1
en donde el vector θ contiene d parámetros. Por supuesto que para cada conjunto finito de datos ZN
d
1 N
VN (θ ) = ∑ y( t ) − g (t ,θ ,ϕ (t ))
N t =1
2
se minimiza considerando alguna norma · , por ejemplo: ε = ε , siendo:
ε (t , θ ) = y( t ) − g (t , θ , ϕ ( t ))
Este caso origina una familia de métodos de identificación denominados “métodos de predicción del
error”.
4
a) Evaluando el error entre el modelo y el proceso se puede diferenciar entre ecuación de error y
error en la señal de salida. El primero se suele utilizar cuando se dispone de un modelo con una
función de pesos, y la segunda si se dispone de una función de ecuaciones diferenciales y/o funciones
de transferencia. Para ilustrar la diferencia entre ambas aproximaciones consideremos las siguientes
estructuras de modelo:
- estructura ARX: y(t)+ay(t-1) = b 1 u(t-1) + b 1 u(t-2) + v(t)
b1 + b2q −1
- estructura OE: y (t ) = u (t − 1) + v (t )
1 + f1q −1
donde y(t) es la medida de la salida del sistema, u(t) es la medida de la entrada del sistema mientras
que v(t) es el término perturbación (ruido, señal no conocida). Dependiendo de la estructura del
modelo, la estimación de la señal error será:
- ecuación del error, estructura ARX, calculado por la expresión:
ε(t) = y(t)+ay(t-1) - b 1 u(t-1) + b 1 u(t-2) ≈ v(t)
donde tanto el histórico de las entradas como salidas influyen en el cálculo del término error.
- error en la salida, estructura OE, calculado por:
b1 + b2q −1
ε (t ) = y(t ) − u( t − 1) ≈ v(t )
1 + f 1q −1
en donde el error o residuo solo está afectado por el histórico de las entradas.
b) Con respecto a los algoritmos utilizados en los métodos de identificación, se puede distinguir entre
algoritmos recursivos o algoritmos no recursivos. En el primer caso la estimación de los parámetros
se realiza después de cada nuevo conjunto de datos, utilizando el valor de los parámetros estimados
con un conjunto de datos como punto de partida para la estimación de los parámetros para el conjunto
de datos posterior. Con el algoritmo no recursivo se utilizan secuencias enteras que comprenden todos
los datos almacenados para calcular en un solo paso el valor de los parámetros.
c) Con el hecho de disponer de un ordenador para realizar la identificación del modelo,
podemos distinguir entre dos formas de acoplar el proceso con el ordenador, son las
denominadas: operación on-line (acoplamiento directo) y operación off-line (acoplamiento
indirecto). En el caso off-line se almacenan los datos adquiridos del proceso y posteriormente
se transfieren al ordenador para ser evaluados y procesados. Ya que este tipo de
identificación se realiza sobre un conjunto de datos, puede considerarse como un proceso en
lote (batch processing). Cuando se trabaja en on-line los datos son directamente procesados
dando lugar a lo que se denomina procesado en tiempo real o bacth processing cuando los
datos son evaluados después de realizarse un conjunto de medidas. Las distintas formas de
procesar los datos se describe en la figura 1.1.
5
Figura 1.1. Formas para el procesado de los métodos de identificación [Isermann80]
Los métodos de identificación pueden clasificarse también en función de los modelos obtenidos, de
esta forma podríamos diferenciar entre: técnicas de identificación no paramétricas, obteniéndose
modelos no paramétricos, y técnicas de identificación paramétricas, que conducen modelos
paramétricos. Dentro de las denominadas técnicas de identificación no paramétricas podemos citar
como mas importantes:
(1) Análisis de la respuesta transitoria se basa en la obtención de la respuesta del sistema a un
impulso o a un escalón. Las señales de test a utilizar en este caso son un impulso o un escalón,
respectivamente, y la salida registrada da el modelo correspondiente.
(2) Análisis de correlación es un método del dominio temporal, útil para sistemas lineales y con
señales continuas o discretas. Como resultado del mismo se obtiene la función de correlación entre las
variables de interés y, como caso especial, una función de pesos.
(3) Técnicas frecuenciales que son utilizadas directamente para estimar la respuesta frecuencial del
sistema. Dentro de las técnicas frecuenciales podemos diferenciar entre el análisis de Fourier y el
análisis Espectral.
Todas ellas son aplicables en el caso de considerar procesos lineales o linealizables. Para su
utilización no se debe suponer ningún tipo de estructura para el modelo y los resultados obtenidos son
de tipos gráfico los cuales pueden ser mas o menos fáciles de interpretar.
En el caso de métodos de identificación paramétricos, se debe tener en cuenta una cierta estructura
para el modelo. Los parámetros del modelo se calculan minimizando ciertos criterios de error entre el
modelo y el proceso. En general podemos distinguir entre dos tipos de técnicas:
• Técnicas frecuenciales, las cuales minimizan el error entre la respuesta frecuencial real del
proceso y la respuesta frecuencial del modelo;
• Técnicas temporales, las cuales minimizan el error temporal, error de predicción o error de
salida, entre el modelo y el proceso. Forman parte de este grupo los métodos de identificación
paramétricos clásicos y con redes neuronales los cuales se expondrán extensamente en este curso.
Ambas pueden ser utilizadas tanto para la estimación de los parámetros de modelos continuos como
discretos.
6
1.3.3 Etapas a seguir para la identificación de un modelo
En general, las etapas a seguir para identificar un modelo paramétrico son:
• Diseño del experimento de identificación. En esta primera etapa es necesario decidir, entre otros
aspectos: el tipo de señales de excitación, el mejor periodo para la adquisición de datos, la
cantidad de datos necesarios;
• Observación y mejora de la calidad de los datos capturados. Antes de utilizar los métodos de
estimación de parámetros es necesario: observar y reparar los datos erróneos, filtrar les altas
frecuencias, eliminar offsets y tendencias, ...;
• Determinación de la estructura del modelo. En esta etapa es necesario definir el tipos de modelos
a utilizar: continuos o discretos, tipos de ruido, lineales o no lineales, regresiones, redes
neuronales, ... Y es necesario adoptar un procedimiento para determinar el orden del modelo.
• Estimación de los parámetros. Etapa la mayoría de las veces muy relacionada con la anterior, en
ella se presenta el problema de decidir el método o métodos de estimación de parámetros que se
va a utilizar para calcular el valor de los mismos. En general se puede escoger entre dos técnicas
distintas: en el dominio temporal y en el dominio frecuencial.
• Validación del modelo. Es la etapa en la que debe preguntarse si el modelo identificado es
suficientemente representativo del proceso estudiado. En el se debe definir un criterio para
evaluar la calidad. Generalmente se dispone de varios modelos candidatos y debe escogerse uno
de ellos basándose en algún criterio.
Actualmente hay muchos programas comerciales de ayuda a ingeniero en las etapas de identificación,
concretamente en las etapas de estimación de parámetros y evaluación de las propiedades del modelo
estimado. Hay otras etapas que dependen exclusivamente del usuario [Ljung94]. En este curso
utilizaremos como herramienta de trabajo el programa Matlab y concretamente la toobox de
identificación.
Datos
Observación y mejora de la
¿Es necesario cualidad de los datos
filtrar?
Datos
Si
Figura 1.2. Etapas para la identificación de un proceso. Los rectángulos son en general
responsabilidad del ordenador y los ovalados son en general responsabilidad del usuario.
7
1.3.4 Relación entre mode los y métodos
Para finalizar el tema de introducción podríamos remitirnos a [Isermann80] exponiendo de forma
resumida la dependencia existente entre la construcción del modelo y su objetivo final o aplicación.
Tabla 1.1. Algunos ejemplos de la relación existente entre el objetivo final del modelo (aplicación) y
las especificaciones del proceso de identificación.
8
Tema 2
2.1 Introducción
Como se ha comentado en la introducción, la identificación es un método de construcción de
modelos basado en experimentos. El caso particular de un sistema lineal invariante en el
tiempo puede ser descrito por su función de transferencia (modelos paramètricos) o por su
correspondiente respuesta impulso o frecuencial (modelos no paramétricos). Se consideran
modelos no paramétricos a aquellos en que no es posible definir un vector de parámetros
finito para representarlo. Estas técnicas, la mayoría de ellas más fáciles o directas de aplicar o
utilizar en un proceso real, aportan información muy útil para afrontar las decisiones que
debe tomar el usuario ante un problema de identificación de un proceso, véase la figura 1.2.
Como ser expondrá en este tema, utilizando previamente algunas de dichas técnicas, será
posible: considerar unos datos válidos o no, diseñar adecuadamente el experimento y,
también, conocer algunas de las características de la estructura del modelo.
Se define como media, µ,. y covarianza, Ru ( ), de una señal estacionaria determinista, u(t), a:
1 N
u = µ u = lim ∑ u (t )
N →∞ N t =1
(2.1)
1 N
Ru (τ ) = lim ∑ [u (t + τ ) − µ ][u (t) − µ ]
T
N → ∞ N t =1
9
Al valor de la covarianza en τ=0 se la denomina varianza, σ u2 , y se caracteriza por ser una
función par:
R( −τ ) = R(τ )
La energía total o RMS de una señal se calcula a partir de la ecuación (2.2).
1 N
RMS u = ∑
N t=1
u (t ) 2 (2.2)
N
1
U N (ω ) =
N
∑ u (t ) e − j ωt
(2.3)
t =1
para valores de ω=2πk/N, k=1,...,N. UN(ω) se caracteriza por ser una función de periodo 2π,
por lo tanto: UN(ω+2π)=UN(ω) y si u(t) es real UN(-ω)=conj(UN(ω)) (conj equivale al
conjugado complejo). La señal u(t) se puede representar por la inversa de DFT:
1 N
u( t ) = ∑
N k =1
U N ( 2πk N ) e j2πkt / N (2.4)
El valor de UN(2πk/N) nos informa sobre el 'peso' que origina la descomposición de la señal
u(t) a la frecuencia 2πk/N por los distintos valores de k. Su valor absoluto cuadrático
UN(2πk/N)2 es una medida de la contribución energética de esta frecuencia en la señal. La
relación de Parseval:
N N
∑U ( 2 πk / N ) = ∑ u (t )
2 2
N
t= 1 t= 1
(2.5)
reafirma la interpretación que la energía de una señal puede descomponerse en la
contribución energética de las diferentes frecuencias.
La densidad espectral, S(ω), de una señal u(t) se define como la transformada de Fourier de la
función covarianza:
1 ∞
S (ω ) = ∑ R(τ ) e− iτω
2π τ = −∞ (2.6)
y por ser la covarianza una función par:
1 ∞
S (ω ) = ∑ R(τ ) cos(ωτ ) (2.7)
π τ =0
En general, para realizar una buena identificación de parámetros es necesario aplicar una
señal de entrada frecuencialmente rica. Para garantizar que los algoritmos de estimación
converjan a una solución única, es necesario imponer unos requerimientos mínimos en las
10
señales de test. Esto se denomina condiciones persistentemente excitadas (persistent
excitation).
Se dice que una variable discreta es persistentemente excitada de orden n si existe el límite:
N
R u (τ ) = lim
N→∞
∑
t=1
u (t )u (t − τ ) (2.9)
y la matriz:
R uu ( 0 ) R uu (1) L R uu ( n − 1)
R ( − 1) R uu ( 0) M
An =
uu
M O (2.10)
uu − n)
R (1 L R uu ( 0 )
Si se considera que u(t) es una señal determinista periódica con un periodo M, u(t)= u(t-M)
para todo t, el valor medio µ y la función de covarianza Ru (τ), definidos en (2.1), tiene por
expresión:
1 N 1 M
µ = lim ∑
N → ∞ N t =1
u ( t ) = ∑ u (t )
M t =1 (2.11)
N M
Ru (τ ) = lim
1
∑ [u (t + τ ) − µ ][u (t ) − µ ]T = 1 ∑ [u (t + τ ) − µ ][u( t) − µ ]T
N →∞ N t =1 M t=1
para una señal periódica la función de covarianza vale:
R( M + τ ) = R(τ ) (2.12)
La antitransformada de Fourier discreta de una señal periódica puede ser escrita, de acuerdo
con la ecuación (2.4), como:
M
1
u(t ) =
M
∑A e
k =1
k
j 2πkt / M
(2.13)
siendo:
11
M
∑u(t )e
1
Ak = − j2πkt / M
M t=1
2 2πk N
κ Ak , si ω= , k = 0,±κ ,±2κ ,±L ,±
2 N 2
U N (ω ) = (2.14)
0, 2πk N
si ω= , k ≠ 0,±κ ,±2κ ,±L ,±
N 2
∑ [e(t ) − e ]
1
var{e(t )} = R e (0) = =λ
2 2
N t =1
Se caracteriza porque:
N
1 / N ∑ e (t )e ( t + τ ) → 0 cuando N →∞
t =1
La matriz (2.9) Ru (n)=λ2 In (In matriz identidad de orden n), es por tanto una matriz definida
positiva para todo n, indicando que el ruido blanco es una señal persistentemente excitada.
El ancho de banda de un ruido blanco es hipotéticamente infinito, cuando se trata de una
señal discreta el ancho de banda esta acotado por el numero de muestras y el periodo de
muestreo de dicha señal (2.3).
12
El ruido blanco filtrado se caracteriza por tener un ancho de banda finito. Se obtiene filtrando
adecuadamente el ruido blanco.
Definimos q-1 como el operador retardo, por lo tanto q-1 u(t) = u(t-1).
u(t) = sign(randn(500,1))
13
donde ∆t es el periodo del reloj que desplaza los registros.
CLK
∆t
0 1 0 0 salida, MLBS
xor
Ver que como mínimo uno de los N registros debe ser distinto a cero.
V2 sin 2 (ω 2)
= 2 (M + 1)
M (ω 2) 2 (2.21)
=
V
2
(M + 1) sin 2 (kπ M ) para k = 1,2,3, L
M2 (kπ M ) 2
y la densidad espectral discreta [Söderström89], calculada con la fórmula (2.8) vale:
M −1
k
) ∑ δ ω − 2π
V2
S u (ω ) = δ ( ω ) + ( M + 1 (2.22)
M2 k=1 M
14
La frecuencia de los armónicos queda determinada por ∆t i M:
k
fk = (2.23)
M ∆t
y la potencia media del ancho de banda se da aproximadamente 0.443/∆t Hz [Evans92]. Por
lo tanto es posible, ajustando el valor de M y ∆t, cubrir apropiadamente el rango de
frecuencias del sistema. El espectro de esta señal decrece con la frecuencia.
Esta forma de diseño, origina señales con unas características muy cerradas:
- conjuntos ∆t ≈ 0.443/BW, donde BW representa el valor de la frecuencia del proceso a -3dB
- y M ∆t > Ts, el tiempo de estabilización del proceso.
F
u(t ) = ∑ A i cos( 2πfi t + φi ) (2.24)
i =1
La historia temporal de una señal, puede medirse cuantitativamente a partir del factor de
cresta, CF, definido en (2.25) [Rees92]. Cuando tenemos procesos con ruido, es necesario
que las señales tengan un factor de cresta bajo, de esta forma se consigue que la señal de
excitación tenga la máxima energía con una amplitud acotada.
(
max u( t ) ) (2.25)
CF =
u( t ) rms
A escala comparativa, diremos que una señal sinusoidal puro tiene un factor de cresta igual a
1.414, mientras que en el caso de una señal binaria pseudo aleatoria (PRBS), CF=1. Respecto
a las señales multisinusoidals, el valor del factor de cresta depende de la fase de los
armónicos. En el caso de considerar fases nulas, el factor de cresta de la señal es alto, CF > 1.
15
Per minimizar el CF de estos tipos de señales, de debe seleccionar cuidadosamente la fase de
cada uno de los armónicos [Rees93].
B- El método propuesto por Guillaume, L8. Consiste en minimizar el del CF, definido en
este caso por la expresión:
l ( u)
CF = ∞ (2.27)
l2 ( u)
donde l∞(u) es la norma de Chebyshev de u(t) y la norma l2 es el valor de RMS. Se utiliza
el método de Gauss-Newton para minimizar el valor de la norma l∞. Este método tiene el
inconveniente que su cálculo es muy largo.
La función de autocovarianza de una suma de sinusoides, Ru (τ), es una función coseno (2.28),
donde el valor de los pesos Ci depende del valor de ω i = 2πf i y de A2 , tal como se demuestra
en [Söderström89].
F
ru (τ ) = ∑ Ci cos(ω i τ ) (2.28)
i =1
con:
Ai2
Ci = si ωi τ ≠ π ,2π ,3π ,L
2
Ci = Ai2 sin 2φi si ωi τ = π ,2π ,3π ,L
16
A partir de la ecuación (2.29) y en el intervalo de valores [−π , π ] se deduce [Söderström89]
que este tipos de señales son persistentemente excitados de orden:
2 F si 0 < ω1 , ω F < π
(2.30)
2 F − 1 si 0 = ω1 o ω F = π
2 F − 2 si 0 = ω i ω = π
1 F
Cuando este sistema está sujeto a una entrada impulso definida por:
α , t = 0
u( t ) = (2.33)
0 , t ≠ 0
la salida es:
y(t)=α g(t) + v(t) (2.34)
17
2.3.2 Análisis de la respuesta escalón
Un complemento de la respuesta a un impulso es la muy conocida respuesta a un escalón, que
tienen como ventaja que es más fácil de generar. La señal de test se describe como:
α ,t> 0
u(t ) = (2.36)
0 ,t≤0
Aplicada esta al sistema descrito en (2.31) se obtiene que la salida puede determinarse
mediante:
t
y (t ) = α ∑ g (k ) + v (t ) (2.37)
k =1
Partiendo de ella se puede estimar la respuesta impulso como:
y (t) − y (t − 1)
gˆ (t ) = (2.38)
α
siendo el error de estimación: [v(t ) − v(t − 1)] α . En muchas aplicaciones prácticas la
utilización de la ecuación (2.38) da errores elevados.
αK
τ T
tiempo
Figura 2.2. Evaluación de la respuesta a un escalón según Küpfmüller
18
Otro método, desarrollado por Strejc, realiza la estimación de los valores de los parámetros
de un modelo de orden n con la misma constante de tiempo y retardo:
K
G (s) = e − sτ (2.41)
(1 + sT ) n
y∝
yi
Tu Tg tiempo
τ Ti Tm
Un método más complejo es el propuesto por Schwarze el cual permite evaluar las respuestas
escalón y rampa para diferentes estructuras de modelos. Más información al respecto se
encuentra en [Rake80].
n Tg Tu Tu Ti yi Tm Tm
T T Tg T y∞ T Tg
1 1.000 0.000 0.000 0 0.000 1.000 1.000
2 2.718 0.282 0.104 1 0.204 2.000 0.736
3 3.695 0.805 0.218 2 0.323 2.500 0.677
4 4.463 1.425 0.319 3 0.353 2.888 0.674
5 5.199 2.100 0.410 4 0.371 3.219 0.629
6 5.699 2.811 0.493 5 0.384 3.510 0.616
7 6.226 3.549 0.570 6 0.394 3.775 0.606
8 6.711 4-.307 0.642 7 0.401 4.018 0.599
9 7.146 5.081 0.709 8 0.407 4.245 0.593
10 7.590 5.869 0.773 9 0.413 4.458 0.587
19
2.4 Análisis de correlación
El análisis de correlación es un método basado en un análisis estadístico y tiene como
objetivo estimar la respuesta impulsional del proceso. Esta, se determina a partir del análisis
de correlación entre la señal de entrada y la señal de salida. Las señales test más utilizadas en
este ensayo son las secuencias de ruido blanco o, en la práctica, las PRBS.
Definición: Se dice que dos señales x(t) y y(t) no están correlacionados (son independientes)
con un 95% de confianza sí:
1.96
P ρ xy (τ ) ≤ = 0.95
N
(2.45)
1 .96 Rx (0) Ry (0 )
P Rxy (τ ) ≤ = 0.95
N
20
∞
Ryu (τ ) = E{y( t )u (t − τ )} = ∑ g ( k ) E{u (t )u(t − τ )} + E{v (t )u (t − τ )} (2.47)
k =0
En la práctica, ya que las señales de entrada y salida no son infinitas, las funciones de
covarianza se estiman a partir de los datos de la siguiente forma:
1 N −max(τ , 0 )
Rˆ yu (τ ) = ∑ y (t ) y (t + τ ) , τ = 0, ±1, ±2, ...
N t =1− min(τ , 0 )
N −τ
1
Rˆ u (τ ) =
N
∑ u(t )u(t + τ )
t =1
(2.49)
En estas condiciones, el valor estimado de los pesos de la función g(k) puede ser determinado
solucionando la ecuación (2.50) que consiste en un sistema lineal de dimensión finita.
∞
Rˆ yu (τ ) = ∑ g) (k ) Ru (τ − k ) (2.50)
k=0
El problema queda muy simplificado en el caso en que se utilicen señales de test especiales
con funciones de auto covarianza sencillas. Cuando se utiliza, por ejemplo, un ruido blanco
como señal de test, sabiendo que Rˆ u (τ ) = 0 para τ >0, la ecuación 2.50 queda reducida a:
g (τ ) = Rˆ yu (τ ) R u ( 0) (2.51)
siendo fácilmente calculable a partir de los datos experimentales.
En el caso en que la señal de excitación no sea un ruido blanco, el cálculo de la ecuación 2.50
no es trivial. A continuación se proponen dos métodos para resolverla:
1. Función de pesos truncada o respuesta impulsional finita (FIR). En este caso se considera
que la función impulso es de orden finito: g(k)=0 para k≥M. Para ser utilizado, es necesario
que M sea mayor que la constante dominante del sistema. En este caso una buena
aproximación para solucionar la ecuación 2.50 es:
M −1
Rˆ (τ ) =yu ∑
g) (k ) R (τ − k ) u
(2.52)
k =0
Escribiendo esta ecuación de forma desarrollada para τ = 0,1, ..., M-1, se obtienen el siguiente
conjunto de ecuaciones lineales:
Rˆ yu ( 0) Rˆ u ( 0) Rˆ u (1) Rˆ u ( 2)L Rˆ u ( M − 1) gˆ (0 )
Rˆ yu (1) Rˆ u (1) Rˆ u (0) Rˆ u (1)L Rˆ u ( M − 2) gˆ (1)
Rˆ ( 2) = Rˆ ( 2) Rˆ u (1) Rˆ u ( 0)L Rˆ u ( M − 3) gˆ ( 2) (2.53)
yu u
M M M M O M M
ˆ ˆ
R yu ( M − 1) Ru ( M − 1) Rˆ u ( M − 2) Rˆ u ( M − 3) L Rˆ u ( 0) gˆ ( M − 1)
21
Las ecuaciones anteriores pueden ser aplicadas a más de M valores de τ dando lugar a un
sistema de ecuaciones lineales sobre determinado.
2. Aplicando filtros. Un segundo método propuesto seria el de aplicar un filtro para blanquear
la señal de entrada. Cuando ambas señales, entrada y salida, son filtradas con el mismo filtro
L(q-1 )
yF (t ) = L (q −1 ) y(t )
(2.54)
uF (t ) = L (q −1 )u(t )
las señales filtradas presentan la misma relación que en la ecuación (2.31)
∞
y F (t ) = ∑ g ( k )u F (t − k ) + vF (t ) (2.55)
k=0
El filtro L debe ser seleccionado de tal manera que la señal de entrada uF(t) sea lo más
parecida posible a un ruido blanco. Puede calcularse considerando que L es un filtro AR (auto
regresivo): A(q-1 )u(t)=e(t), donde el polinomio A(q)=L(q) puede calcularse utilizando el
método de mínimos cuadrados (expuesto en el capítulo 3). El orden del polinomio A, na,
suele estar comprendido entre 4 y 8. Se determina la función impulsional aplicando la
ecuación (2.51) de la forma:
R y u (k )
gˆ ( k ) = F F (2.56)
R u F ( 0)
Más detalles sobre el mismo se exponen en [Ljung94].
22
2.5.1 Análisis de la respuesta frecuencial
El análisis de la respuesta frecuencial es un método simple para obtener información acerca
de un sistema lineal. Consiste simplemente en describir como se comporta el sistema cuando
esta sometido a una entrada senoidal. Al aplicar una señal de entrada definida por:
u (t ) = α sinω t (2.57)
la respuesta del sistema puede describirse como:
y (t ) = G ( jω ) α sin (ω t + φ (ω ) ) + v (t ) + transitorio
(2.58)
donde φ (ω ) = arg G ( j ω )
u ,y
Tφ
tφ
U
Y
y(t)
u(t)
23
• No es necesario hacer ninguna suposición sobre la estructura del modelo, solo considerar
que se trata de un modelo lineal.
• Es fácil concentrar el estudio del proceso en un rango de frecuencias determinado.
Tm
1
y c (ω ) = ∫ y(t) cos ωt dt = 2 T
0
m G ( j ω ) α sin φ (ω ) (2.60)
Para minimizar el efecto de las perturbaciones, la duración de las medidas Tm debe ser
siempre un múltiplo del periodo de la señal de test. En el mercado hay equipos que utilizan
este método para realizar el análisis frecuencial. El principal inconveniente de este método
radica en el hecho de que en la mayoría de procesos industriales no es posible aplicar una
señal senos como entrada en operación normal y, al igual que el método anterior, requiere
24
repetir los experimentos para muchas frecuencias, hecho que en muchos casos lo hace
inviable.
∑ u(kT ) < ∞
(2.63)
∫ u (t ) dt < ∞ o T
−∞ k = −∞
Y (ω )
Y (ω ) = G(iω )U (ω ) ⇒ G(i ω ) = (2.64)
U (ω )
YS (ω )
Gˆ S ( jω ) =
U S (ω ) (2.66)
En el caso en que se disponga de datos muestreados: u(kT), y(kT) para k=1,...,N, se puede
utilizar para el cálculo de la transformada de Fourier discreta:
N N
Y S (ω ) = T ∑ y ( kT ) e − j ω kT y U S (ω ) = T ∑ u ( kT ) e − j ω kT (2.67)
k =1 k =1
Cuando la frecuencia tiende por valor ω=r 2π/N, para r = 0,...,N-1, y N se ajusta a una
potencia de dos, es posible utilizar la FFT para estimar los valores de YS (ω) y US (ω) .
25
2cu .cg V S (ω )
Gˆ S ( jω ) − G ( jω ) ≤ + (2.69)
U S (ω ) U S (ω )
Para interpretar el resultado se deben hacer suposiciones respecto a la señal de entrada.
Dado una señal u(t) obtenida de un proceso estocástico con una densidad espectral Φ u(ω), el
valor estimado de Φ̂ N será:
Φ
ˆ N (ω ) = Φ u (ω ) + RN (2.71)
siendo RN el termino residual, responsable de las fluctuaciones. Este término se caracteriza
por tener un valor medio nulo y una variancia que depende del tipo de señal y puede tender a
cero a medida que se aumenta N.
y(t)=G(q)u(t)+v(t) (2.72)
se obtiene:
Y(ω)=G(jω)U(ω)+V(ω) (2.73)
26
Considerando que las señales u(t) y v(t) son independientes, al multiplicar la ecuación (2.73)
por el término U(ω) se obtiene la ecuación (2.74) con la cual es posible estimar la función
frecuencial (2.75). Y, al mismo tiempo, como resultado de elevar al cuadrado la ecuación
(2.73) se obtiene la ecuación (2.76) que hace posible estimar el espectro de la perturbación
(2.77).
Φ yu (ω ) = G ( iω )Φ u (ω )
(2.74)
La estimación de la función espectral se realiza mediante:
Φ
ˆ Nyu (ω ) (2.75)
Gˆ N (i ω ) =
Φ
ˆ uN (ω )
Para aplicar la ecuación (2.75), debe determinarse en primer lugar el espectro de la señal de
entrada u(t) y el espectro cruzado entre las señales u(t) y y(t). Se ha visto en (2.71) que el
espectro tiene asociado un término residual, por lo tanto para realizar una buena estimación
de la función de transferencia del sistema será necesario reducir este término. En la
bibliografía hay distintos métodos para reducir la variación o término residuo del espectro de
una señal, aquí se describen dos de ellos por ser los utilizados en el programa MATLAB.
2. Mètode de Blackman-Tukey
Este método consiste en reducir las fluctuaciones haciendo un promedio entre un nombre
determinado de frecuencias vecinas.
π
Φ ∫
ˆ N (ω ) = Wγ (ω − ξ ) Φ
−π
ˆ (ξ )dξ
N
(2.79)
donde: Wγ(ω) es una función ventana centrada y 1/γ describe la longitud de la ventana.
Otra forma distinta a la ecuación (2.70) para calcular el espectro de una señal consiste en
utilizar la función varianza:
27
∞
Φ u (ω ) = T ∑R u ( kT )e
−i ω kT
(2.80)
k = −∞
Las etapas que proponen Blackman-Tukey para estimar el espectro de una función son:
a) Definir el tipo de ventana. En general para el análisis espectral se suele utilizar la ventana
Hamming:
ωγ(k) = ½ (1+cos(πk/γ)) k < γ
ωγ(k) = 0 k ≥ γ
b) Determinar la longitud de la ventana. Este valor es un compromiso entre la resolución
espectral (mayor γ menor resolución) y la variancia (a mayor γ mayor varianza).
• Cuando se desean determinar picos de resonancia son necesarios valores grandes de
γ, comportando un aumento de la varianza.
• Cuando se desea evaluar un espectro llano se utilizan valores pequeños de longitud
de ventana.
c) Calcular Ru (k) para k=0,...., γ
d) Determinar Φ$ N (ω) a partir de la ecuación (2.81). El espectro cruzado entre las señales de
entrada y salida se determinan a partir de:
γ
Φ
ˆ N (ω ) =
yu ∑ Rˆ
l= −γ
N
yu (l)Wγ ( l)e −ilω (2.82)
28
estacionario, consiste en: (1) seleccionar de los datos de entrada y salida los puntos de
equilibrio, (2) ajustar a los mismos un polinomio de segundo o tercer orden y (3) observar
el valor de los términos de mayor orden del polinomio ajustado; en el caso de que estos
términos sean muy significativos implica que el proceso tiene un gran componente de no
linealidad. Para eliminar dicha no linealidad, puede precompensarse los datos del proceso
utilizando el modelo inverso del polinomio. En el caso de que no sea posible aplicar una
señal escalonada al proceso (técnica no paramétrica expuesta en el apartado 2.3.1), por
motivos técnicos o económicos, si que se acepta habitualmente la utilización de un
escalón simple, en este caso solo será posible estimar la constante de tiempo más
relevante del proceso estudiado.
(c) Los experimentos con ruido blanco (white noise experiment) pueden ser útiles para
determinar el ancho de banda y los retardos del proceso. Este tipo de experimento se
caracterizan por excitar el proceso mediante un ruido blanco. Con los datos resultantes de
dicho experimento puede realizarse el estudio espectral y/o el análisis de correlación
[Zhu93], técnica también no paramétrica descritas anteriormente. Otros tipos de señales a
utilizar en la realización de dicho experimento son señales con el ancho de banda limitado
como la PRBS (pseudo random binary sequence) o senoides múltiples (estas señales se
describen en el próximo apartado).
(d) Finalmente, se menciona la técnica de la respuesta frecuencial del proceso realimentado
con un relé con histéresis [Åström88]. Este método consiste en conectar el proceso de la
forma indicada en la figura 2.6. Dando lugar, en la mayoría de los procesos, a una onda
cuadrada a la salida del relé y una onda aproximadamente sinusoidal a la salida del
proceso. Esta técnica es muy útil para determinar las características fundamentales del
sistema en el caso en que, por los motivos que sea, no pueda operarse en lazo abierto.
ysp u G(s) y
e
-1
Figura 2.6. Diagrama de bloques de un proceso realimentado con relé
2
4 Au 1 − h − j h
N ( Ay ) =
(2.83)
πAy Ay 2
Ay
29
que corresponde al caso en que la función de transferencia avaluada en el campo
frecuencial, G(ωj), intercepta con -1/N(Ay ), figura 2.7. La ecuación (2.84) se obtiene a
partir del requerimiento que una onda sinusoidal de frecuencia ω se propaga a través del
anillo realimentado con la misma amplitud y fase.
Imaginario
-1 Real
-1/N(Ay ) -1
G(ωj)
Y(ω h )
G (iω h ) = = Kh
U (ωh ) (2.85)
Y (ω h )
arg( G(i ωh )) = atan = φh
U (ωh )
La información sobre la constante de tiempo del proceso estudiado se obtendrá
considerando que sus características se ajusta a una determinada función de transferencia.
La función de transferencia utilizada por la mayoría de los autores es:
k (2.86)
G( s) = e− Ls
(Ts + 1)
30
constante de tiempo y la ganancia del sistema pueden calcularse a partir de la ecuación
(2.88).
−1
T 2 − Kh21ωh21 1 K h21
2 = (2.88)
k − Kh 2ωh 2 1 K h22
2 2
(1) La selección de la entrada esta muy influenciada por la amplitud y por como incide en el
rango de la salida.
(2) En el caso de tener como objetivo el control, la variable de entrada debe ser manipulable.
(3) La función de transferencia salida/entrada debe ser lineal o linealizable (las no
linealidades pueden ser compensadas por ejemplo usando un lazo cerrado sencillo).
(4) Las entradas medidas pero no manipulables pueden utilizarse como señales de entrada en
el proceso de identificación (esto implica que el número de entradas a utilizar en la
identificación podrá ser mayor que en el control).
(5) La utilización de la experiencia de los operadores de proceso y el conocimiento que se
tenga sobre el mismo son esenciales para la elección de la entrada. Uno de los objetivos
de los experimentos preliminares será el de ayudar a la selección de la señal/es de entrada.
• Debe estar restringida por el rango de variación permitido. Por razones de seguridad y
económicas, no es posible introducir grandes fluctuaciones en el proceso.
• En la práctica muchos procesos son no lineales y los modelos lineales son solo una
aproximación. Una linealización de una dinámica no lineal será válida solo en una cierta
región. Para estimar los parámetros de un modelo lineal, una amplitud muy grande en la
señal de entrada no será útil.
• Pero, por otro lado, con una amplitud mayor en la entrada se obtiene una mejora en la
precisión del modelo estimado, por ejemplo la precisión de un parámetro en términos
estadísticos es inversamente proporcional a la energía de la entrada. Esto es lógico ya que
al aumentar u(t) la relación señal/ruido incrementa y por lo tanto las perturbaciones o
31
ruidos tienen una influencia menor. Un criterio sencillo para conocer cual debe ser la
amplitud mínima será el de buscar que el efecto de la entrada respecto a la salida sea
perceptible visualmente. Otro aspecto que no debemos despreciar, es que la amplitud de
la señal de entrada esta muy influenciada por la frecuencia de dicha señal, por lo tanto la
medida del factor de cresta, max(|u(t)max |,|u(t)min |)/u(t)rms es también importante. Para una
amplitud dada, la energía de la entrada (input power) es proporcional a 1/(factor de
cresta)2 .
• En muchos casos el periodo de muestreo viene definido por la aplicación final. Por
ejemplo el instrumento de control a utilizar, los instrumentos de medida, el tipo de
algoritmo de control, ..., limitan en muchos casos el periodo de muestreo.
32
Es práctico aplicar el mismo filtro en las señales de salida y entrada. Al disminuir el
efecto alias, se incrementa la relación señal/ruido.
• Asumiendo que la duración del experimento es fija, puede ser útil aplicar un periodo de
muestreo lo más alto posible, de esta manera se dispone de mas datos.
• Si el numero total de datos a adquirir que es fijo, el periodo de muestreo no debe ser muy
grande ni muy pequeño. El primer caso hace que los datos contengan muy poca
información acerca de las dinámicas a alta frecuencia y el segundo caso hace que el ruido
tendrá mucha influencia.
• Conocida la f max del sistema, en [Ogata87] se propone como fórmula para determinar el
periodo de muestreo: 8 f max ≤ f s ≤ 10 f max.
• Tiempos de muestreo muy pequeños pueden provocar problemas prácticos: todos los
polos estarán situados alrededor de 1 en el plano z y el modelo determinado pasará a ser
numéricamente muy sensible. En muchos casos el modelo resultante de un muestreo
rápido, será de fase no mínima a pesar de que el proceso continuo sea de fase mínima, y
en el caso de un proceso con retardo, este, debe ser modelado con muchos datos de
retardo causando dificultades, por ejemplo, en el diseño de controladores.
Un aspecto importante a considerar, cuando se usan señales periódicas, es que la duración del
experimento debe cubrir un número completo de periodos o secuencias.
33
Después de adquirir los datos, lo que debe hacerse es visualizarlos con el objetivo de
inspeccionar y analizar si hay algún tipo de deficiencias en ellos. Seguidamente con el
objetivo de solucionar el problema, pueden aplicarse alguno de los tratamientos comentados a
continuación.
2. Datos espurios y olvidos. Los datos espurios y olvidos tienen una gran influencia en el
resultado de la estimación. Es por lo tanto necesario eliminar los datos incorrectos e
insertar datos en los tiempos en que ha habido errores de adquisición. Las etapas a seguir
para determinar estos problemas son:
• Fijar, utilizando el conocimiento previo, un valor de la amplitud de la señal que no
sea propia del sistema real;
• Calcular la desviación estándar de la señal;
• Interpolar todas las muestras de la señal original que tengan una amplitud superior
o inferior al rango fijado definido por los valores no posibles o como múltiplo de la
desviación estándar.
Hay algoritmos que permiten detectar los fallos en la adquisición de datos. De todas
formas, se debe ser muy prudente para no falsificar los datos originales.
34
En el caso de tendencias o derivas una alternativa a la ecuación (2.90), es substituir el
valor medio de las señales por una recta de pendiente definida por la tendencia de las
señales o una curva en el caso en que la deriva no sea constante en el tiempo.
Una segunda aproximación es considerar α como parte del ruido del modelo. En el caso
más sencillo esto corresponde a diferenciar los datos (2.92) y luego utilizarlos en la
identificación, pero el modelo resultante de la utilización de estos nuevos datos amplifica
las altas frecuencias, por ello no puede ser utilizado en muchas aplicaciones.
∆y = yˆ (t ) − yˆ ( t − 1)
(2.92)
∆u = uˆ (t ) − uˆ ( t − 1)
4. Escalado de las variables. En los procesos industriales no todas las variables de entrada y
salida son de la misma magnitud. Este problema es importante cuando se evalúa la
función de sistemas multivariables. El problema puede ser eliminado corrigiendo
adecuadamente el offset y el escalado.
u (t ) = q −d uˆ (t ) = uˆ (t − d ) (2.93)
Utilizando la variable desplazada, el modelo puede ser estimado mediante los métodos
estándar.
[Åström71] K.J. Åström and P. Eykhoff. System Identification – A Survey. Automatica, Vol.
7 pp. 123-162. Pergamon Press, 1971. Great Britain.
[Evans92] D.C. Evans, D. Rees, D.L. Jones. Design of test signals for identification of linear
systems with nonlinear distortion. IEEE Trans. on Instrumentation and
Measurement, 16, 6, p. 768-774, 1992.
[Fasol80] K.H. Fasol, H.P. Jorgl. Principles of models building and identification,
Automatica, 16, p.501-518, 1980
35
[Iserman80] R. Iserman. Practical aspects of process identification, Automatica, 16, p.575-
587, 1980
[Landau90] I.D. Landau. System identification and control design, Prentice Hall, 1990.
[Ljung87] L.Ljung. System identification – Theory for the user, Prentice Hall, 1987.
[Ljung94] L.Ljung and T.Glad. Modelling of dynamic system, Prentice Hall, 1994.
[Rake80] H.Rake. Step response and frequency response methods, Academic Press, 1994.
36
Tema 2
Problema 2.1.
Se quiere diseñar una señal de excitación Random discreta de media 5, desviación estándar 2
(o varianza 4), con 200 elementos y periodo de muestreo de 0.2 segundos. Evaluar utilizando
como herramienta el programa Matlab, la variación temporal y la densidad espectral
estimada. Calcular su energía total o RMS
Solución
El programa Matlab dispone de una función randn que permite generar una secuencia de números
aleatorios de media cero y variancia 1. Por lo tanto aplicando:
es posible generar un vector con N filas y una columna de media 5 y desviación estándar 2.
>> P = spectrum(u)
>>specplot(P,Fs)
Observar que la frecuencia máxima es de: (N-1)/N*Fs/2, ya que se evalúa en la región entre 0 y π.
>> sqrt(sum(u.^2)/N)
1
Problema 2.2.
Se quiere filtrar la señal diseñada en el problema anterior de forma que tenga un ancho de
banda de 1.5Hz. Observar la variación temporal y espectral de la nueva señal.
Solución
El programa Matlab dispone de una pantalla gráfica para diseñar filtros de distintas características,
fdatool. En nuestro caso se pretende diseñar un filtro discreto IIR pasa bajos de orden 2. El método
utilizado será butterword.
>> fdatool
2
En file seleccionar export, definiendo la matriz SOS y ganancia G. Obteniéndose:
>> SOS
SOS =
0.3913
NUM =
>> DEN=SOS(4:6)
DEN =
Transfer function:
0.3913 z^2 + 0.7827 z + 0.3913
------------------------------
z^2 + 0.3695 z + 0.1958
>uf=filter(NUM,DEN,u);
>Pf=spectrum(uf);
>specplot(Pf,1/0.2);
3
Problema 2.3. Se quiere generar una señal MLBS con las siguientes características: ancho de
banda 6 Hz, con una frecuencia mínima de 0.1 Hz, 4 muestras por cambio de registro y 2
periodos. Mostrar tanto la variación temporal como frecuencial.
Solución
1. Determinar ∆t. Ya que la potencia media del ancho de banda se da aproximadamente en 0.443/∆t,
para que esta esté situada a 6Hz el valor de ∆t debe ser: ∆t=0.443/6≈0.074.
2. Ajuste de M. Al ser fmin≈0.1, el valor de M debe estar próximo a 135. Según la tabla 2.1 el M mas
próximo a este valor es cuando en número de registros es de 7 y por lo tanto M = 127. El valor de fmin
será de: fmin = 1/(M*∆t ) = 0.1064.
3. La frecuencia de muestreo de la señal será de ∆t=0.074, ya que se toman 4 muestras por cambio
de registro ts = ∆t/4 = 0.0185.
t vector tiempo
s señal obtenida
f frecuencia de la señal
S transformada de Fouries de la señal
0.5
Amplitude
-0.5
-1
0 2 4 6 8 10 12 14 16 18
Time (s) [ 1016 Samples ]
Spectrum of above
0.2
0.15
0.1
Amplitude
0.05
0
0 5f(-3db) 10 15 20 25 30
Frequency (Hz)
4
Problema 2.4
Se pretende diseñar 3 periodos de dos señales multisinusoidal con las siguientes
características: 0.04 Hz de frecuencia fundamental, de 60 armónicos y una amplitud de 1
parar cada componente, una de ellas se diseñará utilizando una la frecuencia random y la
segunda utilizando el método de Schroeder. La frecuencia de adquisición de datos será de 50
Hz. Se pretende comparar las dos señales obtenidas desde el campo temporal y frecuencial.
Solución
Definimos las características de las señales
>>harm=60; fund=0.04; a=1; Fs=50; period=3;
>>Tsamples=round(Fs/fund);
>>samples=Tsamples*period;
>>t=(0:1/Fs:samples/Fs)’-1/Fs;
Para hacer el estudio espectral de una señal con mas de un periodo, la frecuencia queda definida
como:
>>n=length(u);
>>f=fund/period*(1:period*harm)';
>>Udat=fft(u,n);
>>Udat=Udat(1:(n/2+1));
>>Udat(2:n/2)=2*Udat(2:n/2)/n;
>>% espectro de la senyal de entrada
>>Guu=conj(Udat).*Udat;
>>plot(f,Guu(2:period*harm+1)), title('Espectro'),xlabel('Frecuencia')
1.2
10
1
5
0.8
0
0.6
-5
0.4
-10 0.2
-15 0
0 10 20 30 40 50 60 70 80 0 0.5 1 1.5 2 2.5
tiempo Frecuencia
5
En el caso de utilizar el método de Schroeder, la fase se determina:
>>FI1=pi*((1:harm)').^2/harm;
>>u1=zeros(size(t));
>>for i=1:harm
>> u1=u1+cos(2*pi*Fv(i)*t+FI1(i)*ones(size(t)));
>>end
>>plot(t,u1)
>>U1dat=fft(u1,n);
>>U1dat=U1dat(1:(n/2+1));
>>U1dat(2:n/2)=2*U1dat(2:n/2)/n;
>>% espectro de la senyal de entrada
>>Guu1=conj(U1dat).*U1dat;
>>plot(f,Guu1(2:period*harm+1))
1.4
10
8 1.2
6
1
4
2 0.8
0
0.6
-2
0.4
-4
-6 0.2
-8
0
-10 0 0.5 1 1.5 2 2.5
0 10 20 30 40 50 60 70 80
Problema 2.5.
Se tiene un sistema representado por la función de transferencia discreta con un periodo de
muestreo de 1 segundo:
q −1 + 0.5q −2
y (t ) = u (t ) + v (t )
1 − 1.5q −1 + 0.7 q− 2
a) Comparar la respuesta impulsional del sistema en el caso en que no haya ruido, v(t)=0, y
en el caso en que el ruido sea coloreado con una función de transferencia:
1 − q −1 + 0.2q −2
v (t ) = e (t )
1 − 1.5q −1 + 0.7 q −2
Solución
a) Para determinar la respuesta impulsional del sistema utilizando el programa MATLAB v5 y v6, se
debe proceder de la siguiente forma:
6
>> % simulamos el sistema con la instrucción dimpulse considerando que v(t)=0
>> % la evaluación se realizará sobre 40 muestras
>> yimp=dimpulse([0 1 0.5],[1 -1.5 0.7],40);
>> % simulamos la parte estocástica del sistema a una entrad randon
>> e=sqrt(0.5)*randn(40,1);
>> v=dlsim([1 –1 0.2],[1 –1.5 0.7],e);
>> yv=yimp+v;
>> t=1:40; Respuesta impulsional sin ruido (-) y con ruido (--)
2.5
>> plot(t,yimp,t,yv,’—‘)
2
1.5
0.5
-0.5
-1
-1.5
-2
0 5 10 15 20 25 30 35 40
tiempo
b) Los valores de la respuesta impulso (yimp) en el caso en que no hay ruido son una secuencia de
valores infinita:
g(t)= [ 0 1.0000 2.0000 2.3000 2.0500 1.4650 0.7625 0.1182 -0.3564 -0.6173 ...]
g(t)= [0.3955 1.5360 1.7876 2.3558 1.0422 0.3852 -0.2976 -0.2088 -1.6083 -1.9502 ...]
Problema 2.6
Se desea estimar la respuesta impulsional del sistema que tienen por función de transferencia:
1
G( s ) = e −2 s
4s + 4s + 1
4
a partir de la respuesta escalón del mismo. Comparar la respuesta impulsonal real con la
respuesta estimada.
Solución
Para poder estimar la respuesta impulsional del sistema a partir del sistema real se debe disponer de
datos muestreados. Aplicando la función step es posible simular la respuesta de un sistema continuo
a un escalón.
7
>> %sistema sin retardo puro
>> sys1=tf(1,[4 4 1]);
>> %aproximamos el retardo puro por un sistema de orden 10
>> [nd,dd]=pade(2,10);
>> sys2=tf(nd,dd);
>> % realizamos el producto de las dos funciones de transferencia
>> sys=series(sys1,sys2);
>> %simulamos el sistema de forma continua y muestreamos cada segundo
>> t=0:0.1:20;
>> td=0:20;
>> y=step(sys,t);
>> yd=step(sys,td);
>> subplot(211),plot(t,y,td,yd,’x’),title(‘Respuesta escalón’), xlabel(‘tiempo’)
>> % las etapas indicadas hasta este punto podrían ser realizadas directamente en
>> SIMULINK
0.8
0.6
0.4
0.2
0
0 2 4 6 8 10 12 14 16 18 20
tiempo
Respuesta impulsional
0.2
0.15
0.1
0.05
0
0 5 10 15 20 25
tiempo
Problema 2.7
Se desea utilizar el análisis de correlación para estimar la respuesta impulso del sistema
descrito en el problema 2.5. Con el fin de realizar un estudio comparativo de lo explicado en
el tema se propone comparar la respuesta impulso real del sistema con la estimada en los
siguientes casos:
a) Cuando v(t)=0 y la señal de excitación es un ruido blanco de amplitud 1.
b) Cuando v(t) es un ruido blanco, no correlacionado con la entrada, de variancia 0.3. La
señal excitación es la misma que en el caso anterior.
Solución
a) y b) En primer lugar se van a generar las señales de excitación y perturbación con las que se va a
simular el sistema. Generaremos 500 datos con un muestreo de 1 seg.
>> t=(0:500)’;
>> randn(‘seed’,5);
8
>> u=randn(size(t));
>> randn(‘seed’,0);
>> e=sqrt(0.3)*randn(size(t));
>> subplot(2,2,1), plot(t,u,t,e,’—‘), title(‘Evolución temporal de u(t) y e(t)’)
Para evaluar las señales diseñadas se hará un estudio de correlación y correlación cruzada. La
función de MATLAB covf permite realizar este estudio.
R=covf(Z,M);
2 0.1
0 0.05
-2 0
-4 -0.05
0 200 400 600 0 5 10 15 20
0.3
0.5
0.2
0.1
0
0
-0.1 -0.5
0 5 10 15 20 0 5 10 15 20
9
plot = 2 o 1, plot = 0 visualización de los resultados obtenidos; plot = 1, dibuja la
función de transferencia impulso; y plot = 2, dibuja las covariancias y
función impulso.
15
0.5
10
5
0
0
-5 -0.5
-50 0 50 -50 0 50
0.4 2
0.2 1
0 0
-0.2 -1
-50 0 50 -50 0 50
Para comparar la respuesta impulsional estimada con la real, podemos aplicar el siguiente comando:
En la gráfica obtenida se observa que la respuesta impulsional estimada se aproxima a la real en los
primeros datos M<7, para valores mayores la diferencia es considerable. Otro aspecto a destacar es
que con la respuesta impulsional se observa una respuesta típica de un sistema de 2º orden.
10
Respuesta impulso comparación, real(--) y estimada (-)
2.5
1.5
0.5
-0.5
-1
0 5 10 15 20 25 30 35 40 45 50
En el caso b) tendremos:
>> [IRn,Rn,cln]=cra([y2 u], 50,0,2);
15
0.5
10
5
0
0
-5 -0.5
-50 0 50 -50 0 50
0.4 2
0.2 1
0 0
-0.2 -1
-50 0 50 -50 0 50
11
Respuesta impulso comparación, real (--) y estimada (-)
2.5
1.5
0.5
-0.5
-1
0 5 10 15 20 25 30 35 40 45 50
Problema 2.8
Utilizando las técnicas frecuenciales del análisis de Fourier y el análisis espectral determinar
la respuesta frecuencial del sistema descrito en el problema 2.5. Como señal de excitación
utilizar una señal multisinusoidal de características: 100 armónicos, 0.002 de frecuencia
fundamental y 3 periodos. Como señal perturbación utilizar un ruido blanco de variancia 5.
Solución
Archivo solP2_8. Obsérvese que la respuesta frecuencial se estima correctamente, como resultado
de aplicar la función empírica ETFE (figura 5) como el análisis espectral (figura 6). La figura 7
muestra la respuesta frecuencial teórica, resultado de utilizar el comando dbode.
12
Ejercicios y problemas propuestos
E2.1 Se quiere identificar un modelo matemático de un horno tubular que calienta el aire a
partir de una resistencia eléctrica. La entrada al proceso es la tensión suministrada a la
resistencia calefactora y la salida es la señal enviada por el sensor de temperatura situado a la
mitad de este horno. Como señal de excitación se ha utilizado una señal binaria. Las señales
de entrada y salida se muestran en las siguientes figuras:
entrada
8
2
240 250 260 270 280 290 300
tiempo
salida
0.5
0.4
0.3
0.2
0.1
0
240 250 260 270 280 290 300
tiempo
Se pide que a la vista de los resultados se comenten los tratamientos previos que deberían
realizarse antes de proceder a la identificación del modelo.
E2.3- Ajustar por el método de Küpfmüller y Strejc un modelo que se ajuste a la respuesta
escalón del problema 2.6. Comparar los resultados del modelo determinado con el modelo
real.
E2.4.- Estimar la respuesta impulso del problema 2.7 pero en el caso en que se disponga de
una entrada coloreada. Utilizar para ello el comando cra seleccionando el orden adecuado del
filtro, na, para blanquear la señal de entrada..
13
E2.5- Variar las características de la señal de entrada (frecuencia fundamental y número de
armónicos) y el nivel de ruido del problema 2.8 y observar como se modifica la respuesta
frecuencial del sistema.
E2.6- Se desea estimar la respuesta frecuencial de un sistema, para ello se ha excitado dicho
sistema con una señal de entrada no periódico u(t) obteniéndose como resultado del mismo la
señal y(t), ambas se encuentran el fichero adjunto E26.mat. Utilizar las funciones de Matlab
etfa y spa para estimar la función de transferencia empírica a partir del análisis de Fourier y
del análisis espectral, respectivamente. Comparar la respuesta frecuencial utilizando ambos
métodos y variando la longitud de la ventana (M o 1/γ), justificar los resultados obtenidos.
Podríais indicar de que tipo de sistema se trata?, cual es su ancho de banda?.
E2.7- Partiendo de los mismos datos del ejercicio anterior, E26.mat, estimar la respuesta
impulso del sistema. A partir de los resultados de que tipo de sistema se trata?. Justificar la
respuesta.
0.8
0.6
0.4
0.2
-0.2
0 5 10 15 20
retards
AMPLITUDE PLOT
1 01
0
10
-1
10
1 0- 2
-2 -1 0 1
10 1 0 frequency (rad/sec) 1 0 10
0 PHASE PLOT
-200
phase
-400
10 -2 1 0- 1 1 00 1 01
frequency (rad/sec)
14
¿Que frecuencia de muestreo escogeríais para dicho sistema? Justificar la respuesta. Indicar
también de forma aproximada el tipo de sistema de que se trata.
0.8 0.15
0.6 0.1
0.4 0.05
0.2 0
0 -0.05
-0.2 -0.1
0 5 10 15 20 0 5 10 15 20
lags lags
15
Tema 3
Métodos de estimación paramétricos y selección del
modelo
3.1 Introducción
En este tema nos dedicaremos al estudio de los métodos de estimación de parámetros en el
dominio temporal y frecuencial. Estos se basan en el supuesto de que el sistema pueda
representarse por una parte determinista o causal y una parte estocástica que engloba las
dinámicas no modelizables del sistema. En general se asume que la parte estocástica puede ser
representada por una variable Gausiana.
Los métodos de estimación frecuenciales tienen diferentes ventajas y desventajas con respeto
a los métodos temporales. Los ingenieros muchas veces prefieren la descripción en el dominio
frecuencial por las siguientes razones [Kollár94]:
• Mientras que la solución de una ecuación diferencial necesita la convolución en el
dominio del tiempo, esta convolución se sustituye por una simple multiplicación en el
dominio de la frecuencia.
• A menudo es posible descomponer la señal / ruido en diferentes bandas frecuenciales.
• Con la selección adecuada de los coeficientes de Fourier en una banda de frecuencias
adecuada, es posible reducir el número de datos.
• Es posible obtener un modelo continuo a partir de los datos.
• Pequeñas no linealidades pueden ser fácilmente mensurables y detectables en el dominio
de la frecuencia.
Por otro lado, trabajar en el dominio del tiempo tiene ventajas [Ljung91]:
• Es más natural trabajar con señales en el dominio temporal.
• Son métodos menos sensibles al tipo de señal de excitación, los técnicas frecuenciales
presentan problemas cuando estas no son periódicas.
3-1
• Ciertas no linealidades son más fáciles de detectar, como es el caso de las saturaciones.
• Pueden ser utilizados de forma recursiva.
• Permiten medir directamente los transitorios del sistema.
En general, la base de todos los métodos de estimación consiste en minimizar unos residuos
ε(t), definiendo ε(t) como la diferencia entre el valor deseado de la salida, y(t), y el valor de
predicción, y$ (t ) , que es función del modelo estimado. La minimización se realiza
generalmente utilizando un criterio cuadrático. La metodología de cálculo a utilizar dependerá
de la relación entre ε(t) y los parámetros que se quieren estimar. Cuando la relación sea lineal
se podrá utilizar un método de cálculo analítico, mientras que en el caso de una relación no
lineal, el método de cálculo a utilizar será iterativo.
Se debe decir que los modelos estimados, tanto en el dominio temporal como frecuencial,
serán modelos con dinámicas lineales. En la tabla 3.1 se muestran más claramente estos
conceptos.
ERROR
DINÁMICA PROCESO
lineal… no-lineal …
… respecto al coeficiente a$
ε = y−w
Lineal y '+ ay = u ε = y '+ ay
$ −u
w' +aw
$ =u
ε = y− w
No-lineal y'+ay 3 = u ε = y '+ay
$ 3 −u
w'+aw
$ 3=u
y (t ) = G ( q − 1 )u ( t ) + H ( q −1 ) e( t ) (3.1)
3-2
- Modelos en que H(q-1 )=0
y( t ) = B (q −1 ) u( t − nk ) + e( t ) (3.2)
−1 −1
donde: G ( q ) = B( q ) , nk representa el retardo puro del proceso y B(q ) es un polinomio de
-1
B ( q − 1 ) = b0 + b1 q − 1 + L+ bnb q − nb (3.3)
Se les denomina también modelos de respuesta impulso finito (FIR). Tienen el inconveniente
que, para representar el comportamiento de un proceso, es necesario gran número de
coeficientes.
B (q − 1 )
y( t ) = u( t − nk ) + e( t ) (3.4)
F ( q −1 )
B ( q −1 ) − nk
en este caso: G (q −1 ) = q , y F(q-1 ) es un polinomio autoregresivo de orden nf:
F (q −1 )
F ( q −1 ) = 1 + f 1q −1 +L+ f nf q − nf (3.5)
A( q −1 ) y (t ) = B( q −1 )u (t − nk ) + e ( t ) (3.6)
en este modelo se considera que la parte determinista y la parte estocástica tienen el mismo
denominador:
B( q − 1 ) − nk
G( q − 1 ) = q
A(q −1 )
(3.7)
−1
1
H (q ) =
A( q −1 )
El polinomio A(q-1 ) es el polinomio autoregresivo de orden na:
A ( q −1 ) = 1 + a 1q − 1 +L + a n a q − na (3.8)
A( q −1 ) y (t ) = B( q −1 )u (t − nk ) + C ( q −1 ) e(t ) (3.9)
3-3
B( q −1 ) − nk
−1
G (q ) = q
A(q −1 )
(3.10)
C( q −1 )
−1
H (q ) =
A( q −1 )
1
A( q −1 ) y ( t ) = q − nk B ( q −1 )u (t ) + e (t ) (3.11)
D (q −1 )
C( q −1 )
A( q −1 ) y ( t ) = q − nk B ( q −1 )u (t ) + e (t ) (3.12)
D (q −1 )
B( q −1 ) C (q −1 )
y( t ) = q − nk u ( t ) + e (t ) (3.13)
F (q − 1 ) D( q −1 )
Una propiedad particular de esta estructura es que G(q-1 ) y H(q-1 ) no tienen parámetros
comunes.
Toda esta familia de modelos se puede representar por el modelo general (3.14)
esquematizado en la figura 3.1.
−1 − nk
B( q −1 ) C( q −1 )
A( q ) y ( t ) = q u (t ) + e (t ) (3.14)
F ( q −1 ) D (q −1 )
e(t)
C (q −1 )
D(q− 1 )
u(t) +
B ( q −1 ) 1 y(t)
q − nk
F ( q −1 ) + A(q −1 )
3-4
Esta estructura es muy general, pero es útil para elaborar algoritmos ya que sus resultados
cubren todos los casos especiales. La relación entre modelos y los casos particulares se
exponen en la tabla 3.3.
• Modelización de la parte determinista. Se observa que hay una relación lineal entre el
error de predicción y los coeficientes de los polinomios A y B, mientras que respecto a los
coeficientes del polinomio F la relación es no lineal. Este hecho comporta que, para
estimar los parámetros del polinomio F, se debe utilizar un método de cálculo iterativo,
mientras que si solo es necesario estimar los parámetros de los polinomios A y B, los
métodos de cálculo a utilizar son analíticos y, por tanto, más sencillos.
3-5
y ( t ) = ϕ T ( t )θ + v( t ) (3.16)
(3.17)
θ = [ a1 L a na b1 L bnb ]
El problema a resolver consiste en estimar el vector de parámetros, θ$ , partiendo de las N
observaciones realizadas: y(1), ϕ(1),...,y(N),ϕ(N).
d/N, Φ = [ ϕ (1)ϕ ( 2) L ϕ ( N )] .
T
La estimación por mínimos cuadrados (LS), consiste en minimizar la función residuo, V (θ$ ) ,
definida por la ecuación (3.21).
1 N 2 1 T 1
V (θ ) = ∑ ε (t ) = ε ε = ε
2
ˆ (3.21)
2 t =1 2 2
θˆ
1
2
[
min V (θ ) = V (θˆ ) = Y T Y − Y T Φ θ − θ T Φ T Y + θ T Φ T Φθ ] (3.22)
La derivada de la función (3.22) respecto a los parámetros debe ser nula. Deduciéndose que el
valor de los parámetros que minimiza V (θ$ ) es:
( )
−1
θ$ = Φ T Φ Φ TY (3.23)
3-6
−1
N N
θ$ = ∑ ϕ ( t )ϕ( t )T ∑ ϕ( t ) y( t ) (3.24)
t =1 t =1
de la cual, conocido el orden del modelo: na, nb y nk, es fácilmente calculable el valor de sus
parámetros.
λ$2 =
2V θ$ () (3.27)
N−d
• Resaltar como principal ventaja de este método que la conversión a un mínimo global está
garantizada y no existen mínimos locales.
( )
−1
θ$ = Φ T Φ Φ TY
3-7
• Resaltar como ventaja que la resolución directa de esta ecuación es sencilla y que los
cálculos algebraicos a realizar son sencillos.
Consiste en multiplicar el sistema de ecuaciones original (4.19) por una matriz ortonormal Q:
QΦθ = QY (3.28)
QY − QΦθ = Q (Y − Φθ ) = (Y − Φθ ) Q T Q (Y − Φθ )
2 2 T
(3.29)
= (Y − Φθ ) (Y − Φθ ) = Y − Φθ
T 2
donde R es una matriz cuadrada de dimensión d/d triangular por encima. La ecuación (3.31)
se puede escribir como:
R
Φ = QT (3.32)
0
L
QY = (3.33)
M
3-8
2
2 R L 2
V (θ$) = QΦθ$ − QY = θ$ − = Rθ$ − L + M 2
(3.34)
0 M
Rθ$ = L (3.35)
(θ ) = M = MTM
2
minV
$
(3.36)
θ
1- el sistema lineal (3.35) está mejor condicionado que la ecuación (3.23) y por tanto es
numéricamente superior
• Como inconvenientes destacar que requiere el doble de cálculo que el método directo.
A( q −1 ) y (t ) = B( q − 1 )u (t − nk ) + H ( q −1 )e (t ) (3.37)
Con estas nuevas señales filtradas de la entrada y la salida, el problema podría ser resuelto
aplicando el método clásico de LS. Por lo tanto el método GLS puede interpretarse como un
problema de estimación de LS aplicando como criterio la generalización del error.
3-9
(1) Con el método LS, hacer una primera estimación de los polinomios A(q-1 ) y B(q-1 ):
A( q −1 ) y (t ) = B( q −1 )u (t − nk ) + v (t ) (3.39)
(2) Analizar el residuo, ε(t), y determinar por ejemplo un modelo AR para aproximar H(q-1 ).
En este caso se tiene un modelo denominado ARARX (3.11).
1
G( q −1 ) =
D( q −1 ) (3.40)
D( q −1 )ε ( t ) = e (t )
(3) Filtrar (blanquear) la entrada y la salida usando el modelo obtenido en la etapa (2):
~y (t ) = D (q −1 ) y( t )
(3.41)
u~(t ) = D( q −1 ) u( t )
(4) Hacer una nueva estimación por mínimos cuadrados utilizando los señales filtrados.
Este proceso debe repetirse, a partir de la etapa (2), tantas veces como sea necesario hasta
conseguir la convergencia.
La convergencia del método se evalúa comprobando que los residuos definidos obtenidos
sean blancos. Para ello puede utilizarse el test de auto correlación. Para utilizarse este método
deben definirse tanto el orden de la parte determinista como el orden de la parte estocástica.
Para simplificar el problema, la mayoría de las veces se considera que son del mismo orden.
z ( t ) y (t ) = z ( t )ϕ T ( t )θ + z ( t ) v (t ) (3.42)
que se debe caracterizar por ser independiente del ruido v(t), pero dependiente de la entrada y
la salida del sistema. Esta propiedad permite plantear el siguiente sistema de ecuaciones
lineales:
[
z( t )ε ( t ) = z( t ) y (t ) − ϕ T ( t )θ$ ] (3.43)
3-10
El vector de parámetros que minimiza la función pérdida (3.22) vale, en este caso:
( )
−1
θ$ = Z T Φ ZTY (3.44)
Para que θ$ converja a θ0 es necesario que la variable instrumento tenga como propiedades:
1 N
∑
N t=1
z ( t )ϕ T ( t ) sea singular
(3.45)
1 N
∑ z (t)v(t ) = 0
N t=1
En otras palabras, es necesario que la variable instrumento sea fuertemente dependiente del
vector regresión, ϕ(t), pero sea independiente del ruido.
Este método, al igual que LS, presenta el inconveniente de que la matriz ZTΦ puede estar mal
condicionada cuando su dimensión es grande. Por este motivo puede utilizarse la
triangulación ortonormal para calcular el valor de los parámetros.
Si se considera un modelo con una estructura ARMAX, una forma de garantizar las
condiciones (3.45) es considerando un vector instrumento definido por:
z( t ) = L( q −1 )[ − x ( t − 1) − x (t − 2) L - x( t - na ) u( t − 1) L u( t - nb) ]
T
(3.46)
donde L es un filtro lineal y x(t) se genera a partir del sistema lineal:
N ( q −1 ) x ( t ) = M ( q − 1 ) u( t ) (3.47)
El problema consiste en determinar el filtro, L, y el modelo lineal, N(q-1 ) y M(q-1 ). Una forma
sencilla seria:
(1) Aplicar LS
(2) Utilizar el modelo estimado como polinomios N y M, y determinar x(t) con (3.47)
(3) Considerando L=1, definir z(t) según (3.46) y estimar el vector de parámetros a partir de la
ecuación (3.44).
y$ ( t / θ ) = ϕ T ( t)θ$ (3.48)
3-11
y se utiliza LS para estimar θ. A los parámetros estimados se les denomina θ$ (N1) . A partir
de los parámetros se obtiene la función de transferencia (3.49), donde los subíndices
indican las iteraciones realizadas.
B$ ( 1) ( q)
G$ N(1) ( q ) = $ N( 1) (3.49)
AN ( q )
x (1) ( t ) = G$ N(1) (q −1 ) u( t )
(3.50)
z (1) ( t ) = [ − x (1) ( t − 1) K − x (1) ( t − na ) u (t − 1) K u( t − nb)]
T
La ecuación (3.44) permite estimar un nuevo valor para los parámetros, y obtener la
correspondiente función de transferencia, G$ (N2 ) .
v$ N( 2) (t ) = A$ (N2) y (t ) − B$ N( 2) u( t ) (3.51)
Considerando que el ruido se comporta como un modelo auto regresivo (AR) de orden d,
se estima, con el método LS, el filtro L$ ( q −1 ) :
L$ ( q − 1 ) v$ (N2 ) ( t ) = e (t ) (3.52)
(4) De la misma forma que en (3.50), se calcula de nuevo x (2)(t) pero considerando la función
de transferencia G$ (N2 ) . El vector instrumento óptimo viene dado por (3.53).
z (2 ) (t ) = L$ N ( q −1 )[ − x ( 2) ( t − 1) K − x ( 2) ( t − na ) u( t − 1) K u( t − nb) ]
T
(3.53)
Este nuevo instrumento junto con los filtros sirven para estimar el valor final de los
parámetros:
−1 N
N ( 2)
θ N = ∑ z ( t )ϕ FT
$ ∑z ( 2)
( t ) y F (t )
t= 1 t =1 (3.54)
ϕ F ( t ) = L$ N ( q −1 )ϕ (t ), y F ( t ) = L$ N ( q −1 ) y ( t )
3-12
−1
1 $ N ( 2 ) N ( 2) T
P = λN ∑ z ( t ) ∑ z (t )
N IV t =1 t =1
(3.55)
λ$N = ∑ [ y F ( t ) − ϕ FT ( t )θ$N ]
1 N 2
N t =1
Z T Y = ( QZ ) QΦθ$
T
(3.56)
Al descomponer la matriz Q en:
Q1
Q=
Q2
donde Q1 es una matriz cuadrada N/N. Puede definirse una matriz cuadrada y triangular por
encima Z1 = Q1 Z. Si se define la matriz Φ 1 = Q1 Φ y ya que Q2 Z = 0, la ecuación (3.56) queda
transformada en:
Z T Y = Z1TΦ1θ$ (3.57)
Z T Z = ( QZ ) QZ = Z1T Z1 + [ Q2 Z] Q2 Z = Z1T Z1
T T
(3.58)
El error de modelización vendrá dado en este caso por el producto Q2 Y y la función pérdida
queda definida como:
minV
$ θ
(θ ) = Q2 Y
2
= ( Q2 Y ) T
Q2 Y (3.60)
• Cabe resaltar como ventaja de esta metodología de cálculo dos aspectos: que el sistema
lineal (3.59) está mejor condicionado que la ecuación (3.44) y por tanto es numéricamente
superior y que la función pérdida se calcula sin la necesidad de estimar el valor de sus
parámetros.
• Como inconvenientes debe destacase que requiere el doble de cálculo que el método
directo y complica mucho el método IV óptimo.
3-13
las observaciones. La estimación de la máxima probabilidad significa que se selecciona el
valor de los parámetros que coinciden más probablemente con las observaciones.
Supongamos que las observaciones están representadas por un vector de variables Random
Y=[y1 , y2 , ..., yn ]T y indicamos la función de densidad de probabilidad como:
Si consideramos un modelo genérico dado por la ecuación (3.16) y considerando que v(t) es
una señal Gausiana, con una distribución normal y de N elementos, concretamente de media
E[v]=0 y covariancia E[vv T ]=Cv conocida. La función de probabilidad de esta señal viene dada
por la expresión:
[
f (v ) = (2π ) det (Cv )
N
]
−1 / 2 1 T −1
exp − v Cv v (3.64)
2
[
f (v ) = (2π ) det (C v )
N
]
−1 / 2 1 T −1
exp − [Y − Φθ ] Cv [Y − Φ θ ] (3.65)
2
2
[
N
2
T
]
log L (θ ) = − log (2π ) det (Cv ) − [Y − Φθ ] Cv−1 [Y − Φ θ ]
1 1
(3.66)
Por lo tanto evaluando el máximo de esta función se estimará el valor de los parámetros θ. En
el caso en que el ruido corresponda a un ruido blanco con una matriz de covariancia Cv =σ2 I,
es fácil demostrar que la maximización de la función de máxima probabilidad (3.66) es
equivalente a minimizar la función pérdida:
V (θ ) =
1
[Y − Φθ ]T [Y − Φθ ] = −σ 2 log L(θ ) + constant (3.67)
2
3-14
Consideremos el caso de un sistema ARMAX (3.9) donde el ruido se supone que tiene una
distribución normal y una matriz de covariancia conocida. En este caso la función del
logaritmo de probabilidad será:
2
N
[
log L (θ ) = − log (2π ) det (Cv ) − ε T C v−1ε
1 1
2
] (3.68)
donde:
ε (t ) = y (t ) − ϕ T (t )θˆ ,
[
θ = a1 ,..., an , b1 ,...., bm , c1 ,..., c p ]
ϕ ( t) = [− y (t − 1),...,− y (t − n ), u (t − 1),...., u( t − m), v( t − 1),..., v (t − p) ] .
El problema en este caso es que v(t-1), ..., v(t-p) no son conocidos. Por lo tanto, en estas
circunstancias, la solución solo es posible haciendo soluciones aproximadas (método
iterativo) para conseguir a cada paso una mejor estimación de la matriz de covariancia y de
los parámetros. Para más detalles [Johansson93] y [Åström80].
ε (t ) = y( t ) − yˆ (t t − 1;θ ) (3.70)
Para la formalización del método se introduce la siguiente estructura general del modelo:
y (t ) = G( q −1 ; θ ) u( t ) + H ( q − 1; θ )v (t ) (3.71)
Asumiendo que G(0;θ)=0, equivale a decir que el modelo tiene como mínimo un retardo puro
de una muestra entre entrada y salida. La forma general de expresar un predictor consiste en:
yˆ (t | t − 1;θ ) = L1 ( q − 1; θ ) y (t ) + L2 ( q −1 ;θ )u (t ) (3.72)
3-15
la cual es una función de los datos anteriores, t-1, solo sí los filtros de predicción tienen como
restricción: L1 (0;θ)=0 y L2 (0;θ)=0.
Hay varias formas de escribir el modelo (3.71) y determinar el predictor. Una vez definido el
modelo y el predictor, se calculan los errores de predicción a partir de la ecuación (3.70). La
estimación de los parámetros, θˆ , se calcula de tal forma que los errores de predicción sean
pequeños. El principio básico de este método se ilustra en la figura 3.1.
v(t)
u(t) + y(t)
PROCESO
+
+ ε(t)
Predictor -
(parámetros θ)
Minimización
de ε(t)
Para definir el método de predicción de error el usuario debe realizar las siguientes
elecciones:
(1) Elegir la estructura del modelo. Esto concierne a la parametrización de G(q;θ) y H(q;θ)
en (3.71) como una función de θ. Por razones algoritmicas, la función de transferencia se
factoriza en polinomios en el numerador y en el denominador. En el contexto de la
identificación, tal como se ha descrito en el apartado 3.2.1., hay distintos modelos de
parametrización: OEM, BJM, ...
(2) Elegir el predictor. Esto concierne a los filtros, L1 (q;θ) y L2 (q;θ) en la ecuación (3.72),
una vez el modelo ha sido especificado. Estos filtros pueden ser seleccionados de distintas
formas. La forma más utilizada es ‘optimal mean square predictor’. Esto significa que los
filtros son seleccionados de manera que bajo unas condiciones dadas del modelo los
errores de predicción tienen la menor variancia posible.
En el caso del modelo general considerado en (3.71), el predictor óptimo seria:
[ ]
)y (t θ ) = 1 − H −1 ( q −1 ;θ ) y (t ) + H −1 ( q −1 ;θ )G( q −1; θ )u (t ) (3.73)
El error de predicción se determina de forma similar:
[ ]
ε (t ) = y (t ) − )y (t θ ) = y (t ) − 1 − H −1 ( q −1 ; θ ) y (t ) + H −1 ( q −1 ; θ ) G( q −1 ; θ ) u( t ) (3.74)
(3) Elegir el criterio. Este se refiere a elegir una función que origine un valor escalar de todos
los errores de predicción ε(1,θ), ..., ε(N,θ). Este criterio será minimizado con respecto a θ
3-16
de manera que se realice la mejor predicción. En el caso de una salida el criterio (función
error) puede definirse como una suma de cuadrados del error de predicción, mientras que
en el caso de sistemas multi-variables como una proyección escalar de la matriz de
covariancia
1 N
V (θ ) = h ∑ ε (t ; θ )ε T (t ;θ ) (3.75)
N t=1
donde h() es una función de valor escalar y, generalmente, consiste en la traza de los pesos
de la matriz de covariaza o su determinante.
El análisis del método de predicción de error muestra que la función perdida converge a un
mínimo y la estimación es consistente cuando se satisfacen las siguientes condiciones:
En muchos casos el mínimo de V(θ) no puede ser hallado de forma analítica. En estos casos la
minimización debe realizarse utilizando una rutina de cálculo numérico. El método más
usualmente utilizado es el algoritmo de Newton-Raphson:
[ ( )] V ' (θˆ )
θˆ ( k +1) = θˆ ( k ) − α k V ' ' θˆ (k )
−1 (k) T
(3.76)
• Los modelos estimados con estos métodos se adaptan fácilmente a los sistemas variantes
en el tiempo. Ellos permiten que el modelo siga los cambios de parámetros del sistema o
cambios debidos a condiciones de operación en el caso de sistemas no lineales.
3-17
• Los requerimientos de memoria son reducidos y no aumentan en el tiempo, debido a que
no se almacenan todos los datos.
• Ellos se han derivado de una aproximación de los métodos no recursivos descritos
anteriormente.
Para deducir el método de mínimos cuadrados recursivo (RLS) se parte de la ecuación (3.24)
−1
t t
θˆ( t ) = ∑ ϕ (k )ϕ T ( k ) ∑ ϕ ( k ) y (k ) (3.77)
k =1 k =1
Para calcular esta expresión de forma recursiva se introduce como nueva notación:
−1
t
P(t ) = ∑ ϕ ( k )ϕ T ( k ) (3.78)
k =1
P −1 (t ) = P −1 (t − 1) + ϕ ( k )ϕ T (k ) (3.79)
t−1
θ ( t ) = P( t ) ∑ ϕ (k ) y ( k ) + ϕ (t ) y (t )
ˆ
k =1 (3.80)
[
= P( t ) P −1 (t )θˆ( t − 1) + ϕ (t ) y( t )]
Por lo tanto el método de mínimos cuadrados recursivos adopta la forma:
[
θˆ ( t ) = θˆ ( t − 1 ) + P( t )ϕ( k ) y( t ) − ϕ T ( k )θˆ ( t − 1 )] (3.81)
donde el último valor puede ser interpretado como el error de predicción, mientras que el
factor de corrección (P(t)ϕ(t)) puede ser considerado como un peso o factor de ganancia
determinado como el error de predicción modifica los elementos del vector de parámetros
estimado.
El hecho de calcular P(t) en la ecuación 3.79 requiere invertir una matriz a cada paso de
iteración. Utilizando el lema [A + BCD]−1 = A−1 − A −1 B[DA−1 B + C −1 ]−1 DA−1 y
−1
considerando A = P ( t − 1 ), B = D y C = 1 se obtiene una expresión más eficiente:
T
P( t ) = P( t − 1 ) + Kϕ T ( k ) P( t − 1 ) (3.82)
donde
[
K = P( t − 1 )ϕ( t ) / 1 + ϕ T ( k )P( t − 1 )ϕ ( t ) ] (3.83)
3-18
que da como resultado una ganancia. La expresión de mínimos cuadrados recursivos queda
por tanto:
[ ]
θˆ ( t ) = θˆ ( t − 1 ) + K ( t ) y( t ) − ϕ T ( k )θˆ ( t − 1 ) (3.84)
Los algoritmos recursivos requieren aproximar el valor inicial del vector de parámetros y de
la matriz P(t). Si es posible realizar una primera estimación del vector de los parámetros (por
ejemplo utilizando LS norecursivo) los la matriz P(0) debe reflejar la confianza de los
parámetros estimados. En el caso en que P(0) sea pequeño K(t) será pequeño para los distintos
t y los parámetros estimados no variaran mucho del valor inicial. Mientras que, si P(0) es
grande la estimación de los parámetros variará rápidamente del valor inicial. En ausencia de
información previa para realizar una primera estimación de los parámetros, se acostumbra a
considerar: θˆ ( 0 ) = 0 y P( 0 ) = κI , donde κ es un número grande.
t
V ( θ ) = ∑ λt − k ε 2 ( k ) (3.85)
k =1
Por lo tanto el algoritmo de mínimos cuadrados recursivos con factor de olvido es:
[ ]
θˆ ( t ) = θˆ ( t − 1 ) + K ( t ) y( t ) − ϕ T ( k )θˆ ( t − 1 ) (3.86)
K = P( t − 1 )ϕ( t ) / [λ + ϕ ( k ) P( t − 1 )ϕ( t )]
T
(3.87)
P( t ) = [P( t − 1 ) + Kϕ ( k )P( t − 1 )] / λ
T
(4.88)
Para λ = 1 coincide con el método de mínimos cuadrados común.
3-19
θˆ ( t ) = θˆ ( t − 1 ) + K ( t )ε ( t ) (3.89)
K = µ( t )P( t − 1 )ϕ ( t ) (3.90)
ε ( t ) = y( t ) − ψ T ( t )P( t − 1 )ϕ ( t ) (3.91)
En la siguiente tabla se observan los valores de los parámetros, vector de datos y vector de
corrección para el caso de los métodos: mínimos cuadrados (RLS), método de la variable
instrumento recurdivo (RIV) y el método de la máxima probabilidad recursivo (RML). En el
caso de incluirse el factor de olvido es necesario realizar las siguientes modificaciones:
En Iserman (1991) se realiza una comparación entre estos tres métodos con respecto a las
características del estimador, su convergencia y el esfuerzo computacional. Las propiedades
de estos tres métodos se resumen a continuación:
RIV: Tiene unas buenas prestaciones. Para acelerar la convergencia inicial se recomienda
empezar con RLS. Esfuerzo computacional mayor que RLS.
RML: Altas prestaciones del estimador. Lenta convergencia en la etapa inicial. Se estiman los
parámetros del ruido, pero la convergencia es lenta. El esfuerzo computacional es mayor que
en los otros dos.
]
1 n 1 m 1 n 1 m
T
ĉ1 L ĉ p
ψ(t ) [− y( t − 1 )L − y( t − n ) [− y( t − 1 )L − y( t − n ) [− y( t − 1 )L − y( t − n )
u ( t − 1 ) L u ( t − m )] u ( t − 1 ) L u ( t − m )] u ( t − 1 )L u ( t − m )
T T
ε ( t − 1 )L ε ( t − p )]
T
µ( t ) 1 1 1
1 + ψ ( t )P( t − 1 )ψ ( t ) 1 + ψ ( t ) P( t − 1 )ϕ ( t ) 1 + ψ ( t ) P( t − 1 )ϕ ( t )
T T T
P(t) [ ] [ ] [
I − K ( t )ψ T ( t ) P ( t − 1 ) I − K ( t )ψ T ( t ) P ( t − 1 ) I − K ( t )ψ T ( t ) P ( t − 1 ) ]
ϕ(t) ψ(t ) [
[− η ( t − 1 )L − η ( t − n ) − y' ( t − 1 )L − y' ( t − n )
u ( t − 1 )L u( t − m )] u ' ( t − 1 )L u ' ( t − m )
T
ε ' ( t − 1 )L ε ' ( t − p ) ] T
3-20
3.8 Métodos de estimación paramétricos frecuenciales
El objetivo de los métodos de identificación en el dominio frecuencial es el mismo que en el
dominio temporal: identificar un sistema lineal a partir de los datos. La principal diferencia
entre ambos radica en el dominio de trabajo. De todas formas los dos métodos son
complementarios y, en algunos casos, ambos pueden utilizarse para solucionar el mismo
problema. Analizamos a continuación, en que condiciones ambos métodos identifican el
mismo sistema.
Ny
U H(Ω) +
Y Ym
Nu +
Um
− jω T d
b 0 Ω 0 + b 1 Ω 1 + L + b nn Ω nn
H (Ω) = e (3.92)
a 0 Ω 0 + a 1 Ω 1 + L + a nd Ω nd
Las medidas se realizan a distintas frecuencias ωk , k=1...F, las amplitudes de las entradas y
salidas son Umk y Ymk, respectivamente. Los parámetros no conocidos de la función de
transferencia se indican con el vector P. Con todo ello las ecuaciones básicas son:
3-21
Asumiendo que el ruido en las amplitudes complejas es Gausiana y no correlacionado, y que
el ruido de la entrada y la salida no están tampoco correlacionados, su función de densidad
probabilística puede escribirse como:
1 N Ruk
2
+ N Iuk
2
F 1 N Ryk2
+ N Iyk
2
p (N u , N y ) = Π exp
− Π
exp −
k =1 2πσ uk 2σ uk2
k =1 2πσ yk 2σ yk2
2 2
(3.95)
1 Nuk N uk F 1 N yk N yk
=Π exp − Π exp −
k =1 2πσ uk
2σ uk πσ σ
2 2 2 2
k =1 2 yk 2 yk
donde NRuk , NIuk , NRyk y NIyk se corresponde con las partes real y imaginaria del ruido en las
señales de entrada y salida. N es el conjugado complejo de N, σuk y σyk son las
correspondientes desviaciones estándar, Nu y Ny indican los vectores formados por Nuk y Nyk
en las distintas frecuencias.
Substituyendo en (3.95) la variable ruido por Nuk =Umk-Uk y Nyk =Ymk-Yk , y haciendo el
logaritmo y asumiendo que σu y σy son conocidas, la función de máxima probabilidad es:
F
(U − U k )(U mk − U k ) F (Ymk − Yk )(Ymk − Yk )
ln( L(U , Y , P)) = cont − ∑ mk − ∑ (3.96)
k =1 2σ uk2 k =1 2σ uk2
F
(U mk − U k )(U mk − U k ) F (Ymk − Yk )(Ymk − Yk )
C LS ( L(U , Y , P)) = ∑ + ∑ (3.97)
k =1 2σ uk2 k =1 2σ 2
uk
La restricción (3.93) puede substituirse en (3.97) para eliminar Yk . Como resultado se obtiene
un problema de mínimos cuadrados con pesos no lineales. En general pero no se está
interesado en Uk , por lo tanto la mejor forma de minimizar la ecuación (3.96) con la
restricción (3.93) es utilizar la técnica de multiplicadores de Lagrange para eliminarlos a
ambos (Uk y Yk ). En este caso la expresión a minimizar consiste en:
− jω T 2
1 F e
k d
N (Ω k , P)U mk − D (Ω k , P)Ymk
C (P) = ∑ (3.98)
2 k =1 σ yk2 D (Ω k , P) 2 + σ uk2 N ( Ω k , P) 2
3-22
1 F
∑ − jω T 2
CWLS ( P) = Wtfk e k d U mk N ( Ω k , P) − Ymk D ( Ω k , P) (3.99)
2 k =1
e − jω k Td U mk N ( Ω k , P) − Ymk D ( Ω k , P) = 0 (3.100)
sí Nuk y Nyk son independientes. Haciendo Wk =1/var{ε k }, se obtiene que la función de coste
(3.99) consiste en la estimación de un sistema lineal, denominado ELiS (Estimator for Linear
Systems).
Para minimizar la ecuación (3.98) respecto a los parámetros P, deben utilizarse técnicas no
lineales con restricciones y para ser utilizada, el usuario debe aportar el valor inicial del
retardo puro.
− jω T 2
1 F e k d N ( Ω k , P)U mk − D ( Ω k , P)Ymk
C (P) = ∑ (3.101)
2 k =1 σ 2yk D ( Ω k , P) 2 + σ uk2 N (Ω k , P) 2 − 2real {CNDk }
con:
CNDk = c uyk e − jω k Td N ( Ω k , P) D(Ω k , P)
y
c uyk = 0.5 cov{Nuk , N yk } = 0.5 E{N uk , N yk }
3-23
3.9.1 Selección de la estructura del modelo. Aspectos generales
La selección de la estructura del modelo tiene un considerable efecto sobre la cualidad del
modelo resultante y el coste de computación. La cualidad del modelo puede, por ejemplo
evaluarse por el criterio del error cuadrático. La mejor estructura del modelo es un
compromiso entre flexibilidad y ahorro. Entendiendo por flexibilidad que la estructura del
modelo tiene capacidad para describir diferentes sistemas y una forma de obtenerlo es
utilizando muchos parámetros. Por otro lado, el ahorro requiere la utilización de pocos
parámetros.
La selección del tipo dentro de un conjunto de modelos implica buscar entre diferentes clases
de modelos como entre modelos no lineares o lineares o entre modelos de entrada-salida, caja
negra o parametrizado físicamente, y otros. La búsqueda de que tipo de modelo utilizar es un
poco subjetivo y involucra muchos factores que son independientes del conjunto de datos. La
búsqueda es habitualmente un compromiso entre diferentes factores, como cualidad del
modelo y esfuerzo de modelado. Para obtener unos buenos resultados con pocos parámetros,
suele utilizarse el conocimiento previo del proceso y algo de intuición. La información previa
es muy útil en el caso de modelos en tiempo continuo. La forma de evaluar ε(t,θ) y su
minimización influye mucho en el esfuerzo de programación y el tiempo de cálculo. Modelos
sofisticados suelen utilizarse solo en el caso de que no puedan ser validados los modelos
sencillos. Las regresiones lineales son los modelos más simples y los que la minimización del
criterio es robusta. Cuando se realiza una transformación no lineal de los datos puede ser
también evaluado con el ajuste de un modelo lineal.
La selección del orden del modelo implica la selección del número de parámetros de una
determinada clase de modelos. Este paso requiere usualmente alguna evaluación del conjunto
de datos, de todas formas el conocimiento preliminar que se tiene del proceso muy a menudo
permite deducir un rango de ordenes del modelo a considerar.
3-24
determinación completa del modelo del sistema. En el caso de métodos paramétricos, el
problema se reduce a la selección del orden del modelo.
(1) La evaluación del análisis espectral estimado proporciona información sobre el rango de
frecuencias de interés del proceso y el nivel de ruido, por lo tanto no ayuda a diseñar
correctamente la señal de entrada y los filtros. La estimación no paramétrica de la función
de transferencia Gˆ ( jω ) proporciona información sobre los picos de resonancia y el
retardo de fase. Todo ello da una orientación sobre el orden requerido par una adecuada
descripción de las dinámicas del sistema (o la zona de interés).
(2) Evaluar el rango de la matriz de covarianza es un buen método para estimar el orden del
sistema. Supóngase que el sistema correcto se describe mediante:
y (t ) + a1 y( t − 1) + L + a n y( t − n) = b1u (t − 1) + L + bn u (t − n ) + v (t )
siendo n el verdadero orden del sistema. Si tomamos un modelo de orden s, el vector de
datos es:
ϕ ( t ) = [ y (t ) y( t − 1) L y( t − s )u (t − 1) Lu (t − s ) ]
T
1 N
∑
Rϕϕ ( N ) =
N t =1
ϕ (t )ϕ (t )
T
será no singular para s ≤ n (en el caso que {u(t)} sea persistentemente excitada) y
singular para s≥n+1.
En el caso de ruido la matriz de convarianza puede ser utilizada siempre que la relación
señal-ruido no sea muy grande, sí es el caso puede utilizarse la fórmula:
Rˆ ϕϕ ( N ) = Rϕϕ ( N ) − σ 2 Rv
[
Rˆ ϕζ ( N ) = E ϕ ( t )ζ T (t ) ]
es no singular para s≤n y singular para s≥n+1.
(3) El método de correlación es otro método que permite obtener información acerca de que
variables incluir en la estructura del modelo. Esta variable podría ser y(t-n-1). La cuestión
que permite resolver es si una nueva variable contribuye de alguna forma en explicar la
variable de salida y(t). Ello puede realizarse mediante la correlación entre la nueva
variable y la salida. De todas formas para descartar las posibles relaciones entre ellas, y
para conseguir estructuras de poca complejidad, la correlación debería realizarse entra
3-25
ella y los residuos obtenidos como resultado de considerar un primer modelo
ε (t ,θˆ ) = y (t ) − yˆ (t | θˆ ) . Ello se conoce con el nombre de correlación parcial.
Una aproximación natural para determinar la estructura del modelo es simplemente testar
diferentes estructuras y comparar el resultado entre ellas. Los métodos de tests más
comúnmente utilizados son:
Esta cantidad tiene una distribución F[p1 - p2 , N - p2 ], entonces para un suficiente número
de muestras N, se cumple que: t > F α [p1 - p2 , N - p2 ] entonces se cumple la hipótesis que
la reducción de la función pérdida es significativa con el aumento del número de
parámetros y por tanto el nuevo parámetro es aceptado con un nivel de confianza de 1-α .
En la práctica, el nivel de confianza tiene un rango de 0.01 a 0.1.
AIC ( p ) = N log V (θ ) + 2 p
siendo:
1 N 2
V (θ ) = ∑ ε (t,θ )
N t =1
Se ha observado que este criterio puede sobre estimar el orden del modelo.
3-26
Otro criterio propuesto por Akaike es ‘final prediction error criterion (FPE)’:
N+ p
FPE( p) = V (θ )
N−p
Una propiedad atractiva tanto del criterio de AIC como FPE es que el orden del modelo
se determina como resultado de valor mínimo del criterio y no es necesario evaluarlo en
función de unos niveles de confianza como es el caso del método estadístico.
ε (t ,θˆ ) = y (t ) − yˆ (t ,θˆ )
representa una forma de representar las diferencias entre las variables observadas y el
comportamiento del modelo estimado. En general los residuos deben ser blancos o
aproximadamente blancos y no correlados con la entrada, si el modelo es una buena
representación del sistema. De lo contrario, indicaría que o bien el modelo a la identificación
no es completa.
La simple representación de los residuos respecto a los valores ajustados; tal que la
representación no revela ninguna dependencia clara. Otro diagrama útil es el histograma de
los residuos, amplitudes, el cual revela si la distribución difiere de una distribución normal.
Otros tests útiles son los estudiados en el tema 2, test estadístico de auto correlación de los
residuos ε(t), test de cross-correlación entre los residuos y las entradas, …
3-27
El método para responder estas cuestiones es confrontar el modelo con más información –
como conocimientos a priori, datos experimentales y experiencia – sobre el sistema real.
Puesto que el uso más natural de la identificación consiste en confrontar el modelo con los
datos, las técnicas de identificación tienden a centrarse en la pregunta 1. Mientras que la
pregunta 3, prescindiendo de los problemas de test, es filosóficamente imposible de contestar,
la pregunta 2 es un requerimiento práctico importante. Evaluar si el problema que motivo la
tarea de modelización puede ser solucionado usando el modelo obtenido, puede considerarse
como la prueba más importante de validación del modelo. Por ejemplo, si un regulador
basado en el modelo satisface los requerimientos de control, entonces el modelo será valido,
independientemente de la forma que tenga. No obstante, a menudo es imposible, costoso o
peligros probar todos los posible modelos con el uso que se ha previsto. Por ello, la confianza
en el modelo debe verificarse de otras maneras. Los dos métodos principales son: la
verificación de las asunciones a priori y la verificación del comportamiento de la entrada-
salida.
Otra manera es validación cruzada, esto significa la verificación del modelo identificado con
otro conjunto de medidas. La comparación entre los datos observados y la salida modelo se
muestra generalmente mirando las anomalías del modelo no detectadas previamente. La
validación cruzada se considera la mejor manera de validar el modelo y la única prueba
verdadera para su aplicabilidad general.
3-28
Bibliografía adicional sobre el tema
[Åström 71] K. J. Astrom, P. Eykhoff. System Identification – A survey. Automatica,7, p.
123-162, 1971
[Bohlin94] Bohlin, T.: Interactive system identification: prospects and pitfalls, Springer
Verlag, 1991.
[Kollás93] I. Kollár “On Frecuency Domain Identification of Linear Systema” IEEE Trans.
on Instrumentation and Measurement, Vol. 42 No 1, pp. 2-6, Feb. 1993.
[Ljung87] L.Ljung. System identification – Theory for the user, Prentice Hall, 1987.
3-29
[Walter97]Walter, E – Pronzato, L. Identification of Parametric Models from Experimental
Data. Masson Great Britain, 1997.
3-30
Tema 3
Problema 3.1.
Considerar que una estación depuradora de aguas residuales puede modelizarse por la expresión
discreta:
y( t ) − â * y( t − 1 ) = b̂ * u( t − 1 )
y se quiere determinar el valor de sus parámetros. Por este motivo se ha diseñado un
experimento y se han obtenido los resultados de la tabla, siendo el periodo de adquisición de
datos de 2 segundos..
A partir de los datos y utilizando el método de mínimos cuadrados, estimar el valor de los
parámetros sin utilizar los 4 datos últimos. Utilizar los 4 últimos datos para validar el modelo
estimado y determinar la variancia del error de predicción.
Solución
En función de los datos de que se dispone, definimos el vector ϕ(t) como:
ϕ ( t ) = [− y( t − 1 )u( t − 1 )]
T
1
T
- 0.0899 - 0.0592
- 0.0799 - 1.0106 Y=[-0.0799 -0.1029 -0.0687 -0.0427 0.0193 0.0364 0.0102
0.0215 -0.0150 -0.0136 -0.0134]
- 0.1029 0.6145
- 0.0687 0.5077
- 0.0427 1.6924
Φ ( t ) = 0.0193 0.5913
0.0364 - 0.6436 Se estima el valor de los parámetros como: â = 0. 8668 y
0.0102 0.3803 b̂ = 0.0333
0.0215 - 1.0091
- 0.0150 - 0.0195
- 0.0136 - 0.0482
Problema 3.2.
Solución
La simulación y el residuo de predicción obtenido al aplicar los distintos métodos de estimación se
visualizan al ejecutar los programas de Matlab ‘probrema32a.m’ y ‘problema32b.m’ para el caso a y b
respectivamente. En la tabla se muestran los resultados obtenidos.
2
Caso a)
Al ser la relación señal ruido/señal entrada pequeña se observa que todos los métodos tienden al
valor real de los parámetros, si el número de muestras a evaluar fuera mayor, mayor seria la
convergencia (os animo a que lo probéis).
Del análisis del ruido, observar las distintas figuras que aparecen, el componente residuo no es
blanco en la mayoría de los casos, se aproxima, mientras que hay independencia temporal entre el
residuo y la entrada, este análisis nos permite validar nuestro modelo.
Caso b)
Se observa que los métodos en los cuales se presupone un modelo ARX no hay convergencia de los
parámetros, mientras que en los otros casos sí.
Problema 3.3.
Se desea estimar el valor de los parámetros del sistema anterior pero utilizando los métodos
recursivos. Los resultados se han obtenido considerando en todos los casos un factor de
olvido 1.
Solución
La solución se presenta en el fichero problema33a y problema33b.
Se pide que se comparen los resultados obtenidos. Son iguales que en el problema 3.3?
Problema 3.4.
Se desea modelizar un sistema de transporte de fluidos regulado por una válvula. Con este objetivo se
ha procedido a excitar la válvula con una señal u(t) y se ha adquirido la lectura del sensor de flujo que
circula por el tubo, y(t). Los resultados obtenidos se muestran en la siguiente tabla.
Se desea a partir de los datos de dicha tabla identificar el retardo puro del sistema, sabiendo que se
comporta como un sistema de primer orden. Utilizaremos para ello el criterio del test de la función
error y nos reservaremos las 4 últimas muestras para la validación.
3
tiempo Entrada Salida
0 5.6490 69.8328
1 7.1777 68.2208
2 4.0753 73.1496
3 5.5251 70.8190
4 4.4058 73.7060
5 4.7808 80.5851
6 3.6486 76.7467
7 6.7789 77.7857
8 5.1170 0.0000
9 4.8928 74.7950
10 5.0306 70.6032
11 4.8721 77.0603
12 3.9679 76.8830
13 4.9043 76.2308
14 6.0772 76.0243
Solución
El vector información, ϕ(t), de un sistema de primer orden viene definido por:
ϕ (t ) = [− y (t − 1)u(t − nk )]
T
θ = [a1 b1 ]
T
siendo los parámetros a estimar: .
En primer lugar, antes de utilizar los datos de la tabla para estimar los parámetros del modelo,
debemos observar si hay alguna lectura incorrecta. En nuestro caso, tenemos como lectura
incorrecta la correspondiente a t=8, substituiremos dicho valor por la interpolación:
y(8)=(y(7)+y(9))/2 = 76.29
Como el retardo no es conocido, vamos a determinarlo en este caso de forma iterativa. Supongamos
que nk = 1, se describe la matriz información como:
- 5.6490 69.8328
- 7.1777 68.2208
- 4.0753 73.1496
- 5.5251 70.8190
- 4.4058 73.7060
Φ (t ) =
- 4.7808 80.5851
- 3.6486 76.7467
- 6.7789 77.7857
- 5.1170 76.290
- 4.8928 74.7950
4
ŷ (12)= 0.9461 *y(11)+ 0.7715*u(11)= 76.6617
ŷ (13)= 0.9461 *y(12)+ 0.7715*u(12)= 75.7964
ŷ (14)= 0.9461 *y(13)+ 0.7715*u(13)= 75.9018
Calculamos el error:
nk a b V
1 -0.9461 0.7715 1.7908
2 -0.9772 0.3558 1.3991
3 -1.0266 -0.4581 1.6322
4 -0.8008 2.9916 0.0118
5 -1.0052 -0.1551 1.9099
Se observa que el error mínimo se obtiene para nk =4. En el caso en que la estructura del modelo no
sea cierta, el método de mínimos cuadrados converge a un valor de los parámetros que puede
resultar un modelo inestable (caso nk = 3 y nk =5).
Problema 3.5.
Se desean observar como varían los criterios de identificación en función del orden o
estructura del modelo propuesto. Comparar distintos métodos de estimación de parámetros:
mínimos cuadrados, variable instrumento y método de predicción de error utilizando distintas
estructuras para representar el sistema y calcular el valor de los criterios FPE y Akaike.
Observar también la posición de los polos y ceros de cada estructura. Para ello se dispone de
una señal test, utilizando una entrada binaria. Se realizan dos experimentos:
c) v(t)=e(t);
d) v(t)=e(t)-e(t-1)+0.2e(t-2);
siendo e(t) un ruido blanco con una variancia de 1.
Solución
La simulación, el residuo, la ubicación de los polos y ceros y el valor de los dos criterios propuestos,
resultado de aplicar los distintos métodos de estimación se visualizan al ejecutarse el programa de
Matlab ‘probrema36a’.
5
Obsérvese que el valor de los criterios va disminuyendo a medida que se incrementa el orden del
sistema, habiendo un cambio substancial cuando la estructura coincide con la estructura del sistema.
A medida que se aumenta el orden, aparecen polos y ceros muy próximos (cancelables). Ello indica
que para determinar la estructura del modelo se deben tener en cuenta varios factores y la solución
no es trivial.
Podéis observar los resultados en el caso en que el ruido sea colorado, caso b.
Nota: falta poder realizar un problema en el campo frecuencial pero no dispongo de la toobox
de Matlab de identificación frecuencial compatible con Matlab6.5. Espero poder aportaros un
problema antes de finalizar el curso.
E3.1- Probar cuales son los valores estimado de los parámetros del problema 3.2, cuando se
utiliza como vector instrumento:
z(t)=[u(t-3) u(t-4) u(t-1) u(t-2)]T
E3.2- Tomando como modelo simulado correspondiente al problema 3.2 caso a), evaluar
como se comporta el método RLS por distintos factores de olvido. Por ejemplo entre 0.9 y 1.
E3.3- El programa matlab propone en el caso de métodos recursivos distintos métodos: factor
de olvido, filtro de Kalman, gradiente normalizado y gradiente no normalizado. Seriáis
capaces de determinar cual es la diferencia entre dichos algoritmos?. Realizar para ello un:
>type rarx
y comparar los algoritmos propuestos.
E3.4- Los métodos de estimación estudiados pueden también aplicarse al caso de sistemas
multivariables. Se propone para ello el siguiente ejercicio:
- Se han adquirido muestras de un sistema real con dos entradas (u1 y u2) y una salida,
obteniéndose la matriz de datos dada en el fichero E34.mat. La estructura del sistema es
de segundo orden con respecto a la variable u1 i de primer orden con respecto a la
variable u2.
Utilizando las distintas herramientas comentadas en el tema, determinar el modelo que mejor
se ajuste a los datos reales.
E3.5- Los datos del fichero E35.mat, se han obtenido tras excitar un sistema real, u entrada y
y salida. Se desea determinar el mejor modelo para represente el comportamiento de este
sistema. Para ello, utilizar los métodos no paramétricos para definir la estructura aproximada
del modelo, y una vez definida, utilizando ya métodos paramétricos, determinar la mejor
estructura para el sistema.
E3.6- Resolver el mismo problema anterior pero utilizando como soporte la tool gráfica de
identificación de sistemas ‘ident’.
6
TEMA 4
Este tema trata el modelado de sistemas dinámicos no lineales. Aquí ocurre todo lo
contrario, existen muchos métodos y pocos de ellos tienen un respaldo matemático que
justifique su uso indiscriminado. Sin embargo, existen pruebas e indicios que permiten
suponer que ciertos tipos de modelos pueden ser adecuados para ciertos tipos de
sistemas y otros servirán para sistemas diferentes.
Las redes neuronales forman una familia grande de modelos de sistemas no lineales.
Tienen un relativo respaldo formal y han resultado efectivas en numerosos casos
prácticos.
Una red neuronal es un sistema formado por elementos sencillos de cálculo, las
neuronas, conectadas entre sí mediante pesos para formar una red más compleja. La
función de esta red viene determinada por el patrón de conexión, que es su arquitectura,
y por los valores de los pesos.
Una neurona (también se las llama nodos o unidades) es un elemento de proceso, ver
figura 4.1, que toma un número d de entradas, las multiplica por un peso cada una, las
suma y el resultado de todo ello es el argumento de una función escalar que produce la
salida correspondiente a esa neurona. Esta función se llama función de activación.
ϕ1 w1
w2 yi
ϕ2 ..
.
wd
ϕd
d
yi = f i ( ∑ wi, j ϕ j ) (4.1)
j =0
Las entradas a una neurona, Φ = {ϕ 0 , ϕ 1 , ... ϕ d }, pueden ser externas a la red o pueden
corresponder a las salidas de otras neuronas. Una de ellas, ϕ 0 , suele estar fija al valor de
1, el bias. Los pesos, wi,j, son los parámetros calculados durante el proceso de
aprendizaje y toman valores de la recta real.
1 1
0 0
-0.5 -0.5
-1 -1
-10 -5 0 5 10 15 20 -10 -5 0 5 10 15 20
1 1
0 0
-0.5 -0.5
-1 -1
-10 -5 0 5 10 15 20 -10 -5 0 5 10 15 20
Figura 4.2: función de activacion binaria: f(x) = sgn(x), lineal: f(x) = x, sigmoidal:
f(x) = (1 + e-x) -1 , y tangente hiperbólica: f(x) = (1 - e-x) ⋅ (1 + e-x) -1
Las redes neuronales se caracterizan por dos aspectos: la forma en que las neuronas
están conectadas entre sí y los algoritmos que se utilizan para calcular los pesos de la
red. Estos dos temas se tratan a continuación.
Seguramente la forma más habitual de organizar las neuronas y capas en una red es la
que se denomina perceptrón multicapa (MLP, MultiLayer Perceptron). En el MLP hay
una capa de entrada, una capa de salida y cero o más capas intermedias, que
generalmente se llaman capas ocultas, de forma que cada unidad de una capa recibe
como entradas todas las salidas de las neuronas de la capa anterior, hasta llegar a las
entradas externas. En la figura 4.3 se puede ver un ejemplo de un MLP.
ϕ1
y1
ϕ2
Figura 4.3: un perceptrón multicapa con una capa oculta y dos entradas
( (
Y = F 2 W 2 F 1 W 1Φ )) (4.2)
donde los superíndices están para indicar la capa que corresponde a cada símbolo, F es
un vector de funciones de activación, W es una matriz de pesos y bias, y Φ es el vector
de entradas externas.
El funcionamiento de esta red neuronal es sencillo. Dado un patrón de entradas,
Φ = {ϕ 0 , ϕ 1 , ... ϕ d }, se obtiene la salida correspondiente Y = {y1 , ..., ym } utilizando la
expresión (4.2). El vector de parámetros, en este caso, ya ha sido fijado a un valor
concreto que determina el comportamiento de la red. Cuando una red funciona de este
modo se dice que está en fase de reconocimiento.
0.08 y(k)
Y (z) = X ( z)
z − 0 .9
0.9
x(k)
0.08
Figura 4.4: red neuronal recursiva que se comporta como un sistema de primer orden
Existe una serie de cuestiones importantes que deberían tenerse en cuenta antes de tratar
el tema del aprendizaje en las redes neuronales, que son:
• ¿Cuántas capas debería tener una red y cuantas neuronas en cada capa?
• ¿Qué funciones de activación son las más adecuadas para cada aplicación?
La primera cuestión fue respondida en los años 90 por diversos investigadores de forma
independiente. Los resultados a este respecto parten de los trabajos de Kolmogorov
(publicados en 1957), de carácter general en la disciplina de Aproximación de
Funciones. Recientemente han sido refinados por diversos autores (Hecht-Nielsen,
Kurková, Hornik, Ito, Cybenko, etc.) y adaptados al campo de la aproximación de
funciones basada en redes neuronales. El resultado general más interesante (formulado
independientemente en [Cyb-89] y [Hor-89]) es que las redes neuronales de tres capas
con funciones de activación sigmoidales en la capa oculta son aproximadores
universales. Las neuronas de la capa de salida deben tener función de activación lineal.
Lo que no se llegó a especificar es el número de neuronas que debe tener la capa oculta.
Este tema se ha tratado en diversos trabajos llegando siempre a resultados poco
concluyentes o demasiado difíciles de aplicar en la práctica.
Con todo ello, la primera pregunta ha quedado resulta, la tercera también y la segunda
no. Los resultados anteriores pueden dar a entender que no hay necesidad de utilizar
más de una capa oculta y/o mezclar funciones de activación diferentes de las
mencionadas. De hecho, esto no es del todo cierto porque puede suceder que la
precisión o la facilidad de aprendizaje aumente utilizando arquitecturas más
sofisticadas. En particular, cuando en la función que se desea aprender, la complejidad
de la relación entre entradas y salidas es alta se puede mejorar la precisión en la
aproximación con arquitecturas más complejas. Sin embargo, dado que la
implementación, el aprendizaje y el análisis de la red resultante pueden complicarse es
habitual utilizar sólo una capa oculta con neuronas sigmoidales o tangentes
hiperbólicas.
Existen en la literatura de las ANN tres formas diferentes de entrenar redes neuronales:
aprendizaje supervisado, aprendizaje por refuerzo y aprendizaje no supervisado. Cada
una de ellas, por el orden que se mencionan, requiere más información del mundo
exterior para poderse llevar a cabo.
El aprendizaje por refuerzo tiene sus raíces en las teoría conductista de aprendizaje. En
él existe información acerca del error que se comete, pero es incompleta o imprecisa.
Un ejemplo típico es el de aquellos algoritmos que aprenden sólo con la información del
signo del error.
Z N = {[ u (t ), y (t )] ; t = 1K N }
N N
∑ ( y(t) − yˆ (t,θ ))
1 1
V N (θ , Z ) = = ∑ε (t , θ )
N 2 2
(4.3)
2N t =1 2N t =1
de manera que la finalidad del aprendizaje consiste en obtener un vector θ que minimice
la expresión VN (θ, ZN ).
Este problema ha sido tratado desde antes que aparecieran las redes neuronales por las
comunidades estadística y matemática y ha sido caracterizado como un problema de
optimización de mínimos cuadrados no lineal ordinario. Para él existen diversos
algoritmos con sus ventajas e inconvenientes. Algunos de los algoritmos más conocidos
son: el método de gradiente, el método de Newton, el método de Gauss-Newton, el
método pseudo-Newton, el método de Levenberg-Marquardt, etc.
Además, en general, estos algoritmos fueron concebidos para trabajar con todo el
conjunto de datos de entrada-salida y en las ANN es más habitual trabajar de forma
incremental (o también on-line). Por esta razón existen versiones recursivas en las que
la red realiza un paso de aprendizaje con cada dato que se le presenta, en vez de esperar
a tenerlos todos para hacerlo.
Este tema, que como se ve es básicamente un problema de estimación paramétrica
convencional, será poco considerado aquí, pues ya se trató en el tema 3. Utilizaremos
los algoritmos de aprendizaje como una herramienta que nos permite determinar el
conjunto óptimo (o más adecuado) de pesos de la red neuronal. No se hará especial
hincapié en si tal o cual algoritmo permite un aprendizaje más rápido o no. Sin
embargo, debe quedar claro que éste es un aspecto de gran interés y que las aplicaciones
reales requieren una cierta preocupación por él.
θ ( t ) = θ (t − 1) + µ t Rt−1ψ (t )ε (t )
El escalar µt es el tamaño del paso, Rt-1 es una matriz definida positiva que
permite modificar el criterio de búsqueda (cuando Rt = I se sigue el gradiente)
y ψ(t) corresponde a la derivada de g respecto a los parámetros, θ.
Las redes neuronales, a pesar de surgir a partir de motivaciones diferentes de las de la
identificación de sistemas dinámicos, representan un conjunto de modelos que encaja
adecuadamente en la metodología genérica descrita anteriormente. Son modelos
paramétricos que, basándose en una medida del error y en un algoritmo para
minimizarlo, aproximan una función no lineal con errores arbitrariamente pequeños.
El hecho interesante es que las redes neuronales constituyen una estructura de modelado
con ventajas sobre otras (como las expansiones de polinomios u otras estructuras no
lineales tipo caja negra, por ejemplo). Las ventajas más obvias son que una misma
estructura comprende diferentes modelos y que, computacionalmente, tienen un coste
muy razonable.
Pero tienen dos ventajas más, remarcadas en [Ljung-92], menos evidentes y quizás más
atractivas. La gran mayoría de los sistemas que uno se encuentra en la práctica tienen un
comportamiento asintótico constante. Este comportamiento se aproxima, en otros tipos
de modelos (por ejemplo, las expansiones de polinomios), a fuerza de añadir parámetros
que mantengan las salidas limitadas para entradas grandes. En las ANN esto se da de
forma intrínseca, debido al comportamiento de las funciones sigmoidales, y así el
número de parámetros es más reducido. La otra característica que les confiere un interés
especial, sobre todo en problemas mal condicionados, es la redundancia paramétrica. De
forma intuitiva, esto quiere decir que el número de parámetros eficientes de la red es
mucho menor que el número real de parámetros. De esta manera, no es tan importante
como en otros modelos pasar un exhaustivo proceso de validación para eliminar
aquellos parámetros poco influyentes.
Selección de la
estructura del modelo
Estimación de los
parámetros del modelo
Con todo ello, el proceso de modelado e identificación con ANN sigue los pasos
clásicos, detallados en la figura 4.5, con algunos matices que se comentan
seguidamente.
Z N = {[ u (t ), y( t )] ; t = 1K N} = Z A ∪ Z R ∪ Z V
...
y(t - 1) y(t - n)
... y(t)
y(t - n) y(t) u(t - d)
...
u(t - d) u(t - d - m)
...
...
y(t)
z-1 ε(t - k) +
ε(t)
Figura 4.6: modelo ARX (izq.) y modelo ARMAX (der.), en su versión neuronal
Por ejemplo, la figura 4.6 muestra dos redes neuronales de una sola neurona con
función de activación lineal. La primera corresponde a un modelo ARX
(AutoRegressive with eXogenous input) en la que el vector de regresores es
ϕ ( t ) = [ y (t − 1) K y (t − n ), u( t − d ),K , u (t − d − m) ]T
y (t ) = G( q −1 )u (t ) + H (q −1 ) e(t ) (4.4)
yˆ (t | t − 1) = H −1 ( q −1 ) G( q −1 )u (t ) + (1 − H −1 ( q −1 )) y (t ) (4.5)
Conviene fijarse que en el caso lineal yˆ (t | θ ) puede reescribirse de una forma más
compacta
yˆ (t | θ ) = ϕ T (t )θ (4.6)
La última de las condiciones asegura que las predicciones dependen sólo de entradas
pasadas (G(0, θ) = 0) y medidas de la salida anteriores (H(0, θ) = 1).
G( q −1 ,θ ) = q − d B( q −1 ) y H ( q −1 , θ ) = 1
yˆ (t | θ ) = q − d B (q −1 )u (t ) ( ≡ ϕ T (t )θ )
ϕ ( t ) = [u( t − d ),K , u (t − d − m) ] .
T
(4.7)
Esto corresponde a un modelo FIR (Finite Impulse Response) en que, como se puede
ver, la predicción sólo depende de las entradas en instantes de tiempo anteriores.
yˆ (t | θ ) = g (ϕ T (t ), θ )
yˆ (t | θ ) = q − d B (q −1 )u (t ) + (1 − A(q −1 )) y (t ) ( ≡ ϕ T (t )θ )
ϕ ( t ) = [u( t − 1), K, u (t − n ), u( t − d ), K , u (t − d − m) ]
T
La extensión no lineal de este modelo convierte la predicción en
yˆ (t | θ ) = g (ϕ T (t ), θ ) ,
que es igual que para la familia NNFIR, y deja el vector de regresores también intacto.
Los predictores para estas dos familias estructurales son siempre estables, igual que para
el caso lineal, porque la relación entre los regresores y la salida del predictor es
puramente algebraica. Esta observación resulta de particular importancia en el caso no
lineal, pues aquí la estabilidad se convierte en un tema especialmente complicado de
demostrar.
−1 −d B (q −1 ) −1 C( q −1 )
G( q , θ ) = q y H (q , θ ) =
A( q −1 ) A( q −1 )
−d B( q −1 ) A(q −1 )
yˆ (t | θ ) = q u (t ) + 1 + −1
y (t )
C ( q −1 ) C (q )
( ) (
= q − d B( q −1 )u (t ) + 1 + A( q −1 ) y (t ) + C (q −1 ) − 1 ε ( t ,θ ) ) ( ≡ ϕ T (t )θ )
y el vector de regresores es
ϕ ( t ) = [ y( t −1), K, y (t − n ), u (t − d ), K, u (t − d − m ), ε (t ,θ ),K ,ε ( t − k ,θ ) ] .
T
(4.8)
Debido a la presencia del polinomio C el predictor ahora tiene polos y puede ser
inestable. Para evitarlo conviene comprobar que todos los polos están dentro del círculo
unitario. El hecho de que haya polos está ligado a que los regresores dependen de los
parámetros del modelo, cosa que hace que el problema de estimación paramétrica sea
más complicado.
yˆ (t | θ ) = g (ϕ T (t ), θ ) ,
dejando el vector de regresores como en la ecuación (4.8). La figura 4.8 muestra la red
neuronal para la estructura NNARMAX y se puede ver que es igual a la de la figura 4.6
substituyendo la neurona lineal por un perceptrón multicapa con funciones de activación
no lineales.
Una red neuronal como la de la figura 4.8 es una red con conexiones hacia atrás, y por
tanto recursiva. Al tratarse de un modelo no lineal estudiar su estabilidad puede ser
complicado y por regla general no se hace. Lo más habitual es considerar su régimen de
trabajo y estudiar la estabilidad de forma local en él.
4.3.3 Estructura NNOE
Si en la ecuación (4.4) se selecciona
B( q −1 )
G( q −1, θ ) = q − d y H (q −1 ,θ ) = 1
F ( q −1 )
B( q −1 )
yˆ (t | θ ) = q −d −1
u (t ) = q − d B( q −1 )u (t ) + (1 − F ( q −1 )) yˆ (t | θ ) ( ≡ ϕ T (t )θ )
F (q )
y el vector de regresores es
Nuevamente, para que el predictor sea estable los polos de F tendrán que estar dentro
del círculo unitario y todas las consideraciones apuntadas para la familia NNARMAX
serán válidas aquí. La figura 4.9 muestra la red neuronal correspondiente a esta
estructura.
4.3.4 Otras estructuras híbridas
En la literatura de identificación con redes neuronales a menudo se proponen
variaciones de las estructuras anteriores o mezclas de estructuras lineales y no lineales.
Aquí se dan algunos ejemplos que pueden resultar útiles:
yˆ (t | θ ) = g y (ϕ y ( t ), θ y ) + g u (ϕ u (t ), θ u )
= g (ϕ y (t ), θ y ) + q −d B( q −1 )u (t )
= (1 − A( q −1 )) y (t ) + g (ϕu ( t ), θ u )
ϕ y (t ) = [ y (t − 1), K, y (t − n )]T
ϕ u (t ) = [u (t − d ),K, u (t − d − m) ]T
yˆ (t | θ ) = (1 − A( q −1 )) yˆ (t | θ ) + g (ϕ u (t ),θ u )
yˆ (t | θ ) = g (ϕuy ( t ),θ uy ) + C ( q −1 )ε (t | θ )
y el vector de regresores
Figura 4.10: separación mediante un plano (izq.), una región convexa (centro) y
regiones arbitrarias (der.)
Por este motivo, si no está muy claro que el comportamiento a aprender requiere más de
una capa oculta, se suelen utilizar redes con sólo una capa oculta.
1
2
[
V (θ ) = E ( y (t ) − yˆ (t | θ ) )
2
]
El error de generalización, que determina la capacidad que tienen las ANN de responder
correctamente a entradas que no han sido utilizadas en el proceso de aprendizaje, no es
calculable en la práctica, pero se puede comprobar que bajo ciertas condiciones
VN(θ, ZN) tiende a V (θ ) si N tiende a infinito. En este caso, además, los parámetros
tienden a su valor óptimo.
Una forma de tratar este problema consiste en reforzar el criterio VN con un término de
regularización. El más usual y sencillo consiste en un término de decremento de los
parámetros (weight decay)
1 N
W N (θ , Z ) =
N
∑ ( y( t) − yˆ (t,θ ) )2 + 1 θ T Dθ
2 N t=1 2N
siendo D una matriz diagonal, que se suele seleccionar como D = αI, y α es el
decremento de los parámetros. De esta manera el valor de α se convierte en el
parámetro a sintonizar para conseguir minimizar el error de generalización. Esta
sintonía suele llevarse a cabo mediante un proceso de prueba y error. Evidentemente,
los algoritmos de aprendizaje han de tener en cuenta este término para poder utilizarlo
correctamente, pero eso es bastante habitual en los algoritmos implementados en
plataformas como Matlab.
[Hertz-91] Hertz, J., Krogh, A. and R.G. Palmer, Introduction to the Theory of Neural
Computation, Addison-Wesley, 1991.
[Nør-00] M. Nørgárd, O. Ravn, N.K. Poulsen, L.K. Hansen. Neural Networks for
Modelling and Control of Dynamic Systems. Springer-Verlag, 2000.
[Sjö-95] Sjöberj, J., Zhang, Q., Ljung, L, Benveniste, A., Delyon, B., Glorennec, P.,
Hjalmarsson, H. and A. Juditsky, “Nonlinear Black-box Modelling in
System Identification: a Unified Overview”, Automatica, vol 31, nº 12,
1995.
TEMA 4
Ejercicios
E4.1- Para entender cómo se entrenan y utilizan las redes neuronales, vas a
identificar un sistema lineal cuyos datos se han obtenido por simulación.
Carga los datos del fichero datos.mat. En él encontrarás 4 variables, linu, liny,
nlu y nly, con 1024 muestras cada una. Las dos primeras corresponden a las entradas y
salidas de un sistema lineal SISO. Las restantes son las entradas y salidas de un sistema
no lineal SISO.
Divide los datos en dos conjuntos de igual tamaño e identifica un modelo OE con las
técnicas clásicas. De esta manera podrás conocer los valores de nb, nf y nk.
E4.3- Identifica los parámetros de una red neuronal que modele el comportamiento
del sistema no lineal utilizando una estructura de identificación ARX con el comando
nnarx.
Si validas el modelo resultante con nnvalid parece que todo ha ido correctamente,
pero si lo haces con nnsimul (que es equivalente a utilizar nnvalid(‘nnoe’,...) )
verás que los resultados son muy diferentes. ¿Por qué?
Encuentra una nueva red neuronal cuya validación con OE sea aceptable. Para ello será
conveniente que hagas diferentes identificaciones variando el parámetro de aprendizaje
D, que es el término de regularización del algoritmo Levenberg-Marquardt.