Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MODELADO DE PROCESOS
DINÁMICOS-IV
Identificación de sistemas
CONTENIDO
Introducción
Propósito general de la IdS
El criterio de los mínimos cuadrados en la estimación de
parámetros
Relación criterio de los mínimos cuadrados-optimización
La IdS y la respuesta de sistemas de control
Sobre la Identificación de Sistemas (IdS). Su concepto.
La utilidad de la IdS
Del modelo desarrollado durante la IdS
Selección del modelo para una IdS
Análisis de la relación entrada-salida
Un modelo “hecho a la medida”
Otros modelos lineales que se utilizan en la IdS
Metodología típica para una IdS
Nomenclatura compacta en la IdS
Algunos modelos paramétricos para sistemas lineales e
invariantes en el tiempo
Otros modelos
Herramienta de identificación
Página 2 de 40
Introducción
Este último capítulo describe los fundamentos de la identificación de sistemas (IdS). Después de su
definición y objetivos se presentan unos ejemplos de aplicación en el área de control. Dado lo extenso
del tema, nos focalizaremos principalmente en los métodos de obtención de modelos mediante la
identificación paramétrica o métodos paramétricos y que se relacionan específicamente con la
estimación directa de los parámetros de uno o varios modelos matemáticos de estructura conocida
y preseleccionada. También existe el método de la identificación no-paramétrica o métodos no
paramétricos que no estiman en forma directa los parámetros de un modelo. De estos métodos los
más conocidos y utilizados son el análisis de Fourier, el de la respuesta transitoria, análisis de la
respuesta en frecuencia, y análisis espectral, por ejemplo. Empezamos presentando un panorama
general de la IdS, seguido de algunas definiciones.
Por tratarse de un primer curso en este tema, dedicaremos nuestro esfuerzo a realizar ejemplos
formativos, en lugar de ahondar en los fundamentos matemáticos de esta área de alta importancia en
los sistemas de control, particularmente en las etapas iniciales del modelado matemático. Espero dar
una idea clara de para qué, y cómo se hace la identificación de sistemas, que les aseguro es interesante
y requiere de un manejo conceptual apropiado, complementándose bastante bien con la experiencia
en el manejo de los programas especializados en esta área. De igual forma, así sea obvio, se necesita
partir de la comprensión clara del problema de identificación que se quiere resolver, lo cual intento
resaltar.
La identificación de sistemas impactó muy positivamente el área del actual control moderno que se
inició a comienzos de la década de los sesenta. De igual forma, en esa misma década se desarrolló el
modelo lineal ARMAX (AutoRegressive-Moving Average with eXogenous terms), siendo uno de los
más utilizados a la fecha en el software comercial de identificación. Se resalta igualmente su uso en
procesos industriales que son difíciles de modelar utilizando métodos tradicionales.
Página 3 de 40
Antes de iniciar propiamente con la IdS, recordemos el criterio de mínimos cuadrados que se aprende
en los cursos de cálculo y se refuerza en los de análisis o métodos numéricos.
Propósito general de la IdS
Esta disciplina de las matemáticas aplicadas se orienta a la construcción y/o selección de modelos
matemáticos incluyendo la estimación de sus parámetros, que definan el comportamiento dinámico
de un sistema, pero con la característica relevante de que se parte de datos experimentales
recolectados de éste. Su nivel de desarrollo y estructura actual, también ha sido definitivo el uso de
la estadística que le ha permitido validar muchos de sus conceptos.
En otras palabras, la IdS está orientada a establecer un Modelado Matemático, con el propósito de
resolver problemas prácticos haciendo uso de él.
A continuación, pasamos a la descripción de algunos aspectos que considero necesarios para el cabal
entendimiento de qué es la IdS, su utilidad, características del modelo que se obtiene, finalizando con
la descripción de la metodología típica que se sigue en este proceso.
Sobre la Identificación de Sistemas (IdS). Su concepto.
Como se indicó, se entiende como IdS la estrategia de construir un modelo (usualmente empírico o
semi-empírico) fundamentado en el análisis del mismo sistema, así como la determinación de los
parámetros de uno ya existente.
La IdS es un área bastante desarrollada tanto a nivel conceptual, como en la herramienta
computacional requerida, existiendo ya software libre y comercial muy útil para esta tarea.
Típicamente se realiza la IdS asumiendo el sistema como una caja negra, es decir, no se le da relevancia
al proceso interno, pero en cambio seguimos los cambios de sus salidas, para unas determinadas
entradas.
La IdS utiliza en forma intensiva los métodos estadísticos con el objetivo de construir modelos de
sistemas dinámicos, todo ello a partir de datos experimentales previamente disponibles (identificación
fuera de línea), o en el mejor de los casos, en tiempo real (identificación on-line).
La utilidad de la IdS
Por ser una estrategia matemática ampliamente conocida, su aplicación a la vida real o mejor, a
problemas de la vida real, es variada. No solamente está orientada a validar MoMas, sino también a
ser una buena aproximación al modelado de problemas donde los métodos convencionales basados
en principios fundamentales son de difícil aplicación, o el fenómeno envuelve tantos de ellos, que es
prácticamente imposible dilucidar un modelo. Para este curso se resalta como una herramienta valiosa
en la etapa de modelado del proceso que se requiere controlar.
Del modelo desarrollado durante la IdS
En este punto cabe la pregunta, ¿Tiene algún fundamento en principios o leyes físicas el modelo
desarrollado mediante la IdS? y cuya respuesta es evidente: ¡¡ nooo…!! Estos tipos de modelos no
representan realmente los aspectos fundamentales del proceso que modela. Relaciona las salidas para
unas entradas definidas, pero sin involucrar el proceso en sí.
Página 4 de 40
componente relacionado con la dinámica estocástica. De igual forma un modelo ARX esto es,
AutoRegressive with eXogenous terms, también captura la dinámica estocástica (aleatoria) como
parte de la dinámica de un sistema. Se considera el modelo más sencillo que incorpora las señales de
excitación. En ambos casos, la determinación de sus coeficientes se realiza, por ejemplo, mediante el
bien conocido método de los mínimos cuadrados. El modelo matemático BJ (Box-Jenkins) es auto-
regresivo, y se utiliza típicamente en la predicción del futuro en actividades económicas fundamentado
en su pasado conocido. En el modelo OE (Output Error) la fuente del ruido se define como el error
(una diferencia) entre la salida real del sistema y la misma, pero libre de ruido.
Es importante tener presente que todos esos modelos lineales y los no lineales (tales como los
generados por las redes neuronales) empleados en la identificación de sistemas, requieren el manejo
dispendioso en muchas de las veces, de grandes volúmenes de información en la forma de entradas-
salidas. De igual forma, se requerirá el cálculo de los parámetros del modelo mediante métodos
numéricos. Así las cosas, resulta evidente el uso del computador, debiéndose ahora tener claro los
fundamentos de la identificación de sistemas, junto con el desarrollo de las destrezas necesarias para
el manejo de un software especializado (propio, libre o comercial) que le facilitará el trabajo.
Metodología típica para una IdS
Si bien, para abordar un problema de selección del modelo que mejor describe el comportamiento
dinámico es propio del sistema que se aborda, se pueden reconocer algunas actividades comunes:
a. Realizar los experimentos apropiados que permitan recolectar la información para el rango en
el cual el modelo será válido. Usualmente se recomienda elaborar con anticipación un diseño
estadístico de experimentos.
b. Si se recurre a los modelos predefinidos y disponibles en la literatura o en el software que se
utiliza, se debe tener una mínima información de cuáles de ellos son los más apropiados para
el sistema que pretendemos modelar.
c. Si se dispone de un elevado número de estos modelos, se deberá definir algunos criterios que
permitan de manera objetiva, escoger uno o varios de ellos que satisfacen los datos
experimentales recolectados.
d. Contrastar (validar) los resultados que predice cada modelo frente a los experimentales, y
e. Definir el modelo seleccionado dejando claro las restricciones de su validez y forma de uso.
El problema:
Se dispone de una serie de datos experimentales para los cuales se deben determinar los parámetros
del modelo que se propone para definir (estimar) su comportamiento. Se ilustrará la metodología
para los siguientes modelos:
a) Lineal de la forma 𝑦(𝑥) = 𝐴𝑥 + 𝐵
b) Exponencial de la forma 𝑦(𝑥) = 𝐴𝑒 −𝐵𝑥
c) De la forma 𝑦(𝑥) = 𝐴𝑥 𝐵
d) De la forma 𝑦(𝑥) = 𝐴𝑥 2 + 𝐵𝑥 + 𝐶
Resolvemos cada uno seguidamente:
a) La figura adjunta muestra los datos cuyo comportamiento se quiere modelar mediante una
línea recta. Es decir, en lugar de trastearnos para todo lado la gráfica o la tabla de datos, utilizaremos
el modelo de una línea recta para describirlos. Este modelo nos servirá, por ejemplo, para iniciar el
proceso de diseño y análisis de un sistema de control.
La idea es lograr que la suma de los cuadrados de las distancias (¡verticales!) de todos esos datos debe
ser la mínima posible. Se elevan esas distancias al cuadrado para evitar que se cancelen las distancias
cercanas de los puntos que estén arriba con los que están por debajo de la línea que representa el
MoMa que se va a ajustar mediante la determinación de los parámetros (𝐴; 𝐵).
La distancia vertical del 𝑘 −ésimo punto a aquel sobre la recta, teniendo ambos en común la misma
abscisa 𝑥 (variable independiente) viene dada por,
pero como existen 𝑁 número de pares (𝑥𝑘 ; 𝑦𝑘 ) de puntos experimentales, la suma de todos estos
términos al cuadrado conforma la función que nos servirá como punto de partida,
𝑁 𝑁 𝑁
a esta función (observe que está al cuadrado su término derecho), 𝐹𝑂(𝐴; 𝐵) comúnmente se le
conoce en la literatura como función objetivo (o función de costo) ya que ésta será la que se
minimizará (de ahí el nombre del criterio de mínimos cuadrados). Es decir, se deberán encontrar los
valores de (𝐴; 𝐵) de tal forma que cuando sume el cuadrado de todas las distancias verticales, ésta
sea mínima (la más corta de todas las posibles). Al ser esta distancia mínima, aseguramos que esa recta
es la mejor (y única), que podremos tener para que ella represente todo ese conjunto de puntos
experimentales. De esta manera, resumimos toda esa información que llevan los datos en una sola
ecuación que, para este ejemplo en particular es una línea recta.
De los cursos de cálculo aprendimos el primer método de optimización (minimización para este caso)
y es el criterio de la primera derivada. Si lo recuerda, derivamos la función e igualamos este resultado
a cero para encontrar los valores críticos (mínimo o máximo). Para saber si se trata de un valor
extremo mínimo o un valor extremo máximo, procedemos a realizar la segunda derivada. Si esta
nueva derivada es mayor que cero, tenemos un mínimo, y si es menor que cero, tendremos un
máximo. Si no podemos definirlo, se trata de un punto de inflexión.
Procederemos ahora utilizando la primera derivada y más adelante veremos otras alternativas.
Derivamos respecto a cada parámetro 𝐴 y 𝐵, que ahora se convierten en nuestras variables que
debemos calcular,
𝑁 𝑁
𝜕𝐹𝑂(𝐴; 𝐵)
= ∑(𝐴𝑥𝑘 + 𝐵 − 𝑦𝑘 )2 = ∑ 2(𝐴𝑥𝑘 + 𝐵 − 𝑦𝑘 ) 𝑥𝑘 = 0
𝜕𝐴
𝑘=1 𝑘=1
𝑁 𝑁
𝜕𝐹𝑂(𝐴; 𝐵)
= ∑(𝐴𝑥𝑘 + 𝐵 − 𝑦𝑘 )2 = ∑ 2(𝐴𝑥𝑘 + 𝐵 − 𝑦𝑘 ) =0
𝜕𝐵
𝑘=1 𝑘=1
quedando estas dos ecuaciones que se igualan a cero, para encontrar a partir de ellas los valores
críticos (mínimo o máximo). Reorganizando estas ecuaciones tenemos,
𝑁 𝑁 𝑁 𝑁
∑ (𝐴𝑥𝑘 + 𝐵 − 𝑦𝑘 ) =0 ⇒ 𝐴 ∑ 𝑥𝑘 + 𝐵 ∑ 1 = ∑ 𝑦𝑘
𝑘=1 𝑘=1 𝑘=1 𝑘=1
Página 8 de 40
Se observa que estas ecuaciones algebraicas son LINEALES en 𝐴 y 𝐵. Cada término de la sumatoria
es un número que se obtiene de sumar los datos experimentales de la tabla de datos. Ilustremos este
caso con un ejemplo.
Ejemplo: Dados los datos indicados en la siguiente tabla. Determine los parámetros (𝐴; 𝐵) del MoMa de una
línea recta que es el primero que se quiere probar si representa los datos en forma aceptable.
1 1 𝑁 𝑁 𝑁
3 2,8 𝑁 𝑁
∑ 𝑥𝑘 = 31 7 ∑ 𝑦𝑘 = 33.1
4 4,3
𝑘=1 𝑘=1
5 5,3
Así, el sistema de ecuaciones queda como:
6 6,5
191 𝐴 + 31 𝐵 = 204.9 𝐴 = 1,085600
10 10,8
31 𝐴 + 7𝐵 = 33.1 𝐵 = −0,079255
b) Exponencial de la forma 𝑦(𝑥) = 𝐴𝑒 −𝐵𝑥 . Se procede de la misma forma, pero ahora la función
objetivo queda como,
𝑁 𝑁 𝑁
Procedemos a derivar con respecto a las variables (que son los parámetros del modelo) quedando:
𝑁 𝑁
𝜕𝐹𝑂(𝐴; 𝐵)
= ∑(𝐴𝑒 −𝐵𝑥𝑘 − 𝑦𝑘 )2 = ∑ 2(𝐴𝑒 −𝐵𝑥𝑘 − 𝑦𝑘 ) 𝑒 −𝐵𝑥𝑘 = 0
𝜕𝐴
𝑘=1 𝑘=1
𝑁 𝑁
𝜕𝐹𝑂(𝐴; 𝐵)
= ∑(𝐴𝑒 −𝐵𝑥𝑘 − 𝑦𝑘 )2 = ∑ 2𝐴(𝐴𝑒 −𝐵𝑥𝑘 − 𝑦𝑘 ) 𝑒 −𝐵𝑥𝑘 (−𝑥𝑘 ) = 0
𝜕𝐵
𝑘=1 𝑘=1
𝑁 𝑁
𝐴 ∑ 𝑒 −2𝐵𝑥𝑘 − ∑ 𝑦𝑘 𝑒 −𝐵𝑥𝑘 =0
𝑘=1 𝑘=1
𝑁 𝑁
−𝐴 ∑ 𝑥𝑘 𝑒 −2𝐵𝑥𝑘 + ∑ 𝑦𝑘 𝑥𝑘 𝑒 −𝐵𝑥𝑘 =0
𝑘=1 𝑘=1
Ejemplo: Para los siguientes datos experimentales determine los parámetros del MoMa exponencial
resolviendo el problema mediante una estrategia de optimización. Proponer otro MoMa alterno.
Información del proceso: el MoMa se presume tiene la forma 𝒚(𝒙) = 𝑨𝒆−𝑩𝒙 donde (𝐴; 𝐵) son los
parámetros que se desean conocer a partir del comportamiento entrada-salida del proceso.
𝑥𝑘 𝑦(𝑥𝑘 ) Solución: Al utilizar el criterio de mínimos cuadrados para este modelo no-lineal tiene la
función objetiva de la forma,
0 1800
𝑁=7
2 1200
𝐹𝑂(𝐴; 𝐵) = ∑(𝐴𝑒 −𝐵𝑥𝑘 − 𝑦𝑘 )2
3 888 𝑘=1
4 600
En lugar de resolver el sistema, lo único que debemos hacer es reemplazar la pareja de
5 400 valores experimentales (𝑥𝑘 ; 𝑦𝑘 ) y utilizar un algoritmo de optimización tales como
fminunc, y fminsearch de la toolbox de optimización. De esta manera la función objetivo
6 280 es,
8 10
𝐹𝑂(𝐴; 𝐵) = (𝐴 ∗ 𝑒 −𝐵∗0 − 1800)2 + (𝐴 ∗ 𝑒 −2∗𝐵 − 1200)2 + (𝐴 ∗ 𝑒 −3∗𝐵 − 888)2
+ (𝐴 ∗ 𝑒 −4∗𝐵 − 600)2 + (𝐴 ∗ 𝑒 −5∗𝐵 − 400)2 + (𝐴 ∗ 𝑒 −6∗𝐵 − 280)2
+ (𝐴 ∗ 𝑒 −8∗𝐵 − 10)2
Esta función se digita en la ventana de entrada del optimizador. No se demostrarán los pasos pues no es el
objetivo del problema ni del presente texto. En clase se explica cómo hacerlo, aunque no es para nada
complicado y sí ahorra tiempo. Seguidamente aparece el script que se utilizó para resolver el problema,
como alternativa al hacerlo directamente mediante el toolbox (su GUI).
function p=optimizacion(R)
clc Se digita en la pantalla:
format long
A =R(1);B=R(2); >> fminsearch('optimizacion',[1 1])
p = (A.*exp(-B*0)-1800)^2+…
(A.*exp(-2*B)-1200)^2+… y del programa de optimización se tiene que el MoMa con sus
(A.*exp(-3*B)-888)^2+...
parámetros es:
(A.*exp(-4*B)-600)^2+...
(A.*exp(-5*B)-400)^2+...
(A.*exp(-6*B)-280)^2+... 𝒚(𝒙) = 𝟏𝟖𝟕𝟓. 𝟗𝟕𝟐𝟑𝟒𝟖𝟏𝟏𝟕𝟎𝟗𝟏 𝒆−𝟎.𝟐𝟖𝟓𝟏𝟒𝟔𝟎𝟗𝟖𝟏𝟏𝟕 𝒙
(A.*exp(-8*B)-10)^2;
La gráfica de los datos experimentales, junto con el MoMa exponencial y el parabólico se observa a
continuación. Al parecer el modelo parabólico tiene un mejor desempeño al modelar los datos
experimentales. En este punto se deben calcular los errores medio, máximo y el cuadrático medio para
respaldar tal aseveración. Esta información usualmente la proporciona el mismo software.
Página 11 de 40
Ahora, si hablamos de mil o diez mil datos este método de solución se deberá manejar con archivos.
Procedemos a resolver los otros dos ejercicios, pero asumiendo que ya sabemos cómo se llega a la
expresión mediante el criterio de los mínimos cuadrados, y que necesitamos lograr para desarrollar
el problema mediante una estrategia de optimización.
Con el propósito de comparación, utilicemos los siguientes datos experimentales para ambos MoMas:
𝑥𝑘 1 2 3 4 5 6 8
y del programa de optimización se tiene que el y del programa de optimización se tiene que el
MoMa con sus parámetros es: MoMa con sus parámetros es:
Se observa de esta figura que el mejor MoMa que predice el comportamiento de los datos experimentales
es el cuadrático. No obstante, se debe tener un criterio para evaluar el error que se comete, tal como el
error máximo, el error medio y el error cuadrático medio.
Ya habiendo comprendido la sustancia de esta sencilla pero muy útil estrategia numérica, se deja como
ejercicio al lector demostrar que realmente se minimizó la función objetivo,
𝑁 𝑁
Ejemplo: Para el siguiente sistema que sospechamos es de primer orden con retardo puro, determine la
ganancia estática del proceso, la constante de tiempo y el tiempo de retardo. Se conoce para este sistema su
respuesta experimental medida para una entrada escalón unitario, indicada en la siguiente figura,
𝜏 ≅ 1,0 [𝑠] 𝐾
= 0,845
𝑎
Hay que tener presente que este valor se mide a
partir del tiempo en que el sistema responde, es que conlleva a
Página 15 de 40
De esta forma, su modelo se presenta seguidamente teniendo un intervalo de muestreo de una unidad
de tiempo, y queda como
en donde,
𝑦(𝑡) es la salida del sistema para el tiempo 𝑡,
𝑎𝑖 ; 𝑏𝑖 son los parámetros ajustables del modelo,
Página 16 de 40
Esta ecuación permite evaluar la salida para el tiempo 𝑡, conocido sus valores de tiempos anteriores.
Ahora, utilizando la misma notación se condensa a,
siendo,
y 𝑡𝑟 la transpuesta. Utilizando la interpretación de 𝑦(𝑡) como el valor calculado (o incluso el valor adivinado),
que se lee en su parte izquierda, “el valor calculado (estimado/adivinado) de 𝑦 para el tiempo 𝑡,
conocido 𝜃, es igual a …”
Este modelo lineal se conoce en la IdS como modelo ARX, cuya estructura se muestra en la figura 2
y se explica más adelante cómo se conforma. Es lineal en 𝜃 haciendo que este proceso sea una
regresión lineal, esto porque se trata de estimar (calcular) la salida 𝑦(𝑡) utilizando el vector de
regresión 𝜑(𝑡) compuesto de información de esta variable, pero en tiempos precedentes mediante
una relación funcional lineal.
2) Mínimos cuadrados aplicados a una regresión lineal: En este caso debemos conocer las
entradas y salidas y queremos ahora conocer los parámetros ajustables del modelo, es decir, ahora la
incógnita es 𝜃. Si asumimos que la variable 𝑅 almacena las entradas y las salidas obtenidas en el
intervalo 1 ≤ 𝑡 ≤ 𝑁, tenemos que,
𝑁
𝑅 = {𝑢(1), 𝑦(1), 𝑢(2), 𝑦(2) … . 𝑢(𝑁), 𝑦(𝑁)}
𝑁 𝑁
1 1
𝐹𝑂𝐵( 𝑁𝑅 , 𝜃) = ∑(𝑦(𝑡) − 𝑦̂{𝑡|𝜃})2 = ∑(𝑦(𝑡) − 𝜑𝑡𝑟 (𝑡) 𝜃)2
𝑁 𝑁
𝑡=1 𝑡=1
o en forma sucinta,
siendo la última expresión interpretada como aquel valor de 𝜃 (arg) que minimiza la función objetivo
𝐹𝑂𝐵( 𝑁𝑅 , 𝜃). Inclusive podemos ir un poco más lejos recordando que podemos aplicar el criterio de
la primera derivada para optimizar (minimizar) la función objetivo, es decir,
𝑁
𝑑𝐹𝑂𝐵( 𝑁𝑅 , 𝜃) 2
= − ∑ 𝜑(𝑡)(𝑦(𝑡) − 𝜑𝑡𝑟 (𝑡)𝜃) = 0
𝑑𝜃 𝑁
𝑡=1
que, reorganizando,
𝑁 𝑁 𝑁
𝑁 −1 𝑁
𝜃 = [𝑎 𝑏]𝑡𝑟 −𝑦(𝑡 − 1)
𝑦̂{𝑡|𝜃} = [ ] [𝑎 𝑏]1𝑥2
𝑢(𝑡 − 1) 2𝑥1
𝑁 −1 𝑁
−𝑦(𝑡 − 1) 𝑁
𝜑(𝑡)𝜑𝑡𝑟 (𝑡) = [ ] [−𝑦(𝑡 − 1) 𝑢(𝑡 − 1)]
𝑢(𝑡 − 1) − ∑ 𝑦(𝑡 − 1)𝑦(𝑡)
−𝑦(𝑡 − 1) 𝑡=1
[ ] 𝑦(𝑡) = 𝑁
𝑢(𝑡 − 1)
𝑁 𝑁 ∑ 𝑢(𝑡 − 1)𝑦(𝑡)
2
∑ 𝑦 (𝑡 − 1) − ∑ 𝑦(𝑡 − 1)𝑢(𝑡 − 1) [ 𝑡=1 ]
𝑡=1 𝑡=1
= 𝑁 𝑁
− ∑ 𝑦(𝑡 − 1)𝑢(𝑡 − 1) − ∑ 𝑢2 (𝑡 − 1)
[ 𝑡=1 𝑡=1 ]
𝑁 𝑁 −1 𝑁
2
∑ 𝑦 (𝑡 − 1) − ∑ 𝑦(𝑡 − 1)𝑢(𝑡 − 1) − ∑ 𝑦(𝑡 − 1)𝑦(𝑡)
𝑎̂𝑁 𝑡=1 𝑡=1 𝑡=1
[̂ ] = 𝑁 𝑁 𝑁 ∴ 𝑦(0) = 0
𝑏𝑁
− ∑ 𝑦(𝑡 − 1)𝑢(𝑡 − 1) − ∑ 𝑢2 (𝑡 − 1) ∑ 𝑢(𝑡 − 1)𝑦(𝑡)
[ 𝑡=1 𝑡=1 ] [ 𝑡=1 ]
Solución: A partir de la solución de ejemplo anterior podemos calcular cada uno de los componentes,
𝟓 𝟓 −𝟏 𝟓
𝟐
∑ 𝒚 (𝒕 − 𝟏) − ∑ 𝒚(𝒕 − 𝟏)𝒖(𝒕 − 𝟏) − ∑ 𝒚(𝒕 − 𝟏)𝒚(𝒕)
̂𝑵
𝒂 𝒕=𝟏 𝒕=𝟏 𝒕=𝟏
[̂ ] = 𝟓 𝟓 𝟓
∴ 𝒚(𝟎) = 𝟎
𝒃𝑵
− ∑ 𝒚(𝒕 − 𝟏)𝒖(𝒕 − 𝟏) − ∑ 𝒖𝟐 (𝒕 − 𝟏) ∑ 𝒖(𝒕 − 𝟏)𝒚(𝒕)
[ 𝒕=𝟏 𝒕=𝟏 ] [ 𝒕=𝟏 ]
y el modelo,
Existe otro método para determinar esos parámetros ajustables denominado de Variables
Instrumentales y considerado como una generalización del anterior método y ampliamente usado
cuando se presume que existe una correlación del ruido y la salida del sistema. El lector encontrará
su desarrollo en las referencias dadas en la sección final de este capítulo y por supuesto en la internet.
El modelo ARX
Partiendo nuevamente de la ecuación lineal de diferencia, pero ahora incluyendo el termino de ruido
blanco,
𝐴(𝑞) = 1 + 𝑎1 𝑞 −1 + 𝑎2 𝑞 −2 + . . . . 𝑎𝑛 𝑞 −𝑛
𝐵(𝑞) = 𝑏1 𝑞 −1 + 𝑏2 𝑞 −2 + . . . . 𝑏𝑚 𝑞 −𝑚
De estas dos últimas expresiones, 𝑞 es un operador de desplazamiento hacia a delante o hacia atrás
definidos como:
𝐵(𝑞) 1
𝑦(𝑡) = 𝐺(𝑞, 𝜃)𝑢(𝑡) + 𝐻(𝑞, 𝜃)𝑒(𝑡) ∴ 𝐺(𝑞, 𝜃) = ∴ 𝐻(𝑞, 𝜃) =
𝐴(𝑞) 𝐴(𝑞)
Cabe mencionar de esta expresión general de un modelo lineal (hay una suma de contribuciones tanto
de la entrada 𝑢(𝑡), como del ruido blanco 𝑒(𝑡)), donde la función de transferencia 𝐺(𝑞, 𝜃) involucra
Página 21 de 40
las propiedades dinámicas del sistema y el modelo de perturbación 𝐻(𝑞, 𝑡) las correspondientes al
ruido.
La regresión lineal correspondiente para la predicción de la salida con este modelo paramétrico está
dada por,
o mediante su equivalente,
Puesto que se requiere evaluar que tan acertado son los valores predichos por el modelo
identificado 𝑦̂{𝑡|𝜃}, comparados con los datos experimentales 𝑦(𝑡), se utiliza el error de predicción
o residuos definido como,
Finalmente, existe otro método para determinar estos coeficientes que en últimas es una variante del
método de los mínimos cuadrados,
2𝑑
𝐹𝑂𝐵𝐴𝐼𝐶 ( 𝑁𝑅, 𝜃) = (1 + ) 𝐹𝑂𝐵( 𝑁𝑅, 𝜃)
𝑁
donde el 𝐹𝑂𝐵𝐴𝐼𝐶 ( 𝑁𝑅, 𝜃) corresponde a la función objetivo del método de Akaike, 𝑑 el número de
parámetros ajustables del modelo y 𝑁 el número de datos, como antes.
Existe otras estructuras para estos modelos paramétricos tales como el ARMAX, ARARMAX, Box-
Jenkins, y otros. La estructura general de estos modelos es,
𝐵(𝑞) 𝐶(𝑞)
𝐴(𝑞)𝑦(𝑡) = 𝑢(𝑡) + 𝑒(𝑡)
𝐹(𝑞) 𝐷(𝑞)
𝐵(𝑞)𝐷(𝑞) 𝐴(𝑞)𝐷(𝑞)
𝑦̂{𝑡|𝜃} = 𝑢(𝑡) + (1 − ) 𝑦(𝑡)
𝐶(𝑞)𝐹(𝑞) 𝐶(𝑞)
Ejemplo: Exprese los siguientes modelos ARX en el dominio transformado utilizando la variable 𝑞.
Solución:
Utilizando la definición del operador 𝑞:
𝑞 −1 𝜗(𝑡) = 𝜗(𝑡 − 1)
Se tiene para cada término del modelo
𝑦(𝑡) + 𝑎1 𝑞 −1 𝑦(𝑡) + 𝑎2 𝑞 −2 𝑦(𝑡) = 𝑏1 𝑞 −1 𝑢(𝑡) + 𝑏2 𝑞 −4 𝑢(𝑡)
𝑦(𝑡)(1 + 𝑎1 𝑞 −1 + 𝑎2 𝑞 −2 ) = 𝑢(𝑡)(𝑏1 𝑞 −1 + 𝑏2 𝑞 −4 )
𝑦(𝑡) 𝑏1 + 𝑏2 𝑞 −3
= 𝑞 −1
𝑢(𝑡) 1 + 𝑎1 𝑞 −1 + 𝑎2 𝑞 −2
Se observa que este modelo tiene dos parámetros tanto para 𝐴(𝑞 −1 ), como también para 𝐵(𝑞 −1 ). De igual
forma, se observa que el sistema tiene un retardo de valor uno.
𝑦(𝑡) 𝑏1 + 𝑏2 𝑞 −1 − 𝑏3 𝑞 −3
= 𝑞 −2
𝑢(𝑡) 1 + 𝑎1 𝑞 −2 − 𝑎2 𝑞 −4 + 𝑎3 𝑞 −6
Este modelo tiene tres parámetros para 𝐴(𝑞 −1 ), y tres para 𝐵(𝑞 −1 ). El sistema tiene un retardo de valor
dos.
También resulta útil poder transformar un modelo discreto a uno continuo de una manera rápida. El ejemplo
siguiente ilustra cómo hacerlo.
Página 23 de 40
𝑞−1
𝐺(𝑧) =
𝑞 2 + 1.5𝑞 + 0.8
Ejemplo: Asumamos que tenemos de una base de datos compuesta de dos columnas: una para una entrada
variable en el tiempo y otra para una salida igualmente variante en el tiempo. Se requiere encontrar al menos
un modelo matemático que describa estos datos experimentales. Se propone probar un modelo ARX de la
forma
Como se observa, lo de menos es utilizar un software para resolver este tipo de problemas, pues es solo
aprender sus comandos y deja así de ser el objetivo del aprendizaje, aunque es una gran ayuda para economizar
tiempo.
Página 24 de 40
Otros modelos
La tabla 1 resume algunos de los modelos paramétricos SISO más usados, aunque existen muchos más
dependiendo del tipo de polinomios que utilice en su estructura. Es claro que se debe dentro de todo el
proceso definir el modelo, establecer el orden (grado) de cada uno de esos polinomios 𝐴(𝑞), 𝐵(𝑞), 𝐶(𝑞), 𝐷(𝑞)
y 𝐹(𝑞) , así como el eventual retardo entre la entrada y la salida en caso de existir.
BJ 𝐴(𝑞) = 1 𝐵(𝑞)𝐷(𝑞)
(Box- 𝐵(𝑞) 𝐵(𝑞) 𝐶(𝑞)𝐹(𝑞)
=
Jenkins) 𝐴(𝑞) 1
Página 25 de 40
Modelo OE
Modelo BJ
Modelo ARMAX
Figura 3. Diagramas de bloques de algunos modelos paramétricos lineales de una entrada-una salida.
En conclusión, hasta aquí tenemos claro que, durante el proceso de identificación paramétrica, se
debe elegir tanto el modelo (su estructura, esto es, ARX, ARMAX, BJ, etc.) como el orden (grado)
de cada uno de los polinomios que le correspondan a cada estructura elegida (A, B, C, D, F).
Seguidamente, se procede a estimar los parámetros ajustables que permiten el mejor ajuste
(predicción) de los datos experimentales con los del modelo obtenido. En la determinación de estos
parámetros del modelo (lineal e invariante en el tiempo con una entrada y una sola salida), se debe
en la mayoría de los casos realizarse con software propio o comercial dedicado a la IdS, esto a como
se dijo, se manejan relativamente grandes volúmenes de datos que impide hacerse en forma manual.
Hay otros factores que se deben tener presente durante la IdS, tales como la forma y metodología de
tomar los datos del sistema, elección de las señales que se van a medir, elección del tipo de entradas,
del periodo de muestreo, número de muestras que se deben adquirir, pre y post tratamiento de los
Página 26 de 40
Ejemplo: Ilustrar la presencia de ruido blanco en la señal de salida. Para este caso se muestra cómo podemos
adicionar ruido blanco en busca de una señal sintética distorsionada con un factor snr conocido.
Solución: Se utiliza el siguiente script para ilustrar la adición de ruido blanco a la señal de salida de un modelo.
clear all;clc
S = RandStream('mt19937ar','seed',5489); Se construyó entonces las figuras de abajo superponiendo a la
reset(RandStream.getGlobalStream) señal “pura” el ruido blanco (la función de Matlab awng).
y1 = sin(0:pi/32:6*pi);
y2 = awgn(y1,30,0,S);
subplot(2,1,1); A medida que se disminuye el escalar snr, (que define la relación
plot(y1);hold on;plot(y2) de señal a ruido de una muestra y expresado en Db), se crea
hold off mayor distorsión de la señal original. Cuando este valor está por
y3 = sin(0:pi/32:6*pi);y4 = awgn(y3,5,0,S); encima de los 50 dB su efecto es imperceptible.
subplot(2,1,2);plot(y3);hold on
plot(y4)
Herramienta de Identificación
Como se indicó desde un inicio, este libro no intenta volverse un manual de un software comercial o
propio. No obstante, es innegable la necesidad de utilizar el computador para las actividades de
modelado y simulación, y particularmente en la IdS que es una etapa eminentemente práctica. Por
esta razón se explicará en clase el uso de la System Identification Toolbox (MATLAB) un recurso
disponible actualmente en la universidad, teniendo como referencias los siguientes documentos:
a. Lennart Ljung, System Identification Toolbox for use with Matlab, User´s guide. The
MathWorks, www.mathworks.com
b. Lennart Ljung, System Identification Theory for the user, second Ed., Prentice Hall, 2012.
c. Diversos videos de YouTube y páginas web sobre identificación de sistemas.
Esta toolbox en particular se puede utilizar en forma directa mediante la interfaz con el usuario, o en
modo de comandos.
Como se observará, no es para nada complicado manejar este tipo de software (y aún más sencillo
con la interfaz gráfica) y aunque éste podrá generar una gran cantidad de gráficas muy bonitas, sin el
manejo conceptual apropiado, ellas y la demás información que brinda, no dejarán de ser meros
resultados. El análisis y uso de esta información es la esencia de saber hacer una correcta IdS.
El proceso: Para un sistema cuya respuesta en el tiempo está dado en la siguiente figura se requiere
construir su MoMa. Se sabe que el proceso es lineal e invariante el tiempo. De igual forma se sospecha
que el sistema es de cuarto orden.
Página 28 de 40
El Problema: Identificar el sistema proponiendo al menos un modelo lineal que pueda utilizarse para
describir su dinámica
Ejemplo: Grafique la totalidad de la información experimental que se utilizará en la IdS. Se tienen las entradas
(𝑢) y las correspondientes salidas del sistema (𝑦).
Solución: La siguiente figura muestra la salida para la entrada que varía como se indica. Una vez conocido
este comportamiento, se observa aparentemente que no hay datos eventualmente en extremo fuera de la
tendencia y que nos indujera a pensar que son errores en la medición o en los sensores.
Se utilizó la siguiente sección del script completo para realizar esta actividad:
%%%%%%%%%%
Load [y u] La figura seguida muestra los resultados de esta primera etapa orienta a
ejerdatos=[y u]; visualizar la tendencia de variación de los datos tomados. Para una entrada
figure
% idplot(ejerdatos) : versión del binaria de amplitud 20 como se indicada en rojo, el sistema responde de la
% comando obsoleta forma mostrada en negro.
plot(ejerdatos)
grid on
Página 29 de 40
Ejemplo: Divida la información experimental en una porción (50%) para ser utilizada en la identificación. El
otro 50% de ésta se utilizará para la etapa final de validación de los resultados de ese proceso de identificación.
Solución: Esta actividad se realizó con la siguiente porción del script completo:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% datos experimentales: una entrada, una salida (siso) Una vez se determina el número total de
% se dividen los datos en: identificación y validación datos, se procede a reorganizarlos en dos
Ndatos=length(y);
datosIDENT=[y(1:Ndatos/2) u(1:Ndatos/2)]; archivos. Para este caso se toma igual número
datosVALIDA=[y(Ndatos/2+1:Ndatos) u(Ndatos/2+1:Ndatos)]; de datos; el archivo completo se divide en
plot(datosIDENT) dos. La figura siguiente ilustra esta situación.
figure Otras alternativas resultan también valederas.
plot(datosVALIDA)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Página 30 de 40
Ejemplo: Elimine los niveles de continua de los datos experimentales utilizados en la IdS.
Solución: Para realizar esta operación se hace uso de otra función de ese software.
%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Se siguen analizando los datos experimentales recolectados Para realizar esta eliminación se usó esta
%ejerdatos2=detrend(ejerdatos) porción del script completo.
%plot(ejerdatos2)
%figure
% Se mantiene la información dinámica consignada
datosIDENT2=detrend(datosIDENT); en estos datos, habiéndose eliminado la
plot(datosIDENT2) componente estática (o continua).
figure
%
datosVALIDA2=detrend(datosVALIDA)
plot(datosVALIDA2)
grid on
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Como antes, se observa que se mantiene la información dinámica consignada, habiéndose eliminado la
componente estática (o continua). Compárese con los datos originales.
Página 32 de 40
Ejemplo: Para los datos que se utilizarán en la identificación realice el filtrado con dentro de las bandas [1, 200].
Grafique los resultados.
Solución:
%%%%%%%%%%%%%%%%%%%%%%%%%%%
% identificacin paramétrica. Filtrado de datos
datosIDENTF = idfilt(datosIDENT,[1 100]);
plot(datosIDENTF)
grid on
hold on
%figure
%datosIDENT2F = idfilt(datosIDENT2,[1 5])
%plot(datosIDENT2F)
%grid on
%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ejemplo: Encuentre los parámetros ajustables para los modelos lineales discretos AR, ARX, ARMAS BJ, y, OE.
Solución: Seguidamente aparece la porción del script requerido para encontrar cada uno de los parámetros
de los modelos:
%%%%%%%%%%%%%%%
th=ar(y,2);
present (th)
Página 33 de 40
%%
th=arx(datosIDENT,[2,2,2]);
present (th)
%%
th=armax(datosIDENT,[ 2 2 2 2]);
present (th)
%%
th=bj(datosIDENT,[2 2 2 2 2]);
present (th);
%%
th=oe(datosIDENT,[ 2 2 2 ]);
present (th);
%%%%%%%%%%%%%%%
Status:
Termination condition: Near (local) minimum, (norm(g) < tol).
Number of iterations: 10, Number of function evaluations: 21
Estimated using ARMAX on time domain data.
Fit to estimation data: 69.65% (prediction focus)
FPE: 2.727, MSE: 2.526
Status:
Termination condition: Near (local) minimum, (norm(g) < tol).
Number of iterations: 19, Number of function evaluations: 46
Parameterization:
Polynomial orders: nb=2 nf=2 nk=2
Number of free coefficients: 4
Status:
Termination condition: Maximum number of iterations reached.
Number of iterations: 20, Number of function evaluations: 41
Ejemplo: Compare la salida del modelo con uno que se asume, para propósitos ilustrativos, se conoce y asume
como real. Utilice los datos reservados para la validación y evalúe los residuos del modelo.
Solución:
Las figuras siguientes se realizaron con la porción del script adjunto,
En una IdS típica, después de realizar una la comparación entre la salida simulada y la real del sistema,
conviene realizar el cálculo de los errores de predicción de los modelos encontrados o del model óptimo,
la predicción de salidas futuras, así como el cálculo de residuos del o de los modelos.
A continuación, aparece un análisis de correlación de los residuos y entre la única entrada y los residuos de
la única salida:
Como otro criterio de validación, se calcula el error para el modelo identificado lineal ARMAX. La siguiente
figura ilustra este caso,
Página 37 de 40
Ejercicios propuestos
1. Para los siguientes datos se requiere ajustarlos con los modelos propuestos. Calcule el error medio,
máximo y el error cuadrático medio:
De los modelos de prueba siguientes, seleccione el que posea el menor error cuadrático medio. Grafique
los modelos junto los valores experimentales suministrados. Reporte algunas conclusiones.
Tiempo, s Distancia, m
𝑥𝑘 𝑦𝑘
1 2 𝑦(𝑡) = 𝑎𝑔𝑡 1/2 1 2 1
0.2 0.1960 𝑦(𝑡) = 𝑔𝑡 𝑦(𝑡) = 𝑔𝑡 + 𝑎 𝑦(𝑡) = 𝑔𝑡
2 2 2
0.3 0.4444
0.4 0.7835
0.5 1.3777
Página 38 de 40
0.6 1.7630 Utilice las siguientes definiciones para el cálculo de estos errores:
𝑵
1.0 4.8975 𝟏
𝑬𝒄𝒖𝒂𝒅.𝒎𝒆𝒅 = √ ∑|𝒇(𝒙𝒌 ) − 𝒚𝒌 |𝟐
𝑵
𝒌=𝟏
siendo:
2. Para la siguiente información experimental ajuste los modelos que se requieren probar. Grafique y
analice sus resultados:
𝑥𝑘 𝑦𝑘
-2.0 15.4500
0.0 0.30111 𝒇(𝒙) = 𝒂𝒆𝒃𝒙 𝒇(𝒙) = (𝒂𝒙 + 𝒃)−𝟐 𝒇(𝒙) = (𝒂𝒙 + 𝒃)−𝟏
0.5 1.37777
𝒇(𝒙) = 𝒂𝒙𝒃 𝒇(𝒙) = 𝒙(𝒂𝒙 + 𝒃)−𝟏 𝒇(𝒙) = 𝒂𝒙𝒆−𝒃𝒙
1.0 0.67000
1.5 0.44444 De igual forma determine los errores medio, máximo y el cuadrático medio. Define el
“mejor modelo” fundamentado en el valor de los errores.
2.0 0.15555
3.0 0.02222
4.0 0.00888
Página 39 de 40
3. Para la información experimental ajuste el mejor plano en el sentido de los mínimos cuadrados, y sus
tres errores definidos anteriormente,
𝑥𝑘 𝑦𝑘 𝑧𝑘
-1.0 13.4500 4.4567 También para los siguientes modelos determine sus tres
parámetros y los respectivos errores del modelo:
0.0 0.30111 3.3333
4. Para la siguiente información determine el mejor polinomio trigonométrico que los describe.
Grafique los resultados y determine los errores correspondientes,
𝑥𝑘 𝑦𝑘
-4.0 -1.7777
0.0 0.0000
1.0 0.2500
2.0 0. 5555
3.0 1.0222
4.0 1.8888
Página 40 de 40
6. Utilizando la internet y particularmente YouTube, siga los videos del uso los programas (toolbox) de
identificación de sistemas que posee MatLab.