universidad autónoma de yucatán

Anuncio
|
UNIVERSIDAD AUTÓNOMA DE YUCATÁN
FACULTAD DE MATEMÁTICAS
LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN
TRABAJO DE TESIS
Selección de métodos para el ajuste de parámetros en modelos
dinámicos de la producción bovina de engorda
POR:
P. DE LIC. EN CIENCIAS DE LA COMPUTACIÓN. ANTONIO ARTURO HERRERA CASTRO
ASESORES:
L.M. Salvador Medina Peralta
M.C. Luis Vargas Villamil
MÉRIDA, YUCATÁN,
(FMAT)
(FMVZ)
Este trabajo fue realizado como parte del proyecto 33722-B de la convocatoria CONACYT 2000
“Desarrollo de un modelo Dinámico para la Simulación de
la Producción Bovina de Carne en el Trópico”
A
Dios
Gracias por todo tu amor y todos tus favores, sin ti nada soy.
Mi Madre
Lo mejor de mi vida estuvo a tu lado, te quiero mucho y te admiro, si
estás orgullosa de mi ya soy la mitad feliz.
Pino
Gracias por estar con mi mamá en estos momentos
Rosa
Sabes que siempre te he querido y respetado, siempre serás mi segunda
mamá.
Mis hermanos Eduardo, Gabriel y Moisés
Por su ayuda, aunque no siempre haya sido voluntaria, los quiero mucho.
Esaú
Mi mejor mejor mejor compañero.
Aldo
Por tu amistad, compañía y todos los paseos divertidos.
A los grandes profesores que admiro y de quienes realmente aprendí
Silvia, Rodolfo Gamboa, Luis Reyna, Lucy Torres, Irma
Trejo, Eric Ávila, Celia, Juan Burgos, Alberto May, Madera, Raúl
Duarte, Martín Chi, Julio Díaz.
Todas las personas que me han dado un buen recuerdo
AGRADECIMIENTOS
Primero agradezco a Dios porque nunca me ha abandonado y nunca
me ha decepcionado, por regalarme tantas cosas hermosas y nunca
abandonarme aún cuando yo me olvidara de Él.
Gracias a mi mamá, que fue por quien estoy ahora terminando mi carrera.
Reconozco tu esfuerzo y tu lucha para sacarnos a todos adelante, los recuerdos que tengo
de mi infancia contigo son para mi un tesoro invaluable, nunca hiciste algo mal para mi,
eres la madre perfecta, cuando te encuentres frente a Dios en el cielo y te pregunte por
alguna buena obra, dile que mire mi Vida contigo y lo agradecido que estoy contigo, que
no tengo ningún reproche, ninguna inconformidad, absolutamente Todo te lo agradezco,
que yo soy testigo de tu inmenso amor. Este trabajo te lo dedico a ti má, te AMO.
Gracias a Rosa y a todos mis hermanos y hermanitos, abuelos y abuelas, tíos y
tías y cuñados y cuñadas, etc, que convivieron conmigo y me brindaron su compañía en
las buenas y en las malas, gracias a toda la familia Herrera Castro.
Gracias, muchas gracias a Aldo mi súper compañero, gracias por todas las cosas
tan importantes que hiciste por mi, por tu apoyo, tu amistad, tu cariño, gracias por
siempre estar dispuesto a ayudarme a superar mis obstáculos, por tu consuelo cuando
estaba deprimido y sobre todo por todo el valor que pusiste en mi. Y gracias a toda la
familia Millán Espinosa.
A mis dos súper asesores, Al inigualable Luis Vargas Villamil, a quien realmente
admiro su preparación, sus conocimientos, su capacidad, su paciencia, etc, gracias por tu
valiosa ayuda en este trabajo. Y al siempre atento Salvador Medina Peralta, amable y
responsable, gracias por todo el súper apoyo que siempre me brindaste, gracias por tu
disciplina que sin ella no hubiera podido lograrlo, y al mismo tiempo el ánimo que me
brindaste que me ayudó a tener más ganas de salir adelante. Gracias a los dos, hicieron
un excelente trabajo.
Al Dr. Luis Rodríguez, L.M. Alejandro Lara, Dr. Héctor Dumaine, Dr. Felipe
Vargas, Dr. D’Sainz, Dr. Óscar Soto y Dr. Juan Kú.
A las grandes personas me regalaron su amistad con sinceridad: A Mari,
Déborah, Judith, Aracelly, Omar, José Luis, Carlos y Arcángel.
A todas las muchachas de las secretarías, control escolar, contabilidad, centro de
cómputo y personal administrativo de la Facultad. Por su ayuda y buen trato siempre.
A quienes de una u otra forma contribuyeron en la realización de este trabajo.
♀∅ℵ√
ÍNDICE
página
1. Introducción --------------------------------------------------------------------------------------1
2. Objetivos ----------------------------------------------------------------------------------------18
3. Marco teórico -----------------------------------------------------------------------------------19
3.1. Modelo, pasos en la modelación matemática y ajuste de parámetros --------19
3.2. Mínimos cuadrados lineales y no-lineales ---------------------------------------27
3.3. Ajustes de modelos estáticos ------------------------------------------------------59
3.4. Ajustes de modelos empíricos -----------------------------------------------------75
3.5. Ajustes de modelos mecanísticos dinámicos ------------------------------------78
3.6. Ajustes de modelos de animal completo -----------------------------------------81
4. Resultados ---------------------------------------------------------------------------------------83
4.1. Ajuste de parámetros en un modelo estático ------------------------------------83
4.2. Ajuste de parámetros en un modelo empírico -----------------------------------90
4.3. Ajuste de parámetros en un modelo mecanístico dinámico ------------------103
5. Discusión --------------------------------------------------------------------------------------129
5.1. Ajuste de parámetros en un modelo estático -----------------------------------129
5.2. Ajuste de parámetros en un modelo empírico ---------------------------------130
5.3. Ajuste de parámetros en un modelo mecanístico dinámico ------------------131
6. Conclusiones y recomendaciones ----------------------------------------------------------135
7. Referencias ------------------------------------------------------------------------------------137
8. ANEXO ----------------------------------------------------------------------------------------142
1. INTRODUCCIÓN
Este trabajo de tesis forma parte del proyecto (clave 33722-B) CONACYT 2000,
denominado “Desarrollo de un Modelo Dinámico para la Simulación de la Producción
Bovina de Carne en el Trópico”, con la participación a nivel UADY de las facultades de
Matemáticas y Medicina Veterinaria, así como de la Universidad de California: Davis y
el Instituto Mexicano del Petróleo (IMP).
Los bovinos representan el 31 % de la producción de canal de productos pecuarios según
se calcula de datos obtenidos de la producción pecuaria en los meses de EneroAbril de 2002. La toma de datos, análisis y recomendaciones para este sector requieren
más que nunca de una metodología científica para su desarrollo. Debido a que las
características de la población, la inversión, y los fenómenos biológicos son procesos de
cambio es necesario estudiarlos como sistemas dinámicos (Vargas, 2002, datos sin
publicar). Las soluciones tienen que estar dadas reflejando la dinámica situación
agropecuaria, como reflejo de los cambios poblacionales, productivos, ambientales,
económicos, sociales y políticos que se viven tanto nacional como internacionalmente
(Vargas, 2002, datos sin publicar).
Según datos de 1991 la relación entre pastizales y cabezas de ganado nos indicaban lo
visto de manera empírica en nuestro país: los niveles bajos de remuneraciones en el
campo. Se necesitan estrategias nutricionales dinámicas para aprovechar los recursos
que modifican la producción como consecuencia de las variaciones existentes a lo largo
del año (Vargas, 2002, datos sin publicar).
Para que una estrategia sea adecuada necesita estar basada en el conocimiento
cuantitativo de las tendencias ante situaciones posibles; es decir de predicciones, por
ejemplo: el aumento del número de cabezas por hectárea mediante la mejora de la
eficiencia productiva traería por consecuencia mayores recursos al sector debido sobre
todo a un mayor número de cabezas enviadas al mercado y al aumento del interés de los
inversionistas. Sin embargo una mala estrategia en este sentido podría ocasionar un
aumento de la oferta de tal magnitud que ocasione que la eficiencia biológica no se
relacione a la eficiencia económica. Los modelos matemáticos nos permiten predecir
para tomar decisiones que mejoren el rendimiento animal (Vargas, 2002 datos sin
publicar).
Modelar la producción bovina de engorda es vital tanto para el investigador como para
el productor. La optimización del campo ante la competencia del exterior, como
consecuencia de la globalización, no puede ser lograda sin procedimientos que
cuantifiquen las ganancias y que nos permitan calcular el grado de variación en la
eficiencia al explorar las diferentes oportunidades que se presentan en la cambiante
situación del campo, uno de estos procedimientos es la construcción de modelos
matemáticos dinámicos.
En México, existe la carencia de un sistema de alimentación para bovinos en pastoreo, y
un sistema de alimentación podría mejorar la exactitud de los proyectos de inversión en
el campo y por ende el interés de los inversionistas en éste. Por todo lo anterior es
necesario conocer el alcance de los modelos aplicados actuales, que son las herramientas
para el desarrollo de la producción extensiva.
Una de las formas de modelar los procesos biológicos ha sido mediante la utilización de
la cinética enzimática en modelos de rumiantes. La cinética enzimática es el análisis
cuantitativo de cada uno de los factores que intervienen en el proceso de la reacción
enzimática, a nivel bioquímico y la cual tiene su influencia en todos los procesos
biológicos (Cornish-Bowden, 1988, Rawn, 1989).
En la actualidad, la base de la mayoría de los modelos dinámicos de producción bovina
descansa en las dos divisiones de la cinética enzimática: cinética de masas y en la
cinética de Michaelis-Menten (MM), es por eso que dichas cinéticas toman una
importancia considerable en el desarrollo de los trabajos enfocados a la producción
bovina. Debido a sus suposiciones, la cinética de Michaelis-Menten ha sido más
utilizado que la cinética de masas en procesos bioquímicos, de transporte, crecimiento
bacteriano, crecimiento animal y modelos de energía (Dijkstra, 1992 y Baldwin, 1995).
Por otro lado, en los diferentes modelos biológicos y modelos de animal-completo,
como son los modelos de rumiantes y de crecimiento, estas cinéticas son representadas
como sub-modelos que definen ciertas variables.
Sistema y Proceso
El modelador está interesado en entender como funciona un sistema particular, que
causa los cambios en el sistema, y la sensibilidad del sistema a ciertos cambios., así
como en predecir qué cambios podrían ocurrir y cuando. Según Giordano (1997) sistema
es una colección de objetos combinados con alguna interacción o interdependencia
regular. También, según Contreras (2002) es un conjunto de elementos que actúan
coordinadamente para realizar un objetivo determinado o un conjunto de objetos o
componentes relacionados entre si de una manera regulada para formar un todo
organizado (Harrington y Tumay, 2000). Un proceso en general es la operación que
conduce a un producto o resultado determinado (Contreras, 2002). específicamente, en
el contexto biológico proceso es una serie de actividades lógicas, relacionadas y
secuencialmente conectadas que ingresan un material, le añaden valor y producen una
salida(Vargas, 2002, datos sin publicar).
Un modelo es la representación matemática y esquemática de cualquier proceso y se
utiliza para representar el comportamiento de un sistema y de esta manera permite
predecir la respuesta del sistema. También, modelo matemático es la ecuación, o
conjunto de ecuaciones, que representan el comportamiento de un sistema. Un modelo
ayuda a comprender mejor el sistema y apoyar decisiones e implicaciones (France,
1984).
Según France (1984), los modelos pueden clasificarse como:
Modelos empíricos y modelos mecanísticos
Un modelo empírico principalmente describe el sistema al mismo nivel biológico que se
estudia, mientras que un modelo mecanístico intenta dar una descripción acompañada de
un razonamiento. Siempre es posible encontrar un modelo empírico que proporcione un
mejor ajuste a un conjunto de datos dados que un modelo mecanístico. Esto es debido a
que el modelo empírico contiene muy pocas restricciones, mientras que el modelo
mecanístico puede estar fuertemente condicionado por sus suposiciones, aún si éste
contiene parámetros más ajustables.
Modelos determinísticos y modelos estocásticos
Un modelo determinístico es el que realiza predicciones definidas por cantidades (tales
como el peso del animal, la producción de la cosecha o la precipitación), sin ninguna
variación o distribución de probabilidad asociada. Un modelo estocástico en cambio,
contiene además algunos elementos aleatorios o distribuciones de probabilidades dentro
del modelo.
Modelos estáticos y modelos dinámicos
Un modelo estático es aquél que no incluye al tiempo como variable. Cualquier
componente del comportamiento del sistema que sea específicamente dependiente del
tiempo es ignorado. Dado que todos los aspectos del mundo cambian a una razón u otra,
un modelo estático es siempre una aproximación (a una realidad continua), aunque
puede llegar a ser una aproximación muy buena. Por otro lado, en un modelo dinámico
es determinante la existencia de un cambio con el tiempo (Adler, 1998).
Parámetros y constantes
Los parámetros y constantes son cantidades que aparecen en las ecuaciones de un
modelo que no varían con el tiempo. Se acostumbra describir como constantes a las
cantidades que tienen determinados valores confiables y precisos, los cuales permanecen
iguales cuando varían las condiciones experimentales o por ejemplo, cuando el modelo
se aplica a diferentes partes de un organismo. El término parámetro en cambio, es
usualmente aplicado a cantidades cuyos valores son menos ciertos pero que se
mantienen constantes durante toda la corrida del modelo (France, 1984; Giordano,
1997).
Los valores de los parámetros a menudo varían con las condiciones experimentales, la
manera en que los organismos son preparados (o cultivados), el genotipo u otros
factores. Algunos o todos los parámetros pueden ser aproximadamente conocidos por
medio del papel que desempeña en el nivel en el cual las suposiciones del modelo son
hechas (France, 1984).
La estimación es el procedimiento estadístico que, a partir de los datos y la
especificación de un formato de modelo, proporciona estimaciones para los valores
constantes desconocidos (parámetros). Algunas veces, ciertos parámetros son
particularmente pobremente conocidos, es decir, los valores estimados no concuerdan
con la realidad del sistema por medio de los datos reales observados, y entonces se
puede desear corregir las salidas del modelo a los datos experimentales por medio del
ajuste de los valores estimados de los parámetros y observando la bondad del ajuste, a
este proceso se le conoce como calibración del modelo (France, 1984).
Ajuste de parámetros según France (1984), consiste en ajustar sus valores y condiciones
iniciales de tal manera que el modelo se comporte mas semejante al mundo real, pero
conservando la misma estructura y ecuaciones básicas. En cierta manera, el ajuste es la
medida que expresa hasta qué punto la solución explica los datos originales.
La bondad del ajuste es la medida de lo bien que se ajusta el modelo a los datos. Se basa
en los cuadrados de las diferencias entre las probabilidades observadas y las
pronosticadas. Un valor pequeño del nivel crítico del estadístico de bondad de ajuste
indica que dicho ajuste no es bueno (http://www.uv.es/~baeza/optimi.html, 2002).
Por otro lado, la predicción es la utilización de un modelo estimado para predecir
valores futuros de una serie, y el pronosticado, por lo tanto, es el valor que toma la
variable dependiente calculado a partir del modelo (Giordano, 1997).
Existen otras situaciones en el modelaje matemático que requieren que determinemos la
mejor o la óptima solución. El problema puede ser el de determinar el máximo beneficio
que una firma puede obtener o el de encontrar la suma mínima de las desviaciones
cuadradas entre un modelo ajustado y un conjunto de datos puntuales. El proceso de
encontrar la mejor solución a tales problemas se conoce como optimización, que es el
procedimiento no jerárquico de aglomeración que permite reasignar objetos a un
conglomerado distinto del original sobre la base de varios criterios globales de
optimización (Giordano, 1997) .
Ajustar una curva a un conjunto de datos puede decirse que consiste en expresar la
relación funcional por medio de una ecuación matemática. Generalmente se trata de
buscar una expresión matemática única que represente los valores de forma tan
exactamente como sea posible. Este constituye un problema difícil porque, entre otras
cosas, ajustar un número infinito de ecuaciones matemáticas diferentes a un conjunto
finito de observaciones es teóricamente imposible. Por lo tanto, deben buscarse algunos
otros criterios. Los dos más importantes son los de continuidad y simplicidad
(Montgomery y Peck 1992, http://www.fortunecity.com/campus/lawns/380/curvas.htm,
2002).
La continuidad se refiere a la creencia de que solamente hay una curva suavizada que
debe ajustarse mediante los puntos obtenidos experimentalmente. Esta suposición
obedece a dos razones: a) se requiere una ecuación única para ajustarse a los datos, y b)
la variación observada se debe, en parte, a la existencia de errores de observación y
muestreo. Es decir, hay cierta cantidad de error desconocido, asociado con cada
medición, y la curva continúa suavizada que obtenemos se diseña para que se aproxime
al resultado teórico en condiciones ideales y mediciones muy precisas. Tal curva teórica
es la comúnmente llamada curva de mejor ajuste. Esta expresión se usa en sentido
general y, por lo tanto, puede aplicarse tanto a líneas como a curvas.
En cuanto a la simplicidad, algunas ecuaciones son matemáticamente más simples que
otras, y es conveniente seleccionar la más simple y la que se acomode mejor a los datos.
Para que sirva de referencia, a continuación se anotan varios tipos de ecuaciones
comunes. Todas las letras de X y Y representan constantes. Las variables X a menudo se
conocen como variables independientes (VI) y las Y como variables dependientes (VD).
Y = a + bX
Línea recta.
Y = aX b
Curva potencial
Y = ab X
Curva exponencial
Y = a 0 + a1 X + a 2 X 2 + a 3 X 3 + ... + + a n X n Curva polinomial de grado n
Y = a + b(log X )
Curva logarítmica
Cuando el modelo ha sido cuidadosamente probado, y se encuentra libre de errores
matemáticos, computacionales y numéricos, entonces sus predicciones reflejan
verdaderamente las consecuencias de las suposiciones (biológicas, agriculturales,
empíricas) en las cuales se basa. El modelo puede ahora ser usado para cualquier
propósito para el que fuera planeado.
Análisis de sensibilidad
Un aspecto adicional de un modelo matemático es su resistencia a los errores en los
casos cuando no usamos exactamente los valores correctos de los parámetros. Muy a
menudo, no sabemos exactamente cual es el valor de un parámetro, entonces, mucho
menos conocemos cuanto estamos alejados de este valor real desconocido; suponiendo
que los valores estuvieran a una distancia muy pequeña de los valores reales (desviación
estándar pequeña, suma de cuadrados de los residuales pequeña, etc.), no podemos
suponer que por este hecho, las salidas estén en la misma proporción de cerca de las
salidas reales; de igual manera, suponiendo que los valores ajustados de los parámetros
están relativamente lejos de los valores reales, tampoco podemos suponer que las salidas
del modelo estarán igual de lejos; y todavía teniendo dos ajustes distintos y suponiendo
que los valores de uno estén mucho más cerca de los valores reales que el otro, no se
puede implicar que las predicciones del primer ajuste estarán mucho mas cerca que las
del segundo ajuste, esto se debe a la sensibilidad en el modelo; en muchas ocasiones
cuando se tiene una solución y se desea saber que ocurre alrededor de esta solución y
que ocurre con las salidas con estos valores, se realiza un análisis de sensibilidad, se
prueban valores distintos de los obtenidos, es decir, se hacen variar los valores de la
solución en el modelo para observar de que manera varían las salidas, y si lo hacen
demasiado o solo en una cantidad insignificante según los modeladores. Las salidas del
modelo son totalmente dependientes de los valores de los parámetros, pero en ocasiones,
las salidas no se ven afectadas significativamente cuando se hacen variar los valores de
los parámetros, se dice que el modelo no es sensible y podría decirse que existen varias
soluciones del modelo, ya que al variar los valores ajustados, se obtiene un nuevo vector
de valores que realizarán prácticamente la misma predicción que la primera solución, la
cual supuestamente era la que mejor se ha podido encontrar. Por el contrario, cuando el
modelo es sensible, si se hacen variar los valores de los parámetros, las salidas del
modelo sufren una variación considerable; cuando se tiene el ajuste, el que conozcamos
si un modelo es sensible o no, nos permite además tener una idea sobre la unicidad del
modelo, es decir, que tenga solución única. En el ajuste de curvas, lo que se pretende es
acercarse todo lo posible a cada uno de los datos, que el error sea mínimo; en estadística,
se desean obtener medidas de tendencia central y de desviación, para estudiar como se
comportan los datos de la muestra y concluir que de manera semejante se comportarán
todos los elementos de la población, dado que de esta se obtuvo la muestra de manera
representativa. Además que la ecuación que se escoja sería de acuerdo a la forma de la
distribución de los datos, siendo así un modelo empírico y perdiéndose cierta precisión,
es decir, las predicciones del modelo estarían probablemente lejanas hasta cierto punto
pero aceptables de los datos reales; ya que los modelos empíricos están fuertemente
guiados por los datos y se busca capturar la tendencia de los datos con el fin de predecir
mas que explicar . Entonces será conveniente que el modelo no sea sensible, para que se
pueda decir que los valores de los parámetros pueden tener cierto error sin que se afecten
las predicciones. Según Brown (1994), si el error que obtenemos en la estimación de un
parámetro afecta demasiado las salidas del modelo, entonces el modelo es de escaso
valor práctico, esto puede ser verificado por matemáticas o por simulación. Un modelo
matemático típicamente aproxima un problema bajo estudio. Por ejemplo, los
coeficientes en la función objetivo de un programa lineal pueden ser solamente valores
estimados. O la cantidad de recursos que restringen la producción disponible para la
administración puede variar, dependiendo del beneficio remunerado por unidad de
recurso invertido. de esta manera la administración desearía saber si el beneficio
adicional obtenido, justifica el costo de unidades de recurso adicionales invertidas. Si así
es, sobre que rango de valores para los recursos es válido el análisis? Por lo tanto,
además de resolver un programa lineal desearíamos saber que tan sensitiva es la solución
óptima a cambios en los coeficientes de la función objetivo y en la cantidad de recursos
disponibles (Giordano, 1997).
El método es muy simple: ajustar el parámetro en cuestión ligeramente y medir si las
salidas en la simulación del modelo cambia solo un poco. Si cambia muy poco, podemos
decir que el modelo no es sensible y sabemos que el margen de incertidumbre que rodea
al parámetro no está materialmente afectando los resultados; si este no es el caso, el
modelo se convierte en un modelo sensible y desde el punto de vista matemático, puede
necesitar ser reconsiderado (France, 1984, Giordano, 1997).
El análisis de sensibilidad por otra parte puede ser una herramienta para proporcionar
una medida cuantitativa de la unicidad del modelo importante en la modelación de los
procesos biológicos, ya que se trata de encontrar, además del ajuste de la curva de datos,
sobre todo el ajuste de los parámetros, ya que estos valores serán los que se utilicen
como entradas o como constantes conocidas en otros procesos biológicos, y estos
valores son los que realmente importan encontrar, ya que por mas complejo, mecanístico
o completo que esté un modelo, de nada servirá si no nos proporciona la información
que deseamos obtener. Los modelos matemáticos son una representación de la realidad,
éstos son desarrollados con una finalidad específica para ayudarnos a comprender las
relaciones existentes entre los datos y así mejorar nuestro conocimiento. Su objetivo es
llegar a conclusiones útiles, como es el mejoramiento de la situación del campo en este
trabajo, y esto se puede lograr a través del análisis de las relaciones en el rumen y el
animal. La modelación mecanística, como toda ciencia se basa en el método científico
para lograr sus objetivos. En este caso para que la metodología científica sea completa es
necesario que nos lleve de los datos obtenidos en el campo o laboratorio a modelos que
sean capaces, no solo de modelar el comportamiento animal, sino de describirlos con un
grado aceptable de precisión y de sensibilidad. Cuando la investigación de los procesos
es importante, como sucede en este trabajo, la sensibilidad del modelo se vuelve el
objetivo del proceso del modelado; ya que tanto la sensibilidad como la precisión tienen
que obtenerse a través de los procesos que dan lugar a dicho comportamiento. una
precisión alta obtenida con un modelo para un sistema animal en donde se describen las
relaciones biológicas solamente es útil, desde el punto de vista científico, si tenemos
cierto grado de certeza de que el modelo explica el comportamiento del sistema en base
a sus hipótesis incluidas dentro del modelo, entonces, es de mayor prioridad obtener
valores precisos, los mas cercanos a la realidad, que ajustar la curva sin restar
importancia a este (Vargas, 2002, datos sin publicar)
Si al afectar el valor del parámetro, las salidas del modelo se mueven significantemente,
esto puede indicar que nuestra solución es única, y por lo tanto, que los valores que
obtuvimos de los parámetros son hasta cierto punto únicos, de lo contrario, si al mover
los valores de los parámetros, las salidas no sufren una alteración significante, se
entendería que existen múltiples soluciones del problema y entonces nuestro modelo se
convierte en un montón de ecuaciones y suposiciones que no nos representa lo que nos
interesa, mientras mas única sea la solución, mas sentiremos que todos estamos
hablando de una misma cosa. El problema de la unicidad de los modelos es más
importante en este tipo de proyectos, si a un modelo se le detecta una multiplicidad de
soluciones, se puede pensar en reconsiderar dicho modelo (Vargas, 2002, datos sin
publicar).
Realizar un análisis de sensibilidad apropiado es una tarea que se enfoca mas para
modelos que son sumamente complejos, ya que se deben ajustar los parámetros
individualmente, de dos en dos, de tres en tres, etc., ya sea porque podría ser que el
parámetro llega a ser crítico solamente en un conjunto limitado de valores de los otros
parámetros (France, 1984, Giordano, 1997).
La importancia del ajuste de parámetros radica en que en el transcurso del proceso del
modelado representa la unión entre los datos y el modelo (Richter, 1990) y apoyan la
formación de los modelos fuera del mundo real, es decir, los modelos están construidos
en base a hipótesis hechas observando el mundo real, pero como se construyen fuera y
por que están fuera de este, se puede esperar que tal vez reproduzca el sistema de manera
parecida, pero igualmente pudiera reproducirla de una manera muy distinta, y con esta
incertidumbre y sin la presencia del ajuste de parámetros no se podría dar validez a los
modelos, ni relacionarlos con el sistema real. Los parámetros apoyan a la formación de
los modelos, los justifican y unen las estructuras y ecuaciones con los elementos del
mundo real puesto que sus valores se obtienen del sistema real, y por esto, logra que las
predicciones del modelo siempre se acerquen al valor del sistema con cierta precisión, y
si acaso no logran una predicción adecuada, entonces se decide modificar el modelo
analizando de nuevo el sistema y observando que es lo que puede estar pasando que no
se ha tenido en cuenta, y si es necesario introducir alguna nueva variable o algún nuevo
parámetro. Nunca se dice que la modelación no funciona porque está fuera del mundo
real y esto es gracias al ajuste de parámetros.
El ajuste de parámetros hace que construcciones de estructuras inexistentes, relacionados
solamente en suposiciones de lo que se modela, se conviertan en mecanismos que
describen el sistema y que sean útiles para predecir el comportamiento de los datos
reales del sistema, porque además de todo siempre se puede comprobar, siempre que el
modelo sea adecuado al sistema, las predicciones tenderán a los valores reales gracias al
ajuste de parámetros.
Por otro lado, la elección de un método para el ajuste de parámetros, tiene su
importancia en el hecho de que es fundamental contar con un modelo acorde a la
situación (o a los datos experimentales), y en este caso a la predicción de la producción
bovina de carne en el trópico. Para lograr lo anterior, es fundamental la selección de un
método para el ajuste de parámetros que nos permita, a través de un modelo matemático
enfocado a la producción, simular los diferentes procesos que modifican el aumento de
peso.
Debido a la importancia de todo lo anterior y a la necesidad de apoyar los proyectos de
investigación en el área de producción bovina de carne, en esta tesis se estudiaran
diferentes modelos y sub-modelos utilizados en la simulación de la producción bovina.
El objetivo es estudiar los conceptos sobre ajustes y recomendar un método para
establecer la metodología. De esta manera se tendrá la herramienta que no solo
permitirá un mayor alcance en cuanto a las deducciones e implicaciones en los
experimentos sino que facilitará otro vínculo fundamental en el área biológica y en
especial en la nutrición animal en cuanto a la relación de los trabajos experimentales
con el campo. La simulación del proceso de producción permitirá un mejor
conocimiento del aprovechamiento de los recursos, y esto a su vez, conducirá a la
optimización del campo con procedimientos que cuantifiquen las ganancias y permitan
el cálculo del grado de la variación en la eficiencia al explorar las diferentes
oportunidades.
Para todo lo anterior es necesario conocer mas sobre los ajustes de parámetros, pues
como se explicó antes, los métodos de ajuste es el punto clave para que nuestros
modelos funcionen, es decir, son los valores ajustados de los parámetros los que logran
que el modelo proporcione una adecuada predicción. Todavía existen mucho campo sin
estudiar sobre los ajustes, mucho por conocer y nuevas herramientas por descubrir para
facilitar los ajustes, solucionar los problemas con que se encuentran los modeladores
para ajustar parámetros en un modelo complejo. Este trabajo puede ayudar a conocer
mas sobre ajustes, plantea problemas encontrados comúnmente en la modelación y las
situaciones típicas encontradas en las modelaciones de los sistemas, las herramientas y
los métodos para combatirlos.
2. OBJETIVOS
2.1. Objetivo general
Selección de un método matemático para el ajuste de parámetros en un modelo dinámico para la simulación de la
producción bovina de engorda.
2.2.
Objetivos particulares
2.2.1.
Selección de métodos para el ajuste de un modelo estático.
2.2.2.
Selección de métodos para el ajuste de un modelo empírico.
2.2.3.
Selección de métodos para el ajuste de un modelo mecanístico dinámico.
3. MARCO TEÓRICO
3.1. MODELO, PASOS EN LA MODELACIÓN MATEMÁTICA Y
AJUSTE DE PARÁMETROS
Modelación Matemática
Muchas situaciones del mundo real pueden presentar problemas que requieran
soluciones y decisiones. Algunos de estos problemas tienen un aspecto matemático
relativamente simple, involucrando una matemática elemental, como por ejemplo:
•
El tiempo necesario para recorrer una distancia de 40 Km, manteniendo la
velocidad del vehículo de 80 Km por hora;
•
El interés que cobra una institución financiera por un determinado préstamo;
•
El área de un terreno de forma rectangular.
Otros problemas, en una determinada área del conocimiento, necesitan un análisis más
preciso de las variables involucradas, como:
•
La mejor manera de reducir el “retrabajo” en una fábrica. Es decir, “disminuir el
trabajo que excede de lo necesario mediante la combinación adecuada de valores
de parámetros”;
•
La cantidad permitida y el período apropiado para la caza de un animal predador
sin que esto interfiera en el ecosistema.
Cualquiera que sea el caso, la solución del problema requiere una formulación
matemática detallada (Salett, 1996).
Un conjunto de símbolos y relaciones matemáticas que traducen, de alguna manera, un
fenómeno en cuestión ó problema de situación real, lo denominamos Modelo
Matemático. La definición de modelo matemático según France (1984): “es una
ecuación, o conjunto de ecuaciones, el cual representa el comportamiento de un
sistema”.
En la ciencia, la noción de modelo es fundamental para la construcción y expresión del
conocimiento. En especial, la matemática permite la elaboración de modelos que
posibilitan una mejor comprensión, simulación y previsión del fenómeno estudiado.
Un modelo puede ser formulado en términos familiares, tales como: expresiones
numéricas ó fórmulas, diagramas, gráficos ó representaciones geométricas, programas
computacionales, etcétera.
El Modelaje Matemático es el proceso involucrado con la obtención de un modelo. Para
elaborar un modelo, además del conocimiento profundo de matemáticas, el modelador
debe tener una dosis significativa de intuición-creatividad para interpretar el contexto,
discernir qué contenido matemático se adapta mejor y sentido lúdico para jugar con las
variables involucradas (France 1984; Salett, 1996).
Pasos de la modelación matemática (Giordano, 1997)
1. A través de la observación, identificar los factores primarios involucrados en el
comportamiento del mundo real, posiblemente haciendo simplificaciones.
2. Conjeturar tentativas relaciones entre los factores.
3. Aplicar análisis matemáticos al modelo resultante.
4. Interpretar matemáticamente las conclusiones en términos del problema del mundo
real.
Figura 1. Proceso del modelado como un sistema cerrado.
La construcción del modelo tiene dos fines básicos: En primer lugar reproducir el
comportamiento del sistema y, en segundo, poder simular el comportamiento que el
sistema tendría frente a diversas hipótesis que pueden establecerse (cambios de los
parámetros que lo definen).
Los elementos estructurales básicos de un modelo son las variables o magnitudes cuyo
valor depende de una variable independiente, como por ejemplo el tiempo, los
parámetros o constantes y las funciones o relaciones funcionales de las variables entre sí
y de éstas con los parámetros (Brown, 1994).
Para la construcción de un modelo se necesita tener un conocimiento detallado tanto de
cada una de las partes individuales que forman el sistema como de las interacciones
existentes entre ellas, aproximándose tanto más el modelo a la realidad cuanto más
detallado sea dicho conocimiento. Sin embargo, en muchos casos, para que un modelo
sea manejable es necesario renunciar a algunos elementos que componen el sistema y/o
a algunas de las interrelaciones entre ellos (France, 1984; Giordano, 1997).
Si los elementos que se han conservado y las interrelaciones que se han establecido son
correctas y abarcan los aspectos más relevantes del sistema, el modelo será útil. Por el
contrario, si se han identificado incorrectamente los elementos, o han sido mal definidos,
o si se han olvidado algunas de las relaciones importantes, el modelo estará deformado y
será inútil. Así pues, puede decirse que la clave para la construcción de un modelo
radica, esencialmente, en identificar de manera adecuada y sin ambigüedades los
elementos cruciales, definirlos de forma precisa y operativa y establecer las principales
relaciones entre ellos (Giordano, 1997).
Ajuste de Parámetros
Los “parámetros de un modelo” son aquellos valores desconocidos que relacionan dicho
modelo (abstracto) con la realidad. Pueden tomar sus valores numéricos (estimados) de
un rango amplio de números reales. El valor que le proporcionemos, aproximado al
valor real desconocido, dependerá de las circunstancias particulares del sistema y del
método de ajuste que utilicemos. Los parámetros son a menudo, vistos como
“constantes que pueden cambiar”. En el mundo real, los parámetros son constantes; no
pueden conocerse con precisión su valor real; es por eso que, en este sentido, son
cambiantes (Brown, 1994).
La estimación de parámetros es un sinónimo de los procedimientos estadísticos y
numéricos, utilizados para obtener valores numéricos razonables de los parámetros en
los modelos; valores basados en los datos observados (France, 1984; Richter, 1990).
El método clásico es la técnica de Regresión Lineal debido a su fácil manejo en el que
los estimadores son calculados con una fórmula simple. La Regresión Lineal ha sido
establecida, desde hace mucho, como una herramienta conveniente para el análisis
biológico de los datos. Sin embargo, el amplio uso de la Regresión Lineal ha conducido
a un sobre-énfasis de las relaciones lineales. En la naturaleza, la mayoría de las
relaciones son no lineales y la linearización no es sino una aproximación a ella, con un
limitado alcance (Richter, 1990).
La regresión constituye un caso particular de un tipo de problema más general, donde se
buscan los valores de los parámetros que dan lugar a las mejores respuestas, y que se
denomina optimización. El término optimización se aplica a aquellos casos en que se
maximiza o minimiza la función objetivo, mientras que se reserva el término regresión
para aquellos casos en los que la función objetivo mide la bondad del ajuste a una
segunda función. En un problema de regresión se requiere siempre la definición
matemática de la función a ajustar; en un problema de optimización no es necesario este
conocimiento, aunque sí es conveniente para hacer más eficiente la resolución
(http://www.uv.es/~baeza/optimi.html).
Los problemas de optimización, por comodidad, se suelen enfocar sólo hacia búsquedas
de mínimos. Cualquier máximo de la función modelo se puede considerar siempre como
el opuesto de un mínimo, lo que permite la búsqueda de máximos con los mismos
algoritmos que para mínimos: simplemente basta con cambiar el signo de la función
objetivo. En los problemas de optimización es frecuente encontrar funciones que
contengan varios máximos y mínimos. Se considera óptimo al más favorable de los
mínimos relativos (o máximos, si se maximiza la respuesta), de entre todos los
encontrados en el espacio de los parámetros. En general, el más favorable suele ser el
más profundo de todos los mínimos o el máximo más elevado, aunque en algunas
ocasiones hay que tener en cuenta otros factores que consideren la realidad experimental
antes de su elección (http://www.uv.es/~baeza/optimi.html).
El ajuste de parámetros proporciona la conexión entre los datos y el modelo. Sin
embargo, la aplicación exitosa de estos métodos demanda un diseño experimental
apropiado. La estructura de los datos y la estructura del modelo deben ajustarse juntos.
Esto solamente puede ser logrado por medio de una cooperación muy estrecha entre los
experimentadores y los analistas de los datos ó modeladores, respectivamente. Aún si el
proceso es completamente determinístico, las mediciones están sujetas a errores. En este
punto, una parte estocástica ha de ser incluida en el modelo (Richter, 1990 y Baldwin
1995).
El Ajuste de parámetros según France (1984), consiste en ajustar sus valores y
condiciones iniciales de tal manera que el modelo se comporte mas semejante al mundo
real, pero conservando la misma estructura y ecuaciones básicas. En cierta manera, el
ajuste es la medida que expresa hasta qué punto la solución explica los datos originales.
La cinética enzimática
El forraje es el principal recurso que tienen los rumiantes para su desarrollo, estos
animales transforman los forrajes mediante la fermentación bacteriana a productos
aprovechables por el animal como son los ácidos grasos volátiles (AGVs) y la biomasa
(M). El consumo y la digestión inician dicha transformación y los procesos biológicos
involucrados dentro del rumen son los que determinan esta dinámica (Vargas, 2002,
datos sin publicar).
Por tanto, para considerar un modelo dinámico para el desarrollo del animal, tienen que
considerarse los procesos biológicos, y particularmente los procesos microbianos. Una
de las formas de modelar los procesos biológicos ha sido mediante la utilización de la
cinética enzimática en modelos de rumiantes. La cinética enzimática es el análisis
cuantitativo de cada uno de los factores que intervienen en el proceso de la reacción
enzimática, a nivel bioquímico y la cual tiene su influencia en todos los procesos
biológicos (Cornish-Bowden, 1988, Rawn, 1989).
En la actualidad, la base de la mayoría de los modelos dinámicos de producción bovina
descansa en las dos divisiones de la cinética enzimática: cinética de masas y en la
cinética de Michaelis-Menten (MM), es por eso que estas cinéticas toman una
importancia considerable en el desarrollo de los trabajos enfocados a la producción
bovina (Dijkstra, 1992 y Baldwin, 1995). Por otro lado, en los diferentes modelos
biológicos y modelos de animal-completo, como son los modelos de rumiantes y de
crecimiento, estas cinéticas son representadas como sub-modelos que definen ciertas
variables.
Los estudios sistemáticos del efecto de la concentración de sustrato sobre la actividad
enzimática comenzaron a realizarse a finales del siglo XIX. En 1882 se introdujo el
concepto del complejo enzima-sustrato (Rawn, 1989). Idea que resultó crítica para el
desarrollo de la cinética enzimática. En 1913, Michaelis y Menten desarrollaron la teoría
sobre la formación de un complejo enzima-sustrato (esencial para la catálisis enzimática)
y propusieron una ecuación para la velocidad enzimática. Esta teoría, al enfocarse a
nuestras propias hipótesis, logra ser una herramienta muy importante para el desarrollo
del proyecto en lo que respecta al ajuste de los parámetros (Rawn, 1989).
Entre los estudios que se han hecho sobre la estimación de parámetros para modelos
estáticos se encuentran los trabajos de Michaelis-Menten y en los últimos años para
modelos dinámicos están los trabajos de Michael (1980), Elliot (2000), Mander (1999),
Jiang (2000), Mac William (1998).
Por otro lado, existen también modelos sobre
aspectos biológicos, los cuales también pueden ser analizados y modificados
adecuándolos a nuestras condiciones y necesidades sobre el estudio de ajustes de
parámetros.
3.2. MÍNIMOS CUADRADOS LINEALES Y NO-LINEALES
Es más fácil ilustrar el método de estimación de parámetros, primero que nada, usando
el ejemplo del ajuste de una línea recta, antes de introducir cualquier principio general.
El principio de mínimos cuadrados
El método de mínimos fue descubierta independientemente por los matemáticos Gauss y
Legendre hace cerca de 200 años y se basa en el ajuste de la línea recta a una colección
de datos. Hoy es ampliamente usado por la Teoría de Ajuste de Modelos (Montgomery
y Peck 1992).
La ecuación de la línea recta es de la forma y = αx + β + ε donde los parámetros
desconocidos son α, la pendiente de la recta (única en el sentido de que cualquier par de
puntos de la recta determina el mismo cociente de α) y β, la ordenada al origen o
intercepto (ordenada del punto de intersección de la recta con el eje y). ε es el error o
imprecisión de la predicción. Cuando se propone un modelo (expresión) para ciertos
datos experimentales, puede suceder que el más adecuado sea una línea recta o bien que
se pueda transformar, mediante alguna operación, en recta; en tal caso se dice que el
modelo es intrínsecamente lineal y sus parámetros se buscan usando mínimos cuadrados
sobre una recta (Gutiérrez, 1998).
El razonamiento general, discutido usando el ejemplo del modelo de la línea recta, se
tomará de Montgomery y Peck 1992, Brown, 1994 y Giordano 1997 y se explica
brevemente como sigue.
Cuando ajustamos un modelo, intentamos descomponer cada valor y de los datos (cada
“y observada”) en dos partes, una “y ajustada” reflejando la línea recta principal, y un
“residual” representando las salidas aleatorias (variaciones) de ella:
y observada = y ajustada + residual
Los valores ajustados deben acercarse a la línea o curva, y los residuales son obtenidos
de la diferencia entre los valores ajustados y los observados. En cualquier procedimiento
de modelación usualmente deseamos representar lo más que sea posible la variación
total o conjunta de las variables y, como debida a la parte determinística. Por lo tanto,
queremos ajustar los valores de tal manera que los residuales sean lo más pequeños
posibles en promedio. El objetivo no será minimizar el residual de todos y cada una de
las observaciones por separado, o para alguna observación particular, sino siempre en
promedio. Por lo tanto, se necesita encontrar alguna manera de sumar los residuales de
una manera representativa. Tomando la suma aritmética simple:
(y1 – y1 ajustado) + (y2 – y2 ajustado) + . . . +(yn – yn ajustado)
no funcionaría porque residuales negativos y positivos podrían cancelarse uno con otro,
y esta no sería representativa de los errores de ajuste. Podríamos tomar la desviación
absoluta de la diferencia entre los datos y la línea ajustada.
| y1 – y1 ajustado | + | y2 – y2 ajustado | + . . . +| yn – yn ajustado |
pero esto, teóricamente no es conveniente, ya que no resulta en una fórmula simple para
estimar, y por lo tanto, no es fácil de implementar en un programa de computadora. El
método más útil es la suma de los cuadrados de las diferencias
(y1 – y1 ajustado)2 + (y2 – y2 ajustado)2 + . . . +(yn – yn ajustado)2
Éste es conocido como el criterio de los mínimos cuadrados.
El criterio de los mínimos cuadrados para estimar parámetros
Las estimaciones de los parámetros de un modelo por mínimos cuadrados, son obtenidas
de la minimización de la suma de las desviaciones cuadradas de las observaciones y la
línea o curva ajustada. Es decir, minimizando:
n
(
S = ∑ y i observado − y i ajustado
i =1
2
) = ∑ (y
n
i
− α − βxi )
2
i =1
donde:
S es la suma de los cuadrados de las diferencias entre los datos observados y los
ajustados.
y i es el i-ésimo dato real.
ŷ i es el i-ésimo dato ajustado.
(1)
α y β son los parámetros que se van a ajustar.
n es el número de observaciones.
Las condiciones necesarias para esto, son que las derivadas parciales de S, respecto a α
y β, sean iguales a cero. Al derivar S, e igualar a cero para hallar los mínimos, se
determinan los valores de los parámetros α (ordenada al origen) y β (pendiente) de la
recta ajustada no paralela al eje Y.
Estimador de la ordenada al origen:
_
_
αˆ = y − βˆ x
_
(2)
_
Donde x e y son los promedios de los valores x e y.
Estimador de la pendiente:
n
βˆ =
_
_
∑ ( xi − x)( y i − y)
i =1
n
∑ (x
_
i
− x)
2
i =1
o bien, según Montgomery y Peck 1992:
(3)
n
αˆ =
n
n
i =1
i =1
i =1
i =1


n∑ x i2 −  ∑ x i2 
i =1
 i =1 
n
n
βˆ =
n
∑ xi2 ∑ y i − ∑ xi ∑ xi y i
n
n
2
n
n∑ x i y i − ∑ xi ∑ y i
i =1
i =1
i =1


n∑ x i2 −  ∑ x i2 
i =1
 i =1 
n
(4)
n
2
(5)
La primera expresión de β̂ muestra que la pendiente estimada es una función que
depende solamente de las desviaciones de las observaciones de sus medias. Las medias
de x e y no entran de otra manera en la estimación de β aparte de esa, como podría
haberse esperado (Brown, 1994).
El método de los mínimos cuadrados es el más simple y el más usado en muchos
modelos lineales en los parámetros, estos son los modelos cuyas ecuaciones contienen a
los parámetros únicamente en forma multiplicativa o aditiva. Es un método clásico de
ajuste de parámetros típicamente visto en modelos estáticos, y muy utilizado en la
regresión. Si un modelo es una ecuación de una recta o puede transformarse en una,
puede fácilmente ajustar sus parámetros por este método (Draper, 1981, Montgomery y
Peck, 1992).
Un modelo es lineal porque los coeficientes desconocidos aparecen en forma lineal, es
decir, como constantes aditivas o multiplicativas (de los valores) de las variables
predictorias (x). El término lineal se aplica a los coeficientes de regresión desconocidos,
no a la respuesta (variable dependiente) ni a las variables predictorias (variables
independientes).
La forma general de un modelo lineal en los parámetros es la siguiente:
y = β 0 + β 1 x1 + β 2 x 2 + ... + β k x k + ε
donde se pueden apreciar los parámetros (β0, β1, β2, . . . , βk) en forma multiplicativa o
aditiva exclusivamente (Montgomery y Peck, 1992)
Si el modelo que se propone no es intrínsecamente lineal, es decir, que no es lineal en
los parámetros ni se puede llevar a ella, entonces el ajuste para obtener los parámetros
es no lineal (Draper, 1981).
Un modelo es no-lineal en los parámetros cuando uno o más de los coeficientes de
regresión (parámetros) no aparecen como constantes aditivas o multiplicativas de las
variables independientes. Ejemplos:
Y = β 0 + β 1 x1
β2
+ε
Y = β 0 + β 1 ( x − β 3 ) −1 + β 2 ( x − β 3 ) −2 + ε
ln Y = β 0 + β 1 x1 + β 2 Sen
x2
β4
+ β 3Cos
x2
β4
+εj
Usualmente, los parámetros desconocidos β i son los que en estadística se denominan
coeficientes de regresión.
La estimación es el proceso de ajustar un modelo matemático a un conjunto de
información experimental para determinar parámetros desconocidos en el modelo. Los
parámetros son elegidos de tal manera que las salidas del modelo sean los más
coincidentes en algún sentido con los datos observados (Montgomery y Peck, 1992).
Habiendo encontrado valores precisos de los parámetros estimados, los investigadores
pueden diferenciar entre situaciones similares superficialmente, o pueden realizar
predicciones precisas del comportamiento del modelo estudiado (Montgomery y Peck,
1992).
Esta idea del mejor ajuste es un poco como los observadores de una playa decidiendo si
un barco distante en el horizonte es un lujoso barco de pasajeros o un buque de carga, el
color del casco del barco, la presencia o ausencia de mástil y otras características del
barco observado son comparadas con las de los tipos conocidos de naves hasta que se
encuentra la comparación más acertada. El proceso de estimación es a menudo no lineal
porque los datos observados no varían en proporción directa a los parámetros en
cuestión.
El problema de Marquardt
Donald Marquardt fue motivado a desarrollar su técnica de estimación no lineal debido a
los problemas que encontró en su propio modelo. Uno de esos problemas involucraba
ajustar el modelo de Van Laer de la presión del vapor por la temperatura para determinar
el comportamiento de los sistemas a temperaturas intermedias para aquellos en los
cuales la información fuese recopilada (Davis, 1993).
No-linealidad inevitable
Eventualmente, lo que vino a ser conocido como el método de Levenberg-Marquardt
para estimación no-lineal fue encontrado útil, en palabras del mismo Marquardt, en
"cientos y cientos de aplicaciones debido a que era una técnica que funcionaba en la
mayoría de los problemas de no-linealidad la mayoría de las veces. Ésta confiabilidad
práctica del método – su habilidad de converger mucho más rápido de un rango más
amplio de suposiciones iniciales que los otros métodos típicos- es un factor a favor de su
continua popularidad".
Marquardt explica que en febrero de 1953 se unió a un grupo consultor en DuPont, "la
primera organización de investigación de ingeniería química.” En ese tiempo, sugiere,
las demandas de modelación de ingeniería iban más allá de las capacidades
computacionales actuales: “Aunque la estimación que involucraba modelos lineales
apenas se empezaba a usar, todos los modelos de ingeniería eran no-lineales (Davis,
1993).
El problema computacional consiste en buscar el mínimo de la función costo. La función
costo más común es la suma de los cuadrados de las diferencias entre los datos actuales
y los valores predichos por la actual elección de la estimación de parámetros. El punto
más bajo en ésta área corresponde al mayor estimador de los parámetros desconocidos.
Dado que los problemas son no lineales, la búsqueda del mínimo es siempre iterativa
(Davis, 1993).
Marquardt comenzó a observar un problema geométrico genérico: Métodos como el
Descenso más inclinado el cual seguía el gradiente a través del área de la función costo,
marchaba en una dirección que resultaba casi ortogonal a la de los métodos de las series
de Taylor, los cuales linealizaban la función costo. Éste conflicto geométrico era una
consecuencia de los largos y estrechos valles en forma de bananas de la función costo.
El método ideal debería encontrar un ángulo de descenso intermedio entre éstos dos
extremos. Al mismo tiempo, el tamaño del paso requeriría ajuste para prevenir pasar a
través del valle y perder totalmente la superficie donde los mejores valores de los
parámetros descansan (Marquardt, 1963, Davis, 1993).
El término diagonal
Eventualmente, Marquardt se dio cuenta que estos objetivos podían ser integrados
añadiendo un parámetro debidamente calibrado a la diagonal del sistema de ecuaciones
definiendo las iteraciones. Levenberg 1944, cuyo primer trabajo le era desconocido a
Marquardt en ese tiempo, proporcionó una motivación intuitiva para éste término
diagonal al derivarlo con el argumento de que un escalón linealizado demasiado grande
debería compensar la reducción aparente en la función costo.
Pero la extraordinaria efectividad de la aproximación de Marquardt dependió de dos
características particulares que estuvieron ausentes en el primer trabajo de Levenberg.
Primero, a diferencia de Levenberg, Marquardt no insistió en encontrar un mínimo de la
función costo en cada iteración. De esta manera evitó la relativamente lenta
convergencia a menudo encontrada en las técnicas del Descenso más inclinado, mientras
trabajaban en sus sistemas a lo largo de estrechos caminos en zigzag, pasando y
repasando la base del valle en forma de banana en la superficie de la función costo.
Segundo, y de igual importancia, Marquardt implementó su método en Fortran y lo
probó “en un gran número de problemas.” Su código contenía una característica
particular, mencionada solamente en un largo pie de página en su artículo de 1963, que
trataba casos en los cuales el parámetro diagonal había crecido irrazonablemente
(Marquardt, 1963, Davis, 1993).
“Mucha gente que inicialmente programaba el método había omitido el paso descrito en
el pie de página en el software de su computadora,” Marquardt explica, “pero es
demasiado crítico. El algoritmo no está completo sin esto. No obstante, yo distribuí
muchos cientos de copias del código que probé. Estoy convencido de que esta técnica no
habría recibido tanta atención sin el código en Fortran. Y creo que es aún hoy verdad
que los buenos resultados no reciben la atención que merecen si no vienen acompañados
de un buen código.”
MÉTODO DE GAUSS-NEWTON
El problema computacional mas a menudo encontrado en el ajuste de parámetros es
concerniente a algún problema de mínimos cuadrados no-lineales: encontrar θ para
minimizar
n
2
S (Θ ) = ∑ [ yi − f i (Θ )] = y − f
2
(6)
i =1
Algunos algoritmos han sido desarrollados los cuales desarrollan la estructura general de
(6) como una suma de cuadrados. Estos algoritmos están basados sobre una
modificación al método de Newton introducido por Gauss en 1809 y conocido como el
algoritmo de Gauss-Newton (Seber, 1989).
Sea el modelo a ser ajustado a una colección de datos:
E ( y ) = f ( x1 , x 2 ,..., x m ; β 1 , β 2 ,..., β k ) = f ( x, β )
(7)
donde x1 , x 2 ,..., x m son las variables independientes del modelo, β 1 , β 2 ,..., β k son los
valores poblacionales de los k parámetros, y E(y) es el valor esperado de la variable
dependiente y. Sean los datos denotados por:
( y i , X 1i , X 2i ,..., X mi ),
i = 1,2,..., n.
el problema es ajustar esos estimadores de los parámetros los cuales minimicen:
n
2
Φ = ∑ [ y i − yˆ i ] = y − yˆ ,
2
yˆ i = f ( x, β )
(8)
i =1
Las barras dobles representan el valor absoluto del vector, o bien, la abreviación de las
sumatorias.
Donde ŷ i es el valor predicho de y por f ( x, β ) en el i-ésimo punto observado. Cuando f
es lineal en las β’s, las curvas de nivel de Φ son elipsoidales, mientras que si f es nolineal, las curvas de nivel se deforman, de acuerdo a la severidad de la no-linealidad.
Aún en los modelos no-lineales, sin embargo, las curvas de nivel son aproximadamente
elípticas en la vecindad inmediata del mínimo de Φ. Típicamente la superficie de nivel
de Φ está muy atenuada hacia alguna dirección y alargada en otras de tal manera que el
mínimo descansa en el fondo de un canal curvo alargado (Marquardt, 1963 y Seber,
1989).
La función f puede ser escrita por medio de la serie de Taylor como sigue:
( )
f i (Θ ) ≈ f i Θ
(a )
( )(
∂f i Θ (a )
+
Θ − Θ (a )
∂Θ′
)
(9)
Usando (9) en (6), el problema de minimización fue convertida en un problema de
mínimos cuadrados lineales (Seber, 1989), el cual consistiría ahora en minimizar
(
r (a ) − F. ( a ) Θ − Θ (a )
Donde
)
2
(10)
,
r (a ) = y − f (Θ (a ) ) y F. (a ) es ∂f
∂Θ′ evaluada en Θ (a ) . Ahora (10) tiene
solución
(
′
Θ − Θ (a ) = F. (a ) F. (a )
)
−1
′
F. (a ) r (a )
(11)
conduciendo al algoritmo de Gauss-Newton
Θ (a +1) = Θ (a ) + δ (a ) ,
(12)
donde
(
′
δ (a ) = F•(a ) F•(a )
)
−1
′
F•(a ) r (a )
(13)
A continuación se presenta el pseudocódigo del método de Gauss-Newton de mínimos
cuadrados no-lineales con un balance relativo de criterio de convergencia extraído de
Bates (1988).
Inicializar CONTADOR_DE_ITERACIÓN(0) y el FACTOR_DE_AVANCE λ=1
REPETIR {
Incrementar CONTADOR_DE_ITERACIÓN
Marcar ERROR y TERMINAR si el máximo número de iteraciones ha sido
excedido
EVALUAR los residuales y las derivadas
Descomponer las derivadas en QR
Marcar ERROR y TERMINAR si R es computacionalmente singular
Sobrescribir los residuales por QTz
Resolver para δ
EVALUAR el CRITERIO de convergencia
TERMINAR NORMAL si (CRITERIO < TOLERANCIA)
REPETIR {
EVALUAR los residuales en θ+λδ
SALIR del ciclo si ( S(θ+λδ) < S(θ) )
Halve λ
Marcar ERROR y TERMINAR si (λ < mínimo permitido)
}
Sobrescribir S(θ) con S(θ+λδ)
Sobrescribir θ con θ+λδ
Duplicar λ a un máximo de 1
}
MÉTODO DE MARQUARDT
Sea el modelo a ser ajustado a una colección de datos:
E ( y ) = f ( x1 , x 2 ,..., x m ; β 1 , β 2 ,..., β k ) = f ( x, β ) ,
(14)
donde x1 , x 2 ,..., x m son las variables independientes del modelo, β 1 , β 2 ,..., β k son los
valores poblacionales de los k parámetros, y E(y) es el valor esperado de la variable
dependiente y. Sean los datos denotados por:
( y i , X 1i , X 2i ,..., X mi ),
i = 1,2,..., n.
el problema es ajustar esos estimadores de los parámetros los cuales minimicen:
n
2
Φ = ∑ [ y i − yˆ i ] = y − yˆ ,
2
yˆ i = f ( x, β )
(15)
i =1
Las barras dobles representan el valor absoluto del vector, o bien, la abreviación de las
sumatorias.
Donde ŷ i es el valor predicho de y por f ( x, β ) en el i-ésimo punto observado. Cuando f
es lineal en las β’s, las curvas de nivel de Φ son elipsoidales, mientras que si f es nolineal, las curvas de nivel se deforman, de acuerdo a la severidad de la no-linealidad.
Aún en los modelos no-lineales, sin embargo, las curvas de nivel son aproximadamente
elípticas en la vecindad inmediata del mínimo de Φ. Típicamente la superficie de nivel
de Φ está muy atenuada hacia alguna dirección y alargada en otras de tal manera que el
mínimo descansa en el fondo de un canal curvo alargado (Marquardt, 1963).
La función f puede ser escrita por medio de la serie de Taylor como sigue:
 ∂f
Y (X i , b + δ t ) = f (X i , b) + ∑  i

j =1  ∂b j
k

(δ t ) j


(16)
o bien
Y = f 0 + Pδ t
f0 es la función evaluada con valores de parámetros iniciales.
(17)
en (16), β es reemplazada notacionalmente por b, el valor convergente de b ha de ser el
estimador por mínimos cuadrados de β. El vector δt es un pequeño corrector de b, con el
subíndice t usado para designar δ como calculada por el método de las series de Taylor.
Los paréntesis
son usados para distinguir las predicciones basadas del modelo
linealizado de aquellas basadas en el actual modelo no-lineal, de este modo el valor de Φ
predicho por (17) es
n
Φ = ∑ [Yi − Yi
2
]
(18)
i =1
Ahora, δt aparece de manera lineal en (17), y por lo tanto puede encontrarse por medio
del método de mínimos cuadrados estándar al hacer ∂⟨Φ⟩ / ∂δj = 0, para toda j. De esta
manera δt se halla resolviendo
A δt = g
Donde
A[kxk] = P T P ,
 ∂f
P [ nxk ] =  i
 ∂b
 j

,


el superíndice T denota matriz transpuesta.
i = 1,2, ... , n; j = 1, 2, ... , k,
(19)
g
[ kx1]
 n
∂f
=  ∑ (Yi − f i ) i
 i =1
∂b j


,


j = 1, 2, ... , k,
= P T (Y − f 0 )
El método por series de Taylor muy usado en 1963 tenía la ventaja de acercarse a los
valores convergentes rápidamente después de que la vecindad de los valores
convergentes ha sido alcanzado, el problema es alcanzar dicha vecindad, en la práctica
es útil corregir b en una pequeña fracción de δt; de otra manera la extrapolación podría
irse más allá de la región en donde f puede ser adecuadamente representada por (17), y
podría causar divergencias en las iteraciones, varios métodos fueron usados para
determinar un tamaño apropiado de salto Kδt,, 0 < K ≤ 1, una vez que la dirección había
sido especificada por δt, aún así, las frustradas convergencias no eran poco común
(Marquardt, 1963).
Por otra parte, los métodos del gradiente indicaban que simplemente había de bajar del
valor pronosticado actual en dirección del gradiente negativo de Φ. De esta manera
 ∂Φ ∂Φ
∂Φ 

δ g = −
,
,...,
∂bk 
 ∂b1 ∂b2
T
(20)
Con estos métodos del gradiente negativo, así como en los métodos de las series de
Taylor, es necesario controlar el tamaño de paso cuidadosamente una vez que la
dirección del vector ha sido establecido. La gran ventaja de los métodos del gradiente es
su habilidad de converger de un pronóstico inicial, el cual puede incluso estar fuera de la
región de convergencia de otros métodos.
Ambos métodos se estancan en no pocas ocasiones, el método de las series de Taylor
debido a la divergencia de las iteraciones sucesivas, los métodos del gradiente (o del
descenso más inclinado) debido a su agonizantemente lenta convergencia después de
unas cuantas primeras iteraciones (Marquardt D W, 1963).
Marquardt desarrolló un método que realiza una óptima interpolación entre los métodos
de las series de Taylor y del gradiente, la interpolación se basa en la máxima vecindad
en la cual las series de Taylor truncadas proporcionan una adecuada representación del
modelo no-lineal.
Para ello presenta y demuestra tres teoremas fundamentales para su algoritmo
(Marquardt D W, 1963).
Teorema 1: Sea λ ≥ 0 arbitraria y sea δ0 que satisfaga la ecuación
( A + λI )δ 0 = g
(21)
entonces δ0 minimiza Φ en la esfera cuyo radio δ satisface δ
2
2
= δ0 .
Aquí se puede empezar a visualizar la idea de Marquardt que consiste en agregar un
factor a la diagonal principal de la matriz A. Marquardt (usando la idea de Levenberg)
notó una simple conexión entre los mínimos cuadrados y las rutas de descenso más
inclinado. Al sumar una constante a la diagonal se obtiene la ruta de descenso más
inclinado. Al sumar a los elementos de la diagonal de A una λ, en donde λ es pequeña
para los mínimos cuadrados o grande para la ruta del descenso más inclinado, se obtiene
una ruta que varía entre los dos extremos.
Cuando λ sea sumado a los elementos de la diagonal principal, y se encuentre la
solución δ0, ésta minimizará la función de los errores cuadrados Φ, dando con la
solución δ0 la corrección del vector b de los parámetros ajustándose hacia β, resultando
en unos valores de los parámetros más cercanos a los óptimos.
Para entender mejor la idea de la esfera, tomemos el ejemplo arbitrario de un sistema de
tres observaciones (n = 3) con dos parámetros (p = 2)
La Figura 2 muestra el espacio muestra cuando n = 3, los ejes coordenados marcados
como 1, 2 y 3 corresponden a los tres componentes (Y1, Y2, Y3) del vector Y.
Supondremos entonces que existen p = 2 parámetros θ1 y θ2, así que la matriz X de los
valores de las variables independientes x, es una matriz de 3 × 2 de la forma:
 X 11
X =  X 12
 X 13
X 21 
X 22 
X 23 
Las columnas de X definen dos puntos P1 y P2 con coordenadas (X11, X12, X13) y (X21,
→
→
X22, X23), respectivamente, y los vectores OP1 y OP2 definen un plano que representa el
ˆ debe encontrarse. El
espacio de estimación bidimensional en el cual el vector Yˆ = XΘ
punto Y descansa sobre este plano y la perpendicular YP de Y al plano OP1P2 toca al
plano en P. De este modo YP es la distancia más corta de Y (los valores reales
ˆ,
observados) a cualquier punto en el espacio de estimación, P está definido por Yˆ = XΘ
y Φ = YP 2 (Draper, 1981).
Si se dibuja una línea OR a través de O, igual en longitud y paralela a PY (OR2 = Φ),
→
→
entonces OR representa el vector de los residuales e = Y − Yˆ . El vector OP es Yˆ y T es
un punto no óptimo (Draper, 1981).
Figura 2. Representación gráfica de las relaciones vectoriales en los mínimos
cuadrados no-lineales.
De esta manera podemos imaginarnos un ajuste de parámetros inicial T, con una suma
de cuadrados Φ = TY2, si se encuentra una solución δ0 (vector de corrección de los
parámetros previos) como la mencionada anteriormente, se podrá mover el punto a uno
mas cercano a P el valor óptimo, de tal manera que esto podría verse como un
encogimiento de una esfera Φ aproximadamente inscrita en el polígono formado por
los puntos Y. Y el radio de dicha esfera es a la que se refiere el teorema 1, con el nuevo
vector b +δ.
Figura 3. Esfera cuyo radio es el valor absoluto del vector de corrección de los
parámetros.
Cuando n > 3 la situación completa no puede ser dibujada pero la extensión mental hacia
dimensiones mayores no resulta demasiado difícil.
Teorema 2: Sea δ(λ) la solución de (21) para un valor dado de λ. Entonces δ (λ ) es
2
una función decreciente continua de λ, tal que cuando λ→ ∞, δ (λ ) → 0.
2
Con este teorema Marquardt prueba que una vector de corrección δ que sea solución y
dependa de λ, la suma de los cuadrados de esta corrección tenderá a 0, es decir, que
mientras λ sea grande, la diferencia entre una corrección δr –1 y la siguiente δr de dos
iteraciones consecutivas será cada vez menor, se tendrá una mejor convergencia, más
rápida (Marquardt, 1963).
Teorema 3: Sea γ el ángulo entre δ0 y δg. Entonces γ es una función decreciente
monótona continua de λ tal que cuando , λ→ ∞, γ→ 0. Dado que δg es independiente de
λ, se sigue que δ0 es la que rota hacia δg cuando λ→ ∞.
Marquardt linealiza la función no lineal con las series de Taylor y de ahí obtiene el
vector de corrección de los parámetros que utiliza y por medio de la iterativa suma de un
factor λ a la diagonal principal de la matriz A va ajustando los valores iniciales de el
vector de los parámetros hacia aquellos que permiten el mínimo de la suma de cuadrados
de las desviaciones del modelo no-lineal, con este teorema Marquardt demuestra que el
vector de corrección δ va dirigiéndose rápidamente, mientras λ crece, hacia el descenso
más inclinado (convergencia) evitando divergir entre las iteraciones, y demuestra
además que es precisamente nuestro gradiente el que se mueve hacia δg permitiendo una
convergencia muy cuidadosa mas no agonizantemente lenta al mezclar el método de la
serie de Taylor y el método del gradiente.
La importancia de unos valores iniciales adecuados
Todos los procedimientos de iteración requieren valores iniciales θ10, θ20, . . . , θp0, de
los parámetros θ1, θ2, . . . , θp, que sean seleccionados. Toda información previa
disponible debería ser usada para hacer estos valores tan fiables como sea posible.
También, si existieran múltiples mínimos o si hubieran varios mínimos locales además
de un mínimo absoluto, valores iniciales pobres pueden resultar en una convergencia
hacia un punto estacionario indeseable sobre la superficie de la suma de cuadrados
(Draper, 1981).
Escala de medida
Las propiedades relevantes de la solución, δt, de (19) son invariantes bajo
transformaciones lineales del b-espacio (espacio de los parámetros). Sin embargo se
sabe que las propiedades de los métodos del gradiente no son invariantes de la escala.
Viene a ser necesario entonces realizar una escala del b-espacio de alguna manera
conveniente. Marquardt escoge hacerlo en unidades de las desviaciones estándar de las
derivadas ∂f i ∂b j . Esta elección de escala ha sido, en efecto, ampliamente utilizada en
problemas de mínimos cuadrados lineales como un mecanismo para mejorar los aspectos
numéricos de los procedimientos de cálculo (Marquardt, 1963).
De este modo, definimos una matriz escalada A* y un vector escalado g*:

a jj '
A* = a *jj ' = 
 a a''
jj
j j


 , j = 1, 2, . . ., k


( )
 gj
g * = g *j = 
 a jj

( )

 , j = 1, 2, . . ., k


(22)
(23)
y resolvemos para la corrección de las series de Taylor usando:
A*δ t* = g *
(24)
Entonces,
δ j = δ *j
(25)
a jj
Construcción del algoritmo
La idea general del algoritmo apropiado es ahora claro. Específicamente, en la r-ésima
iteración la ecuación:
(A ( ) + λ( ) I )δ
*r
r
*( r )
= g (r )
(26)
es construida. Esta ecuación es entonces resuelta para δ*(r). Entonces (25) es usada para
obtener δ(r). El nuevo vector de prueba
b (r +1) = b (r ) + δ (r )
(27)
conducirá a una nueva suma de cuadrados Φ(r+1). Es esencial seleccionar λ(r) de tal
manera que
Φ (r +1) < Φ (r )
(28)
De la teoría previa, se tiene que una λ(r) lo suficientemente grande siempre existirá tal
que (28) se satisfaga, a menos que b(r) sea ya un mínimo de Φ. Alguna especie de ensayo
y error es requerida para encontrar un valor λ(r) el cual conduzca a la satisfacción de (28)
y produzca una rápida convergencia del algoritmo a los valores de mínimos cuadrados.
En cada iteración deseamos minimizar Φ en (aproximadamente) la máxima vecindad
sobre la cual la función linealizada proporcionará una adecuada representación de la
función no-lineal. De acuerdo a esto, la estrategia para escoger λ(r) debe buscar usar un
valor pequeño de λ(r) siempre que las condiciones sean tales que el método conservado
de las series de Taylor converjan adecuadamente, ya que si se utiliza un valor alto de λ(r)
se aproximará al método del gradiente y con esto se podría obtener una convergencia
innecesariamente lenta. Esto es especialmente pertinente en las etapas posteriores del
procedimiento de convergencia, por el mismo motivo, cuando los valores de prueba
están en la vecindad inmediata del mínimo, en donde las curvas de nivel de Φ son
asintóticamente elípticas, y la expansión lineal del modelo necesita ser una buena
aproximación sobre solamente una región muy pequeña.
Figura 4. Curvas de nivel de Φ asintóticamente elípticas cerca del mínimo sobre la
superficie de estimación de los parámetros.
Valores grandes de λ(r) deberían por lo tanto ser usados solamente cuando sea necesario
satisfacer (28). Dicha estrategia heredaría muchas de las propiedades del “descenso más
inclinado”; por ejemplo, progreso inicial rápido seguido por un avance gradualmente
más lento (Marquardt, 1963).
Marquardt indica la siguiente estrategia:
Sea v > 1.
Sea λ(r) el valor de λ de la iteración previa. Inicialmente hacer λ(0) = 10-2, por
ejemplo.
Calcular Φ(λ(r −1) ) y*** Φ(λ(r −1) v )
(
)
(
)
(
)
(
)
(
)
i. Si Φ λ(r −1) v ≤ Φ (r ) , hacer λ(r ) = λ(r −1) v
ii. Si Φ λ(r −1) v > Φ (r ) , y Φ λ(r −1) ≤ Φ (r ) , hacer λ(r ) = λ(r −1)
iii. Si Φ λ(r −1) v > Φ (r ) , y Φ λ(r −1) > Φ (r ) , incrementar λ por medio de sucesivas
multiplicaciones
****
de v hasta que para algún w mínimo, Φ(λ(r −1)v w ) ≤ Φ (r ) ,
hacer λ(r ) = λ(r −1)v w
*** si λ(r) es ya insignificante comparándolo con 1.0 al número de multiplicaciones
realizadas, entonces ir a la prueba ii. o a la iii. inmediatamente sin calcular Φ(λ(r −1) v ) , e
ignorar las comparaciones que involucren Φ(λ(r −1) v ) .
****en ocasiones, en problemas en donde las correlaciones entre los estimadores de los
parámetros son extremadamente altos (>.99) puede suceder que λ sea incrementada a
valores irrazonablemente altos. Se ha encontrado de utilidad para esas situaciones alterar
la prueba iii. la prueba modificada es:
Sea b (r +1) = b (r ) + K (r )δ (r ) ,
K(r) ≤ 1.
Notar que el ángulo γ(r) es una función decreciente de λ(r), seleccionar un ángulo
estándar γ 0 < π 2 y tomar
K (r ) = 1 si γ (r ) ≥ γ 0 .
Sin embargo, si la prueba iii. no se pasa aunque λ(r) haya sido incrementado hasta que
γ (r ) < γ 0 , entonces no incrementar λ(r) más, pero tomar K(r) lo suficientemente pequeño
de modo que Φ (r +1) < Φ (r ) . Esto siempre puede hacerse dado que γ (r ) < γ 0 < π 2 . Una
elección apropiada para el ángulo estándar es γ 0 = π 4 .
Con éste algoritmo podemos siempre obtener una vecindad factible. Además, podemos
siempre obtener, con un factor determinado por v, la máxima vecindad en la cual las
series de Taylor dan una adecuada representación para nuestros propósitos. La elección
de v es arbitraria; v = 10 ha resultado ser una gran elección.
Típicamente la condición iii. es encontrada en raras ocasiones. De esta manera, es mas a
menudo requerido que (26) sea resuelta para dos valores de λ(r) en cada iteración
(Marquardt, 1963).
3.3. AJUSTES DE MODELOS ESTÁTICOS
La cinética enzimática se divide en cinética de masas y cinética de Michaelis-Menten.
Cinética de masas.
La cinética de masas es de las cinéticas más simples, en cuanto a sus suposiciones de
que a partir de una concentración de sustrato se tiene una velocidad de reacción. A
mayor concentración, mayor velocidad de reacción y a menor concentración, menor
velocidad de reacción. Supone que la velocidad de reacción depende exclusivamente de
la cantidad de sustrato presente. Así, la velocidad de reacción es una función de primer
orden con respecto a la concentración de sustrato (Baldwin, 1995) (Figura 5).
r = kS
(Reacción de primer orden)
r es la velocidad de reacción.
k es la tasa fraccionaria de reacción.
S es la concentración de sustrato presente.
La reacción general para una cinética de masas es la siguiente:
k
S
P
(29)
S es la concentración de sustrato presente.
P es la concentración de producto.
k es la tasa fraccionaria de reacción.
Donde la tasa de reacción (r) es:
−
∂S
∂P
=−
= -rS = rP = kS
∂t
∂t
Gráfica de reacción (r) contra concentración (S)
Velocidad
de reacción (r )
vs.
Concentración
(S)
r
0
S
Figura 5. Gráfica de una función de primer orden. Cinética de masas.
Un ejemplo de éste tipo de cinética es el modelo clásico de crecimiento poblacional.
Cinética de Michaelis-Menten.
La cinética de Michaelis-Menten se utiliza para representar las reacciones catalizadas
por enzimas y constituye la base cinética de la mayoría de los modelos dinámicos de
producción bovina. Debido a sus suposiciones se utiliza más que la cinética de masas en
procesos bioquímicos, tales como, transporte, crecimiento bacteriano, de crecimiento
animal y de modelos de energía. Este modelo supone la existencia de un complejo, y a
diferencia de la cinética de masas, ésta no supone que la velocidad de reacción depende
exclusivamente de la concentración de sustrato. Éste modelo supone que, a
concentraciones bajas, la velocidad de reacción es de primer orden con respecto a la
concentración del sustrato, pero a altas concentraciones, la velocidad de reacción es de
segundo orden (Stryer, 1981). Esto se puede observar en las gráficas de la velocidad de
reacción a diferentes concentraciones, desde 0 hasta cantidades muy altas (Figura 6). Se
puede deducir la existencia de un límite en la velocidad de reacción (rmax) por medio de
experimentación.
Gráfica de reacción (r) contra concentración (S)
Velocidad
de reacción (r )
vs.
Concentración
(S)
r
rmax
S
0
Figura 6. Curva de la velocidad de reacción vs. concentración de Sustrato para una
cinética de Michaelis-Menten
El mecanismo de reacción propuesto por Michaelis-Menten es el siguiente:
k1
E+S
ES
k3
P
k2
P es la concentración de producto
E es la concentración de enzima libre
S es la concentración de sustrato
ES es la concentración de complejo enzima-sustrato
k1, k2, k3 son las tasas fraccionarias de reacción
y la ecuación de la tasa de reacción, considerando la suposición de estado estacionario,
conocida como la ecuación de Michaelis-Menten (Stryer, 1981; Saucedo-Castañeda,
1990) es:
r =
rmax S
KM + S
(30)
r es la velocidad de reacción (creación de producto) con la presencia de cierto sustrato S
y cierta cantidad de enzima total (Etotal = E + ES), como ecuación diferencial equivaldría
a
r=
∂P
∂t
(31)
KM es la constante de Michaelis-Menten.
rmax es la velocidad de reacción máxima.
Las ecuaciones diferenciales relacionadas a los tres flujos con la estructura de MichaelisMenten están dadas por cada uno de los elementos que intervienen.
Por concentración de enzima libre:
∂E
= − k1 ( E )( S ) + k 2 ( ES )
∂t
(32)
Por concentración de sustrato:
∂S
∂E
= − k1 ( E )( S ) + k 2 ( ES ) =
∂t
∂t
(33)
Por concentración de complejo enzima-sustrato:
∂ES
= k1 ( E )( S ) − (k 2 + k 3 )( ES )
∂t
(34)
Y por concentración de producto:
∂P
= k 3 ( ES )
∂t
(35)
Un ejemplo de éste tipo de cinética está en las reacciones catalíticas.
LINEARIZACIÓN (Montgomery y Peck, 1992; Zill, 1997)
La Linearización es una técnica para transformar la respuesta (variable dependiente), y
en algunos casos la variable independiente, para conseguir una relación lineal:
a) Entre la respuesta y la variable explicatoria, o más generalmente.
b) Entre la respuesta y los parámetros del modelo.
El hecho de conseguir una relación lineal facilita el ajuste de parámetros, ya que en la
mayoría de los casos es mas fácil ajustar modelos lineales que modelos no-lineales. La
linealización usa:
a) Un chequeo de diagnóstico de la adecuación del modelo original
b) Estimación de los parámetros en el modelo ajustando el modelo lineal resultante.
Para algunos modelos no lineales, es posible transformar la variable dependiente o la
variable independiente o ambas, de tal manera que la relación entre las variables
transformadas sea lineal. Un ejemplo es el modelo del crecimiento exponencial de la
población, en el cual el tamaño de la población en el tiempo t está dado por:
N(t) = N(0) ert , r es el parámetro y t la variable
En donde, el logaritmo del tamaño de la población tiene una relación en forma de línea
recta con el tiempo, con una pendiente r, la tasa de crecimiento relativo intrínseca, es
decir,
ln N(t) = ln N(0) + rt
Tomar los logaritmos en este contexto es útil para:
a) Verificar si el crecimiento observado es ciertamente exponencial – una línea
recta después de una transformación indica un crecimiento exponencial.
b) Estimar la tasa de crecimiento relativo ajustando una línea recta a los datos
transformados.
La linearización no debe ser confundida con método de ajuste, la primera es una
herramienta muy importante para facilitar el ajuste de los parámetros de la función
linealizada, el segundo es el procedimiento directo para encontrar los valores de ajuste
de dichos parámetros.
Linearización de una hipérbola rectangular
Existen muchos ejemplos en Biología de curvas de respuesta, las cuales tienen la forma
y la estructura matemática de una hipérbola rectangular. Algunas de éstas son: a) La
ecuación (30) de Michaelis-Menten (mencionada con anterioridad) que relaciona la
velocidad de reacción de una enzima catalizada con la concentración de substrato, b) La
respuesta de la tasa de fotosíntesis a la tasa de luz incidente. La interpretación de los
parámetros de los modelos dependen de la aplicación particular, pero la forma de la
relación es la misma en éstos ejemplos:
y=
αx
β+x
(36)
y la gráfica de la hipérbola rectangular es:
Figura 7. Gráfica de la hipérbola rectangular
Donde y es la variable respuesta y x es la variable explicatoria. La función crece a una
razón decreciente hasta aproximarse a una asíntota superior α y alcanza el valor α/2
cuando x = β. Se tienen varios métodos para linearizar la hipérbola rectangular. A
continuación presentamos dos:
Método de Lineweaver–Burk
Está basado en la linearización de la hipérbola rectangular más antigua y ampliamente
usada, consiste en graficar los valores 1/y contra 1/x obtenidos por simple inversión de
la ecuación de la hipérbola rectangular.
1 1 β 1
  = +  
 y α α  x
(37)
Comparando la expresión anterior con la ecuación de una línea recta y = mx + c,
muestra que la pendiente es β / α, y la ordenada al origen es 1/ α. Los parámetros de la
relación hiperbólica pueden, por lo tanto, ser estimados por medio de la pendiente y la
ordenada al origen de la ecuación linearizada (Brown, 1994) (Figura 9).
m = β/ α
y
c = 1/ α
y de esto, los parámetros están dados por:
α= 1 / c
y
β=m/c
Otra transformación útil de la ecuación de Michaelis-Menten se obtiene multiplicando
ambos miembros de la ecuación de Lineweaver-Burk por rmax y reordenando quedando
la ecuación:
r
r = rmax − KM  
S
(38)
La representación de r frente a r / S, llamada representación de Eadie-Hofstee, no
solamente da los valores de rmax y de KM en forma muy sencilla, sino que también
amplía las desviaciones del carácter lineal que pueden no aparecer en una representación
de doble recíproca (Figura 8).
r
0
r/S
Figura 8. Representación de Eadie-Hofstee
Donde KM es la pendiente y rmax / KM es la ordenada al origen.
Los métodos citados son suficientes para poder plantear una estrategia muy sencilla rmax
y KM: evaluar rmax usando la ecuación de Lineweaver-Burk, regresar a la curva de r
contra S y encontrar rmax/2 y con esto KM (Saucedo-Castañeda, 1990).
Método de Hanes-Woolf.
En el método de Hanes-Woolf, se grafican los valores x / y contra los valores x, los datos
transformados de la cinética enzimática forman aproximadamente una línea recta, como
se esperaba. La recta se obtiene de multiplicar la recta de Lineweaver-Burk por x.
x β 1
  = + (x )
 y α α
(39)
Comparando la expresión anterior con la ecuación de una línea recta y = mx + c,
muestra que la pendiente es β / α, y la ordenada al origen es 1/ α. Los parámetros de la
relación hiperbólica pueden, por lo tanto, ser estimados por medio de la pendiente y la
ordenada al origen de la ecuación linearizada (Brown, 1994) (Figura 9).
m = 1/ α
y
c = β/ α
y de esto, los parámetros están dados por:
α= 1 / m
y
β=c/m
Figura 9. Variaciones de las rectas de Lineweaver-Burk y de Hanes-Woolf según los
errores en las mediciones.
Efecto de la transformación en la variación de los valores de x
La transformación involucra la transformación de la variable dependiente ó de la
independiente o ambos para ajustarse a una línea recta. Algunas veces esto resulta en
una distribución bastante insatisfactoria de los valores de los datos a lo largo del eje de
las abscisas, como se ilustra en la Figura 9 por la diferencia entre los métodos
Lineweaver-Burk y Hanes-Woolf. Una desventaja del método de Lineweaver-Burk es
que puede producir una dispersión desigual de los puntos en el eje 1/ x con una densidad
creciente de puntos cuando se acerca al eje 1/ y. Esto es que el error ó variación es
menor mientras más cerca esté del origen y mayor mientras se encuentre más hacia la
derecha (Figura 10). En particular, cuando los valores x son espaciados, como los
valores x = 1, 2, 3, 4, 5, . . ., los valores transformados 1/ x = 1, 0.5, 0.25, 0.125, 0.0625,
. . ., no conservan el mismo espaciado. El área de error alrededor de el eje de las 1/ y es
menor, las discrepancias entre los datos de los experimentos reales y el modelo de la
línea recta, son más probables y más notorias, esto reduce la utilidad de la
transformación de Lineweaver-Burk. En Hanes-Woolf, la variable x no se altera, así que
no sufre de esta desventaja (Figura 11).
En la linearización de Lineweaver-Burk los valores de 1/r se aglutinan cerca del origen,
obteniéndose valores precisos de rmax pero no así para KM (Figura 10). Los
experimentos deben planearse de manera que los valores de 1/S queden espaciados a
intervalos regulares, de otra forma no es recomendable. La linearización de LineweaverBurk también proporciona información acerca de la inhibición enzimática, ayuda a
identificar por ejemplo el tipo de inhibición de las enzimas (competitiva, acompetitiva y
no competitiva).
En la linearización de Hanes-Woolf se separan los datos a valores altos de r, de manera
que la pendiente (1/rmax) se puede determinar con certeza, pero se tiende a valores de la
ordenada al origen (KM /rmax) cercanos a cero, por lo que se obtienen valores poco
certeros de KM (Figura 11). En ésta linearización, el error se encuentra
homogéneamente distribuido (Saucedo-Castañeda, 1990).
S /r
1/r
1/rmax
1/S
Figura 10. Variación de los
valores con Lineweaver-Burk
KM /rmax
S
Figura 11. Variación de los
valores con Hanes-Woolf
Cálculo de los parámetros de una hipérbola rectangular (reacción de Michaelis-Menten)
usando las transformaciones de Lineweaver-Burk y Hanes-Woolf y el criterio de
Mínimos Cuadrados para el ajuste.
r=
rmax (S )
KM + S
KM es la constante de Michaelis-Menten
rmax es la velocidad de reacción máxima
(49)
Parámetro rmax (velocidad de reacción máxima).
Si se utiliza la transformación de Lineweaver-Burk en los datos, se obtiene la recta:
1
1
KM
=
+
r rmax rmax
1
 
S
(41)
Si se utiliza la transformación de Hanes-Woolf en los datos, se obtiene la recta:
S KM
1
(S )
=
+
r rmax rmax
(42)
Donde:
S es la variable sustrato
r es la variable velocidad de reacción
KM es el parámetro constante de MM
rmax es el parámetro velocidad máxima
Efecto de la transformación en la varianza de la variable dependiente
Otra consecuencia de la transformación de la variable dependiente es que su varianza se
ve afectada. Más importante es que la varianza es usualmente diferente a diferentes
valores de x, asi que un modelo en el cual la varianza es la misma para todos los valores
de x puede ser convertido a uno con una tendencia marcada en la variable mientras 1/x
crece. Esto es importante para cualquier técnica de linearización en la cual
subsecuentemente se ajusta una línea recta usando mínimos cuadrados ordinarios,
técnica que esencialmente asume que la varianza de la respuesta es constante.
3.4. AJUSTES DE MODELOS EMPÍRICOS
Supongamos que se observa un reloj un domingo a las 12 de la noche y cada 12 horas a
partir de entonces siempre se encuentran las manecillas señalando las 7 en punto. La
interpretación de estos datos sería diferente según el modelo que se considerase
apropiado.
Una idea que estaría de acuerdo con los datos es que el reloj se ha parado a las 7 en
punto. El modelo matemático apropiado sería:
y = β0
(43)
Donde y es la hora marcada por el reloj en el momento de la lectura y β0 es una
constante igual a 7. Una segunda idea, es que el reloj funciona perfectamente, solo que
está 7 horas adelantado. El modelo apropiado ahora es:
y = (β 0 + x )mod 12
(44)
donde x es el tiempo, en horas transcurrido desde la primera lectura y (β 0 + x )mod 12
significa el resto obtenido al dividir β 0 + x por 12. Una tercera idea es que la manecilla
no da una, sino p vueltas cada 12 horas, donde p es un número entero, en este caso:
y = (β 0 + px )mod 12
(45)
Los posibles modelos son claramente innumerables. Sin embargo, en la práctica casi
siempre disponemos de un conocimiento básico del fenómeno que estudiamos (el
mecanismo del reloj). Este conocimiento previo permite al experimentador clasificar
algunos modelos como posibles y otro como imposibles. Los diseños empíricos se
escogen basándose en las hipótesis del experimentador sobre qué modelos son posibles.
Frecuentemente el mecanismo que gobierna un proceso no se conoce suficientemente
bien, o es demasiado complicado para permitir que un modelo exacto sea postulado a
partir de consideraciones teóricas. En estas circunstancias un modelo empírico puede ser
útil, particularmente si solo se desea una respuesta aproximada en una región de interés
en que las variables tienen campos de valores limitados (Box, 1999).
Los datos no tienen significado por si mismos, solo lo tienen en relación a un modelo
conceptual del fenómeno estadístico. Cuando se ajusta una curva, el modelador usa
suposiciones que seleccionan un tipo particular de modelo que explica el
comportamiento que se observa. Si los datos recopilados entonces son congruentes con
estas suposiciones, la tarea del modelador es escoger los parámetros de la curva
seleccionada que mejor ajuste a los datos de acuerdo a algún criterio (mínimos
cuadrados). En tal situación el modelador espera, y de buena voluntad acepta, algunas
desviaciones entre el modelo ajustado y el conjunto de datos con tal de tener un modelo
que explique el comportamiento. El problema con esta aproximación es que en muchos
casos no es posible construir un modelo sencillo, simple y ajustable que
satisfactoriamente explique el comportamiento. De este modo el modelador no sabe que
tipo de curva actualmente describe el comportamiento (Giordano, 1997).
Si es necesario predecir el comportamiento sin embargo, se pueden realizar
experimentos (u otra manera de colectar datos) para investigar el comportamiento de
la(s) variable(s) independiente(s) con algún criterio (Giordano, 1997).
Cuando se tiene una colección de datos es posible hacer predicciones, si bien, no existe
un modelo para explicar el comportamiento que se observa (modelo mecanístico), de
algún modo, existirá una colección de datos puntuales que pueden ser usadas para
predecir el comportamiento con algún rango de importancia. En esencia deseamos
construir un modelo empírico basado en la colección de información más que
seleccionar un modelo basado en ciertas suposiciones. En estos casos, el modelador está
fuertemente influenciado con la información que ha sido cuidadosamente recopilada y
analizada, así busca una curva que captura la tendencia de los datos para predecir entre
los datos puntuales (Giordano, 1997).
Los modelos empíricos más comunes en los procesos biológicos
se encuentran
expresados como funciones explícitas de variables y parámetros, en forma lineal o no
lineal en los parámetros, por la naturaleza de los modelos empíricos, la manera hasta
cierto punto arbitraria de selección del modelo hace que este sea siempre que se pueda,
lo más sencillo que se pueda. Uno de los modelos mas sencillos son los modelos
lineales, que se pueden ajustar con mínimos cuadrados para modelos lineales, que
consisten en ajustar un polinomio de grado n. Otras veces, los modelos son no lineales y
resultan un poco mas complicados de ajustar, pero también existen métodos para
simplificar el problema como la linealización o métodos de ajuste no lineales.
Por lo tanto, el ajuste de parámetros para estos modelos resulta en la mayoría de los
casos un trabajo relativamente sencillo.
3.5. AJUSTES DE MODELOS MECANÍSTICOS DINÁMICOS
Considérese el ejemplo de un géiser de un parque turístico, los guardianes del parque
necesitan un modelo para predecir cuando erupcionará de nuevo el géiser, ya que esto es
lo que los turistas desean saber. Para esto resulta totalmente satisfactorio un modelo
empírico de la siguiente manera: si la erupción anterior fue corta, de unos dos minutos,
transcurrirán entonces de 45 a 65 minutos antes de que tenga lugar la siguiente erupción,
si la erupción anterior fue larga de unos cinco minutos transcurrirán de 65 80 minutos
antes de que tenga lugar la siguiente. Este modelo es puramente empírico y solamente
describe con cierta aproximación las salidas del sistema mas no toma en cuenta los
mecanismos que puedan estar produciendo estas salidas (Box, 1999).
Si un investigador se encuentra interesado en modelar el sistema del géiser, no le bastará
con el modelo de los guardianes del parque, buscará los mecanismos que pueden estar
afectando el sistema como son la presión, la temperatura, etc., el investigador necesita un
modelo que contenga mecanismos relacionados con el comportamiento del sistema, y en
base a ellos hacer suposiciones y construir el modelo, estos tipos de modelos son los
llamados mecanísticos (Box, 1999).
Los modeladores de los procesos y fenómenos biológicos, debido a las características de
cambio que presentan, necesitan además estudiarlos como sistemas dinámicos. Los
cambios dinámicos presentes en los sistemas obligan para su estudio la utilización de
herramientas acordes a este cambio particular y que permitan un análisis claro de las
tendencias y de las consecuencias de su modificación. Por ejemplo, concerniente a este
trabajo se encuentra la problemática en el rancho de donde provienen los bovinos, que es
un microsistema dinámico abierto que se ve influenciado fuertemente por el panorama
nacional e internacional, donde su relación con el tiempo es de igual forma vital para
satisfacer las necesidades de los mismos productores y del altamente competitivo
mercado.
Este sistema necesita ser modelado con información obtenida de trabajos
experimentales sobre el sistema para el estudio de sus relaciones y tendencias en un
modelo dinámico (Vargas, 2002, datos sin publicar).
La modelos mecanísticos dinámicos más comunes encontrados en la modelación de los
procesos biológicos, consisten en sistemas de ecuaciones diferenciales, siendo mas
complejos que los estáticos y los empíricos; en muy raro encontrar modelos dinámicos
en forma de sistemas de ecuaciones diferenciales que tengan solución explícita de la
variable que se desea predecir. Para los ajustes en este tipo de modelo se requieren
técnicas especiales. Los métodos numéricos y de simulación pueden ayudar a ajustar los
parámetros, por medio de la integración numérica y la simulación se obtienen las
gráficas del modelo, las predicciones con los valores de los parámetros iniciales y los
ajustados.
Existen varios programas útiles para diseñar los modelos, describirlos de manera gráfica
(Stella, Madonna), e incluso programas que ajustan los parámetros.
Para ajustar los parámetros de los modelos mecanísticos dinámicos, se requiere de algún
criterio de minimización de errores, pero como las ecuaciones son generalmente nolineales en los parámetros, se requieren algoritmos de ajuste que consistan en
minimización de errores en ecuaciones no-lineales. Entre los métodos de ajustes nolineales mas conocidos se encuentran el método de Gauss-Newton y el algoritmo de
Marquardt.
Se presenta un anexo que contiene un programa hecho en Pascal 7.0 que solicita los
datos necesarios para ajustar parámetros en un modelo dinámico, los datos se pueden
obtener por medio de algún programa de simulación (por ejemplo Stella). Y ajusta los
parámetros por medio del algoritmo de Marquardt. Se trata de un programa sencillo que
se utilizó para comparar ajustes de modelos dinámicos.
3.6. AJUSTES DE MODELOS DE ANIMAL COMPLETO
En los últimos años, han sido desarrolladas técnicas altamente eficientes, para sistemas
dinámicos en la forma de ecuaciones diferenciales no lineales, las cuales pueden ser
aplicadas aún para sistemas dinámicos más extensos (Richter, 1990).
Los modelos de animal completo consisten en conjuntos de sub-modelos integrados que
representan sistemas mas complejos, el crecimiento de un bovino puede constar de 3
sub-modelos, un modelo de consumo voluntario, otro de rumen y otro de digestión. El
ajuste de este tipo de modelos es muy similar a los modelos dinámicos, una idea común
consiste en ajustar cada sub-modelo e integrar cada parte, este es un método válido, pero
en la mayoría de las ocasiones resulta deficiente, ya que aunque el modelo conste
realmente de varios modelos mas pequeños, estos se relacionan y hacen que el ajuste del
animal completo requiera de ajustes en modelos de animal completo, la diferencia puede
ser considerable.
4. RESULTADOS
4.1. AJUSTE DE PARÁMETROS EN UN MODELO ESTÁTICO
A continuación se presenta un ejemplo
Competición Bacteriana en el Rúmen en cultivos
continuos: Streptococcus bovis vs. Megasphaera elsdenii.
Applied and Environmental Microbiology, June 1981, p. 1394-1399
J. B. Russell, M. A. Cotta, and D. B. Dombrowski
Department of Animal Science, University of Illinois, Urbana, Illinois 61801
En esta investigación se utilizó la cinética de Michaelis-Menten para simular el
consumo que realizaban dos diferentes bacterias que competían entre sí por un mismo
sustrato (maltosa), y se estimó el parámetro Afinidad de la bacteria por el sustrato por el
método de mínimos cuadrados lineales utilizando la transformación de LineweaverBurk (de doble-recíproco para los datos obtenidos en las muestras).
Problema:
Una característica notable de la microbiología ruminal es la complejidad y diversidad de
especies que se encuentran en el rumen. Aunque algunas de las bacterias están bastante
especializadas con respecto a sus recursos de energía, muchas bacterias del rumen son
capaces de fermentar una lista de los mismos sustratos y parece probable que estas
bacterias desarrollan diferentes estrategias de crecimiento (Hungate, 1966).
En un esfuerzo para cuantificar y predecir la competición bacteriana ruminal, se
compararon las preferencias de sustrato mediante mecanismos de regulación catabólica,
tasas máximas de crecimiento, mantenimiento y consumo de energía, afinidades de los
sustratos y resistencia a pH bajo con muchas especies de bacterias ruminales, para
encontrar diferencias.
Los experimentos fueron realizados para examinar los efectos del pH y la tasa de
crecimiento en las relativas proporciones de la bacteria S. bovis y M. elsdenii creciendo
en almidón o maltosa. Se espera que tal estudio proporcione un entendimiento
cuantitativo de la utilización de almidón y producción de lactato y la utilización de parte
de estos organismos. Adicionalmente, se espera que esta investigación proporcione un
modelo para predecir la competencia bacteriana en el rumen basada en la fisiología de
los organismos involucrados.
Análisis de la competición de dos bacterias (Streptococcus bovis y Megasphaera
elsdenii) por la fermentación de un mismo sustrato.
Se depositaron estas dos bacterias en cultivos continuos con maltosa como sustrato
limitante en tasas de disolución de 0.36, 0.22 y 0.12 h-1, se controló el pH por medio de
HCl (mientras más HCl se agregaba al cultivo, más disminuía el pH) y se mantuvo un
flujo de control del cultivo de manera que se podían medir las cantidades de maltosa que
quedaban en los desechos. Se midió también los datos que permitían la estimación de la
afinidad de la bacteria por el sustrato (velocidad de reacción). Se modeló la situación
por medio de la cinética de Michaelis-Menten, y la estimación del parámetro Afinidad
de la bacteria por el sustrato (KM denota el parámetro de Michaelis-Menten). Se
determinó midiendo las concentraciones de maltosa restantes en el contenedor del
cultivo, con una variedad de tasas de disolución y realizando una transformación de
Lineweaver-Burk sobre dichos datos. El gasto de energía en mantenimiento se
determinó por el método de doble recíproco puntual (1/K vs. 1/(K2+K3); 1/producción
vs. 1/disolución).
Modelo:
V=
Vmax (S )
S + KM
(46)
Donde
V es la tasa de disolución de la maltosa (1/h)
S es la maltosa (g/l)
Transformación de Lineweaver-Burk:
1
1
KM
=
+
V Vmax V max
1
 
S
Ajustes:
Para la bacteria S. bovis
Crecimiento de la bacteria con maltosa con un pH de 6.6:
Ordenada al origen (1/Vmax ) = 0.40
Pendiente (KM/Vmax) = 0.09
Abscisa al origen (-1/KM) = 4.44
Coeficiente de correlación = 0.97
(47)
Crecimiento de la bacteria con maltosa con un pH de 5.7
Ordenada al origen (1/Vmax ) = 0.42
Pendiente (KM/Vmax) = 0.04
Abscisa al origen (-1/KM) = 9.26
Coeficiente de correlación = 0.99
pH 6.6
1/tasa de
disolución
(1/V)
pH 5.7
1/maltosa (1/S)
Figura 12. Rectas de Lineweaver-Burk para el crecimiento de la bacteria S. Bovis en
maltosa a dos diferentes niveles de pH.
Para la bacteria M. elsdenii
Crecimiento de la bacteria con maltosa con un pH de 6.6:
Ordenada al origen (1/Vmax ) = 0.68
Pendiente (KM/Vmax) = 0.29
Abscisa al origen (-1/KM) = 2.34
Coeficiente de correlación = 0.98
Crecimiento de la bacteria con maltosa con un pH de 5.7:
Ordenada al origen (1/Vmax ) = 1.54
Pendiente (KM/Vmax) = 0.29
Abscisa al origen (-1/KM) = 4.48
Coeficiente de correlación = 0.98
pH 5.7
1/tasa de
disolución
(1/V)
pH 6.6
1/maltosa (1/S)
Figura 13. Rectas de Lineweaver-Burk para el crecimiento de la bacteria M. elsdenii en
maltosa a dos diferentes niveles de pH.
En general, grandes tasas de disolución fueron correlacionados con radios más grandes
de S. bovis a M. elsdenii, es decir, que cuando las tasas de disolución se incrementaron,
los radios lo hicieron también. Cuando las afinidades por la maltosa fueron estimadas de
Lineweaver-Burk de las concentraciones de los residuales de maltosa y las tasas de
disolución, S. bovis siempre exhibió una afinidad mayor que M. eldesnii.
Decrementando el pH de 6.6 a 5.7 incrementó la afinidad de ambas especies, pero la
diferencia relativa en la afinidad por la maltosa entre las dos especies fue similar en el
nivel de pH 6.6 y 5.7 por lo tanto, pareció que las grandes cantidades de S. bovis
podrían ser, al menos parcialmente, explicados por la relativa afinidad por la maltosa.
En todas las tasas de disolución, la disminución del pH causó que se incrementara
grandemente el radio de S. bovis a M. elsdenii.
M. elsdenii
S. bovis
maltosa (S)
(g/l)
Tasa de disolución (V)
(h-1)
Figura 14. Comportamiento aproximado de la cantidad de maltosa dejada en el
recipiente de cultivo por M. elsdenii y la dejada por S. bovis.
Resultados en éste problema: Se llegó a la conclusión de que las más grandes cantidades
de S. Bovis podrían, al menos parcialmente, ser explicados por la relativa afinidad de la
maltosa. Cuando S. bovis y M. eldesnii fueron co-cultivados en maltosa, siempre
hubieron mas células S. bovis que M. eldesnii. S. bovis fue siempre más rápido y
eficiente utilizando la maltosa que M. eldesnii. En la Figura 14 se usaron los parámetros
de Michaelis-Menten para predecir el comportamiento de la maltosa que podría ser
dejada por cada especie a varias tasas de disolución. El método de los mínimos
cuadrados lineales (ajuste de la línea recta), método muy sencillo y conocido, resultó
bastante satisfactorio para obtener los valores ajustados de los parámetros, estos
parámetros ajustados proporcionaron suficiente información para conocer la situación
del sistema, obtener conclusiones sobre la información analizada y resolver el problema
planteado.
4.2. AJUSTE DE PARÁMETROS EN UN MODELO EMPÍRICO
A continuación se desarrolla un modelo empírico y se demuestra la teoría básica de su
ajuste.
Datos experimentales
Los siguientes datos experimentales se tomaron del trabajo de tesis de Licenciatura
(González, 2001) de LM Carmen Alberto González Sáenz de la universidad de Tabasco.
Microorganismos ruminales fueron extraídos del estómago de un toro, y fueron
colocados en matraces, a los cuales se tuvo mucho cuidado de no contaminar ya que los
microorganismos viven en ausencia de oxígeno, o sea de forma anaeróbica obligada;
posteriormente se colocó alimento de caña de azúcar integral (CAI), fibra detergente
neutra (FDN), fibra detergente ácida (FDA), CAI+enzima (CAI+E), FDN+enzima
(FDN+E) y FDA+enzimas (FDA+E), los cuales consisten en lo siguiente:
-Caña de azúcar integral: se refiere a la caña íntegra, incluyendo tallo y hojas.
-FDN (Fibra Detergente Neutra): a la caña se le aplica un tratamiento químico y se
desprenden los azúcares.
-FDA (Fibra Detergente Ácida): a la FDN se le aplicó otro detergente y se separó la
hemicelulosa, la cual consiste de celulosa, lignina, silica, y compuestos nitrogenados
ligado a las fibras.
-El cuarto, quinto y sexto alimento se conformó con los anteriores más enzimas.
Cuando se le dio alimento a los microorganismos se midió con espectrofotómetro la
turbidez del líquido, tomándose una muestra con una pipeta y se midió la absorbancia (a
mayor absorbancia mayor población y a menor absorbancia menor población de
microorganismos). Se midió la absorbancia cada media hora durante ocho horas y
media. Se realizó seis veces el experimento con el primer alimento, para el tercer
alimento solo fueron tres experimentos, en los restantes cuatro tipos de alimentos se
llevaron a cabo cuatro mediciones por cada alimento; posteriormente se obtuvieron los
promedios en cada caso.
Problema
A partir de los datos de la absorbancia de microorganismos en el tiempo, se plantea el
problema de determinar tres características del crecimiento de los microorganismos:
- La población máxima en cada caso (correspondientes a seis tipos de alimentación).
- La rapidez de crecimiento de la población en cada caso.
- El tiempo de retraso de la cinética bacteriana.
Las absorbancias son los datos más directos que se pueden tener (dado que estas
muestran cuánta materia se absorbió, por lo tanto cuanto se quedó, en cuanto tiempo lo
hizo, etc...), por lo tanto tenemos que observar cual es el comportamiento de las gráficas
para poder asignarles un modelo. En la tabla siguiente se observan los datos de
absorbancia para cada tipo de alimento (se muestran los promedios de las absorbancias
para los seis tipos de tratamiento).
T(horas)
CAI
FDN
FDA
CAI+E
FDN+E
FDA+E
0.5
0.0402
0.0127
0.0140
0.0887
0.0613
0.0588
1.0
0.0665
0.0193
0.0240
0.1165
0.0855
0.0770
1.5
0.1050
0.0300
0.0367
0.1650
0.1063
0.1013
2.0
0.1310
0.0375
0.0400
0.1950
0.1500
0.1400
2.5
0.1150
0.0495
0.0397
0.1985
0.1490
0.1250
3.0
0.1270
0.0708
0.0440
0.2077
0.1618
0.1412
3.5
0.1582
0.1167
0.0400
0.2615
0.1938
0.1650
4.0
0.1950
0.1362
0.0427
0.3063
0.2012
0.1800
4.5
0.2388
0.1845
0.0370
0.3192
0.2522
0.2275
5.0
0.2610
0.2062
0.0433
0.3413
0.2837
0.2450
5.5
0.2702
0.2150
0.0407
0.3622
0.2885
0.2522
6.0
0.2958
0.2387
0.0577
0.3908
0.3037
0.2625
6.5
0.2930
0.2510
0.0617
0.3997
0.3182
0.3073
7.0
0.3155
0.2675
0.0660
0.4195
0.3350
0.3247
7.5
0.3249
0.2717
0.0750
0.4380
0.3430
0.3273
8.0
0.3450
0.2903
0.0833
8.5
0.3487
0.2978
0.0910
Falta la
Falta la
Falta la
información información información
0.4550
0.3463
0.3625
Valores experimentales de absorbancia y tiempo para cada uno de los seis tratamientos.
Según Zwietering (1990), el logaritmo del cociente entre el vector de la absorbancia en
cada momento y la absorbancia inicial debería mostrar una curva sigmoidea (forma de S)
cuando se gráfica contra el tiempo; en la tabla siguiente se muestran los datos de este
logaritmo (en base natural) y los valores del tiempo:
T(horas)
CAI
FDN
FDA
CAI+E
FDN+E
FDA+E
0.5
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
1.0
0.5033
0.4185
0.5390
0.2726
0.3327
0.2697
1.5
0.9601
0.8596
0.9637
0.6207
0.5505
0.5439
2.0
1.1775
1.0827
1.0498
0.7877
0.8949
0.8675
2.5
1.0511
1.3604
1.0423
0.8055
0.8882
0.7542
3.0
1.1503
1.7183
1.1451
0.8508
0.9706
0.8760
3.5
1.3700
2.2180
1.0498
1.0812
1.1510
1.0318
4.0
1.5791
2.3725
1.1151
1.2393
1.1885
1.1188
4.5
1.7818
2.6760
0.9719
1.2806
1.4144
1.3530
5.0
1.8707
2.7872
1.1291
1.3475
1.5321
1.4271
5.5
1. 9053
2.8290
1.0672
1.4069
1.5489
1.4561
6.0
1.9958
2.9336
1.4162
1.4829
1.6003
1.4961
6.5
1.9863
2.9839
1.4832
1.5055
1.6469
1.6537
7.0
2.0603
3.0475
1.5506
1.5538
1.6984
1.7088
7.5
2.0897
3.0631
1.6784
1.5970
1.7220
1.7167
8.0
2.1497
3.1293
1.7834
8.5
2.1603
3.1549
1.8718
Falta la
Falta la
Falta la
información información información
1.6350
1.7315
1.8189
Valores de tiempo y de ln (absorbancia /absorbancia inicial) para cada uno de los seis tratamientos
Modelo de Gompertz
Un ejemplo de modelo empírico adecuado para este conjunto de datos es el modelo de
Gompertz, publicado en 1825 que se utiliza en modelación para describir curvas de
crecimiento.
El modelo de Gompertz es la solución de la ecuación diferencial:
dy
= ry[ln A0 − ln y ]
dt
(48)
El modelo de Gompertz :
y = A0e−( LnA0 −Lny0 )e
donde:
λ es el tiempo de la fase inicial
µ es la velocidad de crecimiento
A0 es la población máxima
− rt
(49)
con valor inicial:
y (0 ) = y 0
(50)
Y el gráfico del modelo de Gompertz, el cual tiene forma de letra “S” se muestra abajo:
Gráfico del modelo de Gompertz
y
0
0
x
Figura 15. Gráfica del modelo de Gompertz.
Puesto que se cuenta con datos experimentales (absorbancia contra el tiempo), será
necesario, para obtener los parámetros buscados, realizar un ajuste de la mejor curva; el
ajuste se realizará con el criterio de los mínimos cuadrados.
Modelo de Gompertz modificado
El modelo no es conveniente para el estudio de magnitudes relevantes del proceso que
interesa, ya que los parámetros que en él aparecen no tienen un significado biológico que
se ajuste a las magnitudes que se buscan: tiempo de la fase inicial ( λ ), velocidad de
crecimiento ( µ ), y población máxima ( A0 ); por tal motivo se tomará el modelo
modificado por Zwietering y colaboradores (Zwietering, 1990).
y = A0e
 µe



 A ( λ −t )+1 
0


−e
donde:
λ es el tiempo de la fase inicial
µ es la velocidad de crecimiento
A0 es la población máxima
(51)
El modelo de Gompertz, se puede representar por (52), en donde ξ n representa las
variables en el modelo (en nuestros casos, el tiempo) y θ representa a los parámetros
µ 0 , λ0 y A 0 .
El modelo es desarrollado en serie de Taylor alrededor de ciertos valores iniciales de los
parámetros (señalados con el subíndice cero) y se considera sólo las primeras derivadas
respecto a cada uno de los parámetros, evaluadas en los parámetros iniciales, se escribe,
aproximadamente:
p
 ∂f 
f (ξ n ,θ ) = f (ξ n ,θ 0 ) + ∑ 
(θ i − θ i 0 )

i =1  ∂θ i  θ =ϑ
0
(52)
Si y n representa los valores experimentales, el modelo f (ξ n ,θ ) será una aproximación a
ellos y esta relación viene dada por:
y n = f (ξ n ,θ ) + ε n
(53)
en donde ε n representa la discrepancia entre ambas variables.
Si consideramos la aproximación anterior para el modelo entonces la suma de los
cuadrados de los errores es
2
n
ss (θ ) = ∑ {yn − f (ξ n ,θ 0 ) − ∑ bio zino }
(54)
n =1
en donde sólo se ha utilizado la parte lineal del desarrollo en serie, ya que con esta se
tiene una relación lineal en los parámetros, permitiendo esto proceder como en el caso de
los mínimos cuadrados lineales.
Entonces:
p
 ∂f 
z ino = ∑ 
(en nuestro caso p = 3 ya que tenemos tres parámetros)

i =1  ∂θ i  θ =θ
0
y
bi0 = θ i − θ i 0 (esto es, la diferencia entre los valores iniciales de los parámetros y otros
valores cercanos).
Usando el método de Gauss-Newton y con la condición del mínimo, debe cumplirse que:
(
b0 = z 10 z 0
)
−1
(
z 10 y n − f no
)
(55)
En donde b0 (representa la diferencia entre los parámetros nuevos e iniciales) y puede
ser calculado ya que tanto f no , el vector con elementos
f no = f (ξ n ,θ 0 )
como z 0 , la matriz con elementos
p
 ∂f 
z ino = ∑ 

i =1  ∂θ i  θ =θ
0
(56)
pueden calcularse; los elementos del vector bo serían entonces relaciones entre
parámetros nuevos e iniciales: b01 = µ1 − µ 0 , b02 = λ1 − λ 0 y b03 = a1 − a0 ; de estas
expresiones se pueden obtener nuevos valores de los parámetros, µ1 , λ1 y a1 .
Estos nuevos parámetros serán mejores que los iniciales si el error , calculado con ellos
es menor que el calculado con los parámetros iniciales; de ser así el procedimiento puede
repetirse siguiendo los mismos criterios, de manera que cada vez obtendremos
parámetros mejorados respecto al paso anterior.
Para obtener los valores iniciales, primero se linealizó la ecuación explícita del modelo
de Gompertz tomando A0 como conocida, esto es para lograr la relación lineal
(González, 2001).
  A 
µe µe
Ln  Ln 0  = − t +
λ +1
A0
A0
  y 
(57)
  A 
y1 = Ln  Ln 0 
  y 
m=−
µe
b=
A0
µe
A0
λ +1
entonces se tiene una relación lineal entre y1 y t ; usando mínimos cuadrados se puede
determinar µ y t 0 .
Los estimadores de los parámetros usando el método de mínimos cuadrados lineales en
el caso del modelo de Gompertz para los casos sin enzima se muestran a continuación.
Gompertz
A0
µ
λ
CAI
2.1603
0.5105
0.2956
FDN
3.1548
0.8199
0.7009
FDA
1.8718
0.2196
-1.6700
Los estimadores de los parámetros usando el método de mínimos cuadrados lineales en
el caso del modelo de Gompertz para los casos con enzima se muestran a continuación.
Gompertz
A0
µ
λ
CAI+E
1.6350
0.2000
-3.0685
FDN+E
1.7315
0.4752
0.6897
FDA+E
1.8189
0.3413
0.1965
Este primer ajuste se usó para obtener los valores iniciales de los parámetros del modelo
en su forma no lineal por medio del método de Gauss-Newton.
Los parámetros ajustados por el método de Gauss-Newon según el modelo de Gompertz
son:
Gompertz
A0
µ
λ
CAI
2.1603
0.5105
0.2956
FDN
3.1548
0.8199
0.7009
FDA
1.8718
0.2196
-1.6700
CAI+enzima
1.6350
0.3491
0.1623
FDN+enzima
1.7315
0.4752
0.6897
FDA+enzima
1.8189
0.3413
0.1965
Observando los seis valores de µ y los seis de λ vemos que: la mayor velocidad de
crecimiento bacterial se logra con FDN en primer lugar, con CAI en segundo y con
FDN+enzima en tercero; por otra parte, las fases de acomodamiento, por su mínima
duración son, en primer lugar. FDA, en segundo CAI+enzima y en tercero FDA+enzima;
el tiempo mayor le corresponde a FDN.
Por tanto, se recomendó, en base a este modelo, alimentación con caña integral, sin
enzima o FDN; por otra parte, el peor tratamiento de acuerdo al trabajo realizado es
FDA ya que su valor µ es el mas pequeño, esto significa que la FDA es mas difícil de
digerir que el resto de los tratamientos. El método que se utilizó para el ajuste de los
parámetros de este modelo empírico (Gauss-Newton) resultó igualmente bastante
satisfactorio; se pudo notar la diferencia de la simplicidad entre este tipo de ajustes y el
anterior (para modelos estáticos). El método de Gauss-Newton, que es un método de
iteraciones sucesivas como se explicó anteriormente, necesita de unos valores iniciales
de los parámetros para comenzar a buscar una solución del ajuste de los cuadrados, el
artificio para hallar estos valores iniciales resultó igualmente favorable ya que por ellos
se pudieron ajustar unos valores de los parámetros que fueron lo suficientemente
descriptivos y adecuados para resolver el problema planteado y para tomar decisiones
cuantitativas.
4.3.
AJUSTE DE PARÁMETROS EN UN MODELO MECANÍSTICO DINÁMICO
A continuación se ajustará un modelo dinámico mecanístico:
Tomemos un modelo dinámico cuya estructura se muestra a continuación:
Figura 16: Estructura de un modelo dinámico construido en Stella.
Donde las variables de estado son las siguientes
S es un sustrato con valor inicial 27 unidades (u)
SC es un complejo sustrato con valor inicial 0 u
P es el producto con valor inicial 1 u
Los parámetros son
k1 = k1 tasa de reacción del primer flujo
k2 = k2 tasa de reacción del segundo flujo
El modelo dinámico puede representar el crecimiento de masa bacteriana, en este caso el
incremento de la masa microbial contribuye a la formación de un complejo-sustrato, la
cual contribuye a la vez al aumento de la misma masa microbiana.
En este ejemplo se consideran flujos unidireccionales, es decir, flujos que van de un
módulo a otro sin regreso del segundo al primero.
El modelo está compuesto por las siguientes ecuaciones diferenciales
∂S
= − k1 (S )(P )
∂t
∂SC
= k1 (S )(P ) − k2 (SC )
∂t
∂P
= k2 (SC )
∂t
Sean los siguientes datos experimentales:
Tiempo (segundos)
Producto (moles)
.5
1,035406
1
1,139099
1.5
1,310394
2
1,551824
2.5
1,868076
y tomemos como restricciones que los parámetros son positivos menores que la unidad.
Podemos ajustar este modelo por el método de Marquardt, con el programa en Pascal 7.0
del anexo 1, para ello se necesitan como entradas los valores estimados de los productos
( P̂ ) y las derivadas
∂Pˆi
, para i = 1, 2, 3, 4, 5 (observaciones) y evaluadas en los j = 1,
∂Θ j
2 (parámetros). Los modelos dinámicos comunes no tienen una solución explícita o es
muy difícil obtenerla, por ello es recomendable trabajar con soluciones numéricas para
hallar las predicciones del modelo con los valores ajustados de los parámetros.
El programa Stella permite construir las estructuras de los modelos dinámicos y por
medio de métodos numéricos como Euler o Runge-Kutta, permite solucionar el sistema
de ecuaciones diferenciales, graficar las soluciones y tabular los resultados. Por lo tanto,
usando este programa se tienen los estimados de los productos con los valores actuales
de los parámetros ( P̂ ); ahora en cuanto a las derivadas
∂Pˆi
evaluadas en los
∂Θ j
parámetros, recordando la definición de derivada, se tiene que:
∂f ( x )
f ( x + ∆x ) − f ( x )
∆Y
= lim ∆x →0
= lim ∆X →0
∂x
∆x
∆X
“El incremento de Y respecto al incremento de X”, para un incremento de X que tiende a
0. Teniendo en cuenta esto, si construimos dos modelos más, idénticos al original, y en
uno alteramos el valor del parámetro k1 agregándole un incremento y dejando al
parámetro k2 sin cambio; y en el otro modelo idéntico, agregamos el mismo incremento
ahora al parámetro k2 dejando a k1 sin cambio (Figura 17); y corremos la simulación.
Figura 17: Ejemplo del modelo original (en medio) y los otros modelos con pequeña
variación en k1 (abajo) y en k2 (arriba) construidos en el programa Stella.
Tomando un incremento muy pequeño (∆X ) por ejemplo de 0.00000000000001 en cada
parámetro de cada uno de los dos modelos adicionales, como en este ejemplo, y
calculando las salidas en los tres modelos, se puede obtener una aproximación de cada
∂Pˆi
(derivada de la salida pronosticada en el i-ésimo experimento respecto al j-ésimo
∂Θ j
parámetro).
Como solamente se tenía la información de que los valores reales de los parámetros eran
positivos menores que la unidad, se dieron como valores iniciales de los parámetros:
Valor inicial de k1 : 1 u
Valor inicial de k2 : 1 u
Se utilizó el algoritmo de Marquardt debido a la poca información que se tenía sobre los
parámetros (restricciones), se esperó que el algoritmo ayudara a que la función objetivo
convergiera mejor hacia una solución evitando quedar atrapado en un bache. Los datos
necesarios para realizar el algoritmo fueron los mismos que se recomendaron en la
explicación de este:
λ con un valor de 1 × 10 −2
v con un valor de 10
ε con un valor de 1 × 10 −17
Al correr la simulación del modelo con los valores iniciales por medio de métodos
numéricos se obtuvo la siguiente información:
Producto (P)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
4.375000
1.065814
3.019807
Tiempo 1.0 seg
11.289795
1.421085
7.283063
Tiempo 1.5 seg
17.860735
0.710543
9.237056
Tiempo 2.0 seg
21.847790
0.355271
8.526513
Tiempo 2.5 seg
24.267018
0.000000
6.750156
Y las salidas de los tres modelos resultan prácticamente idénticas, la diferencia es muy
pequeña, sin embargo, al calcular las razones de cambio entre las salidas y los
parámetros, se puede apreciar que los valores no son insignificantes (tabla anterior). En
la siguiente figura se pueden apreciar las salidas de los 3 modelos (original y con
variaciones en cada parámetro):
Figura 18: Comparación gráfica de las salidas de los tres modelos: 1-modelo original,
2-Modelo con una pequeña variación en el parámetro k1 y 3-Modelo con una pequeña
variación en el modelo k2.
Ahora se puede empezar a correr el algoritmo de Marquardt.
Con estos valores iniciales, se pudo obtener la primera suma de errores cuadrados
Φ 0 = 1301.7421432
La diferencia entre las predicciones y los datos reales es significativamente grande, se
puede notar en la cantidad de la suma de los errores cuadrados así como se puede
apreciar en la siguiente figura:
30
25
20
15
10
5
0
0.0
0.5
1.0
1.5
2.0
2.5
Figura 19: Comparación entre los datos reales (azul) y los datos estimados con los
valores iniciales (rosa).
Esta diferencia puede conducir el algoritmo hacia un valle de la superficie de la función
objetivo no deseado, en donde no se encuentre una solución aceptable o con solución de
los parámetros con valores absurdos, por mas que el algoritmo sea muy “inteligente”
puede arrojar resultados incongruentes debido a lo lejos que se encuentran los valores
iniciales de la realidad (falta de precisión).
Es preciso entonces probar con otros valores iniciales. Analizando la Figura 16 y la
Figura 19 se puede notar que el parámetro k2 es el parámetro “dominante” en el aumento
del producto (P), si el valor del parámetro k2 fuera 0 no habría aumento del producto,
permanecería en su valor inicial de 1, solamente habría un aumento y almacenamiento
del complejo sustrato (SC) con el flujo de este módulo al módulo del producto con una
tasa de cambio 0.
La gráfica de los datos reales (Figura 19) presenta un crecimiento muy pequeño del
producto, una producción muy pequeña, parecida mas a la gráfica del crecimiento nulo
con el parámetro k2 = 0. Por otro lado, si tomamos como 0 el valor del parámetro k2, el
parámetro k1 ya deja de tener influencia sobre el cambio de la concentración del
producto, las razones de cambio del producto respecto a éste parámetro (derivadas
aproximadas) darían todas 0 como se ve en la tabla siguiente; pero el problema estaría en
que el parámetro k1 dejaría de tener sentido en el modelo y su uso en el algoritmo nos
podría traer problemas como divisiones entre 0.
Lo mejor sería realizar un ajuste dando en el modelo el valor más grande que pueda
tener el parámetro k1 que es 1, esto es válido ya que el crecimiento no depende de este
parámetro siempre que k2 tiene un valor de 0, pero k1 si influye en la salida dado que
influye en la formación del complejo y este a su vez influye en el flujo para el aumento
del producto. Al dar un valor grande a k1 y uno pequeño a k2, se asegura la
independencia del aumento de producto de la variación del parámetro k1.
Por lo tanto, tomemos los valores de los parámetros como sigue:
Valor inicial de k1 : 1 u
Valor inicial de k2 : 0.01 u
Al correr la simulación con estos valores iniciales de los parámetros se obtuvo la
siguiente tabla:
Producto (Pi)
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
Tiempo 1.0 seg
Tiempo 1.5 seg
Tiempo 2.0 seg
Tiempo 2.5 seg
1.028933
2.908784
1.100246
10.125234
1.197898
20.050628
1.311465
31.619152
1.434099
44.009241
Con estos valores iniciales, se pudo obtener la primera suma de errores cuadrados
Φ 0 = 0.26031529076
Ahora la suma de los cuadrados de los errores es significativamente menor que la
anterior, la diferencia de las salidas se puede apreciar en la gráfica siguiente:
2.00
1.80
1.60
1.40
1.20
1.00
0.80
0.60
0.40
0.20
0.00
0.0
0.5
1.0
1.5
2.0
2.5
Figura 20: gráfica de los datos reales y las salidas generadas por el modelo con los
valores iniciales de los parámetros.
Los resultados del ajuste por el método del algoritmo de Marquardt con los valores
iniciales anteriores fueron los siguientes:
Valores iniciales:
k1 = 1
k2 = 0.01
Los resultados se muestran a continuación:
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.028933
0.022204
2.908784
Tiempo 1.0 seg
1.100246
0.066613
10.125234
Tiempo 1.5 seg
1.197898
0.111022
20.050628
Tiempo 2.0 seg
1.311465
0.133227
31.619152
Tiempo 2.5 seg
1.434099
0.155431
44.009241
Φ 0 = 0.26031529076
Primera iteración:
Valores:
k1= 0.92231
k2 = 0.00913
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.024627
0.022204
2.708944
Tiempo 1.0 seg
1.086189
0.066613
9.503509
Tiempo 1.5 seg
1.171592
0.111022
19.007018
Tiempo 2.0 seg
1.272089
0.155431
30.220271
Tiempo 2.5 seg
1.381727
0.177636
42.388315
Φ1−1 = 0.33696867017
Valores:
k1= 0.92162
k2 = 0.01042
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.028100
0.022204
2.708944
Tiempo 1.0 seg
1.098412
0.066613
9.525714
Tiempo 1.5 seg
1.196063
0.133227
19.073632
Tiempo 2.0 seg
1.311015
0.199840
30.331293
Tiempo 2.5 seg
1.436366
0.222045
42.543746
Φ1− 2 = 0.25914288575 < Φ 0 = 0.26031529076
Valores actuales de los parámetros: k1= 0.92162 k2 = 0.01042
Segunda iteración:
Valores:
k1= 0.88716
k2 = 0.01029
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.026844
0.022204
2.597922
Tiempo 1.0 seg
1.094444
0.088818
9.237056
Tiempo 1.5 seg
1.188903
0.155431
18.585133
Tiempo 2.0 seg
1.300710
0.199840
29.665159
Tiempo 2.5 seg
1.423210
0.222045
41.766590
Φ 2 −1 = 0.2777914389
Valores:
k1= 0.88713
k2 = 0.010710
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.027942
0.022204
2.620126
Tiempo 1.0 seg
1.098329
0.066613
9.237056
Tiempo 1.5 seg
1.196712
0.133227
18.585133
Tiempo 2.0 seg
1.313179
0.199840
29.687364
Tiempo 2.5 seg
1.440764
0.244249
41.810999
Φ 2 − 2 = 0.25418848269 < Φ1− 2 = 0.25914288575
Valores actuales de los parámetros: k1= 0.88713 k2 = 0.01071
Tercera iteración:
Valores:
k1= 0.86539
k2 = 0.0108
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.027573
0.022204
2.553513
Tiempo 1.0 seg
1.097322
0.088818
9.081624
Tiempo 1.5 seg
1.195205
0.155431
18.318680
Tiempo 2.0 seg
1.311496
0.222045
29.332092
Tiempo 2.5 seg
1.439276
0.266454
41.389114
Φ 3−1 = 0.25670216692
Valores:
k1= 0.86539
k2 = 0.0109
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.027829
0.022204
2.553513
Tiempo 1.0 seg
1.098230
0.088818
9.081624
Tiempo 1.5 seg
1.197037
0.155431
18.318680
Tiempo 2.0 seg
1.314428
0.199840
29.309888
Tiempo 2.5 seg
1.443413
0.244249
41.344705
Φ 3− 2 = 0.25127301992 < Φ 2 − 2 = 0.25914288575
Valores actuales de los parámetros: k1= 0.86539 k2 = 0.0109
Cuarta iteración:
Valores:
k1= 0.82972
k2 = 0.01133
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.027882
0.022204
2.464695
Tiempo 1.0 seg
1.098914
0.066613
8.792966
Tiempo 1.5 seg
1.199294
0.133227
17.830182
Tiempo 2.0 seg
1.319283
0.199840
28.688163
Tiempo 2.5 seg
1.451793
0.244249
40.611958
Φ 4 −1 = 0.24138150757
Valores:
k1= 0.82972
k2 = 0.01134
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.027906
0.044409
2.486900
Tiempo 1.0 seg
1.099002
0.111022
8.837375
Tiempo 1.5 seg
1.199473
0.177636
17.874591
Tiempo 2.0 seg
1.319570
0.222045
28.710367
Tiempo 2.5 seg
1.452199
0.266454
40.634163
Φ 4 − 2 = 0.2408630873 < Φ 3− 2 = 0.25127301992
Valores actuales de los parámetros: k1= 0.82972 k2 = 0.01134
Quinta iteración:
Valores:
k1= 0.79108
k2 = 0.01195
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.028200
0.044409
2.375877
Tiempo 1.0 seg
1.100602
0.111022
8.482104
Tiempo 1.5 seg
1.203706
0.177636
17.297275
Tiempo 2.0 seg
1.327797
0.244249
27.955416
Tiempo 2.5 seg
1.465627
0.310862
39.768189
Φ 5 −1 = 0.22506956912
Valores:
k1= 0.79108
k2 = 0.01195
Los valores de los parámetros propuestos en la iteración 5-2 son aparentemente los
mismos que los de la iteración 5-1. Realmente sí existe una diferencia entre los dos
vectores pero es menor que 0.00001, es por esta razón que aquí aparecen con la misma
cantidad, debido al redondeo a 5 decimales, de cualquier manera, la diferencia resulta
insignificante para este ejemplo, y se consideran a partir de ésta, la quinta iteración,
como iguales los dos vectores propuestos de cada iteración.
Entonces:
Φ 5 − 2 = 0.22506956912
Φ 5 − 2 = 0.22506956912 < Φ 4 − 2 = 0.2408630873
Valores actuales de los parámetros: k1= 0.79108 k2 = 0.01195
Sexta iteración:
Valores:
k1= 0.76779
k2 = 0.01232
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.028316
0.044409
2.309264
Tiempo 1.0 seg
1.101355
0.111022
8.304468
Tiempo 1.5 seg
1.205852
0.177636
16.964208
Tiempo 2.0 seg
1.332152
0.244249
27.489122
Tiempo 2.5 seg
1.472945
0.310862
39.190873
Φ 6 −1 = Φ 6 − 2 = 0.21678820215
Φ 6 − 2 = 0.21678820215 < Φ 5 − 2 = 0.22506956912
Valores actuales de los parámetros: k1= 0.76779 k2 = 0.01232
Séptima iteración:
Valores:
k1= 0.74481
k2 = 0.01269
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.028391
0.022204
2.242651
Tiempo 1.0 seg
1.101962
0.088818
8.104628
Tiempo 1.5 seg
1.207708
0.155431
16.608936
Tiempo 2.0 seg
1.336062
0.222045
27.000624
Tiempo 2.5 seg
1.479674
0.288658
38.613557
Φ 7 −1 = Φ 7 − 2 = 0.20938213584
Φ 7 − 2 = 0.20938213584 < Φ 6 − 2 = 0.21678820215
Valores actuales de los parámetros: k1= 0.74481 k2 = 0.01269
Octava iteración:
Valores:
k1= 0.72684
k2 = 0.01292
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
0.044409
2.198242
Salida que se estudia
Tiempo 0.5 seg
1.028284
Tiempo 1.0 seg
1.101839
0.111022
7.949197
Tiempo 1.5 seg
1.207943
0.199840
16.342483
Tiempo 2.0 seg
1.337163
0.288658
26.623148
Tiempo 2.5 seg
1.482173
0.377476
38.147263
Φ8 −1 = Φ8 − 2 = 0.20693570822
Φ8 − 2 = 0.20693570822 < Φ 7 − 2 = 0.20938213584
Valores actuales de los parámetros: k1= 0.72684 k2 = 0.01292
Novena iteración:
Valores:
k1= 0.7137
k2 = 0.01314
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.028301
0.022204
2.153833
Tiempo 1.0 seg
1.102096
0.111022
7.838175
Tiempo 1.5 seg
1.208831
0.199840
16.120438
Tiempo 2.0 seg
1.339145
0.288658
26.312286
Tiempo 2.5 seg
1.485705
0.355271
37.769787
Φ 9 −1 = Φ 9 − 2 = 0.20317468469
Φ 9 − 2 = 0.20317468469 < Φ8 − 2 = 0.20693570822
Valores actuales de los parámetros: k1= 0.7137 k2 = 0.01314
Décima iteración:
Valores:
k1= 0.69713
k2 = 0.01343
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.028325
0.022204
2.109424
Tiempo 1.0 seg
1.102428
0.088818
7.682743
Tiempo 1.5 seg
1.209974
0.199840
15.876189
Tiempo 2.0 seg
1.341696
0.288658
25.979219
Tiempo 2.5 seg
1.490262
0.355271
37.347903
Φ10 −1 = Φ10 − 2 = 0.19837627418
Φ10 − 2 = 0.19837627418 < Φ 9 − 2 = 0.20317468469
Valores actuales de los parámetros: k1= 0.69713 k2 = 0.01343
Decimoprimera iteración:
Valores:
k1= 0.683220
k2 = 0.013670
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.028315
0.044409
2.087219
Tiempo 1.0 seg
1.102599
0.111022
7.571721
Tiempo 1.5 seg
1.210717
0.222045
15.654145
Tiempo 2.0 seg
1.343499
0.310862
25.668356
Tiempo 2.5 seg
1.493623
0.399680
36.992631
Φ11−1 = Φ11− 2 = 0.19493239144
Φ11− 2 = 0.19493239144 < Φ10 − 2 = 0.19837627418
Valores actuales de los parámetros: k1= 0.69713 k2 = 0.01343
Decimosegunda iteración:
Valores:
k1= 0.67022
k2 = 0.01392
Producto (Pi)
∆Pi ∆k1
∆Pi ∆k 2
Salida que se estudia
Tiempo 0.5 seg
1.028340
0.044409
2.042810
Tiempo 1.0 seg
1.102885
0.133227
7.460699
Tiempo 1.5 seg
1.211676
0.244249
15.476509
Tiempo 2.0 seg
1.345625
0.355271
25.401903
Tiempo 2.5 seg
1.497421
0.444089
36.637360
Φ12 −1 = Φ12 − 2 = 0.1910097823
Φ12 − 2 = 0.1910097823 < Φ11− 2 = 0.19493239144
Término del ajuste
Valores ajustados de los parámetros: k1= 0.67022 k2 = 0.01392
Parámetros ajustados:
k1 = 0.67022
k2 = 0.01392
Φ = 0.1910097823
producto (moles/segundo)
Datos reales vs Ajuste
2.00
1.80
1.60
1.40
1.20
1.00
0.80
0.60
0.40
0.20
0.00
0.5
1.0
1.5
2.0
2.5
tiempo (segundos)
Figura 21: Gráfica de los datos reales y las predicciones con el ajuste de los
parámetros.
5. DISCUSIÓN
5.1.
AJUSTE DE PARÁMETROS EN UN MODELO ESTÁTICO
Como se mencionó anteriormente, los modelos estáticos encontrados comúnmente son pequeños modelos sencillos, fáciles de
ajustar. Los problemas mas significantes encontrados consisten en falta de linealidad en los parámetros, lo mas
recomendable es buscar la linealización de este modelo y ajustar por mínimos cuadrados lineales. Si el modelo resulta muy
difícil de linealizar o si no existe manera aceptable de lograrlo, se puede todavía utilizar algún algoritmo sencillo de ajuste
relativo a los mínimos cuadrados no-lineales.
En la mayoría de los casos, los modelos estáticos no presentan mayor problema en su ajuste, casi siempre se obtienen valores
precisos y de acuerdo al tipo de ecuación, se puede obtener una solución única.
5.2.
AJUSTE DE PARÁMETROS EN UN MODELO EMPÍRICO
El tipo de modelos empíricos que se encuentran comúnmente en la modelación de los
procesos biológicos consisten en modelos con solución explícita, esto se debe a la
naturaleza de este tipo de modelos. Si se requiere modelar un sistema con un modelo
empírico, se deben observar los datos, la manera en que se distribuyen y asignarles una
ecuación que describa su comportamiento, existen muchos modelos construidos en
forma explícita, y como los procesos biológicos son relativamente similares muchos
modelos pueden representar varios sistemas.
Escoger un modelo sencillo con ecuaciones explícitas es lo que generalmente se hace
cuando se desea realizar un ajuste en este tipo de modelos. Si se trata de modelar de
manera empírica se tiene la opción de escoger un modelo que sea lineal en los
parámetros que se van a ajustar.
El método de ajuste que se recomienda para este tipo de modelo es el de mínimos
cuadrados no-lineales, ya que la no-linealidad es un problema que comúnmente se
encuentra en este tipo de modelos. El que se recomiende que se escoja un modelo
sencillo no quiere decir que se tenga que escoger un polinomio, por ejemplo, los modelos
que existen para el crecimiento (Gompertz, Logístico, Bertalanffy) son adecuados en
cuanto a que tienen forma explícita y se puede construir un programa que haga el cálculo
de las derivadas de la ecuación y los cálculos de los resultados en cualquier programa
sencillo e introducir los valores en el algoritmo de Gauss-Newton o de Marquardt, y
obtener el ajuste de manera sencilla.
Para el ajuste de parámetros en esta sección se utilizó como se mencionó anteriormente
el método de Gauss-Newton, un método sencillo de implementar, y con este método se
obtuvieron ajustes adecuados que permitieron tomar decisiones y resolver los problemas
que se tenían.
5.3.
AJUSTE DE PARÁMETROS EN UN MODELO MECANÍSTICO DINÁMICO
Los modelos mecanísticos dinámicos son los que explican mejor un sistema y tienen mas reconocimiento científico que los
otros, además son los modelos mas usados o al menos los que mas se desean usar. Desafortunadamente, el tipo de ajuste para
estos modelos es también el más delicado de los tres tipos mas comunes de modelos estudiados (estáticos, empíricos y
mecanísticos dinámicos). El tipo de ajuste que se necesita es generalmente para modelos no-lineales en los parámetros
(mínimos cuadrados no-lineales), y como los métodos mas eficientes que se tienen son los métodos de iteración (GaussNewton, Levenberg-Marquardt y sus variantes), estos incluyen desde el principio el problema de los valores iniciales, que son
necesarios para obtener los nuevos parámetros, mejorados, en la primera iteración y así sucesivamente hasta obtener una
vector solución de los parámetros, esta solución se obtiene en base a un criterio de minimización de errores que como se vio
anteriormente, puede no ser la única solución y aún puede no ser la óptima, y todavía mas, puede ser que ni siquiera se
supiera si es o no solución única, o si es o no superable.
Los métodos de ajuste de parámetros en modelos dinámicos mecanísticos generalmente consisten en la minimización de los
errores cuadrados de las predicciones (función objetivo), y cuya función, como se vio antes, comúnmente se encuentra de
manera implícita dentro de un sistema de ecuaciones diferenciales que representan el sistema que se está modelando, y
precisamente al no conocer la función de predicción, obviamente no puede utilizarse un método que necesite de la ecuación
explícita de esta como la regresión lineal, o las transformaciones lineales. Aunque pueden obtenerse fácilmente las salidas de
el modelo con todos los valores de los parámetros por medio de métodos numéricos como Euler o Runge-Kutta, no se conoce
la interacción entre las variables, las constantes y los parámetros en forma de función matemática de estas salidas, y al no
tenerse esta ecuación que represente la variable que se modela en función de todos los elementos que intervienen de alguna
manera en su salida, muchas técnicas de ajuste resultan inservibles; también debido a este problema, el de desconocer la
ecuación de la variable que se quiere predecir en función de los elementos principales, se requiere de un tipo de método que
sea capaz de mover el vector inicial de los parámetros (valores iniciales) hacia un vector mejorado con un criterio de error
mínimo de predicción, se necesita que este método sea capaz de arrojar siempre una solución aceptable, que necesite no mas
de lo que se tenga disponible: los datos reales del sistema y el modelo que representa dicho sistema, ya sea en forma de
ecuaciones diferenciales o su equivalente en diagramas por módulos.
Los dos métodos que se estudiaron para el ajuste de este tipo de modelos son los mas conocidos y reconocidos en el tema de
ajustes de parámetros por mínimos cuadrados no-lineales el método de Gauss-Newton y el método de Levenberg-Marquardt.
Estos métodos resultan muy apropiados para este tipo de problema, requieren solamente un vector de valores iniciales de los
parámetros para comenzar a iterar, los datos reales y una matriz de las razones de cambio de la salida respecto a cada
parámetro (derivadas) que por medio de los mismos métodos numéricos se pueden obtener sin mayor problema. Y por
último lo que necesitan estos dos métodos son simples especificaciones de iteración como número máximo de iteraciones,
criterio mínimo para detener el algoritmo y dar la solución, etc.
Marquardt vs Gauss-Newton
El algoritmo de Marquardt comparte con los métodos del gradiente la habilidad de converger de un estimador inicial el cual
puede estar incluso fuera de la región de convergencia de otros métodos y comparte con el método de las series de Taylor la
habilidad de dirigirse hacia los valores convergentes rápidamente después de que la vecindad de los valores convergentes ha
sido alcanzado. De este modo, el método combina las mejores características de sus predecesores mientras evita sus más
serias limitaciones.
El método de Marquardt es más difícil de implementar que el algoritmo de GaussNewton, dado que uno debe decidir como manipular ambos, el factor condicionante k y
el factor de paso λ; sin embargo es implementado en muchos programas de mínimos
cuadrados no-lineales.
6. CONCLUSIONES Y RECOMENDACIONES
Para ajustar un modelo estático se recomienda usar el método de mínimos cuadrados lineales, estos modelos son
generalmente muy simples, se refieren a sistemas muy pequeños y a problemas sin mayores dificultades. Si el modelo no
presenta linealidad en los parámetros, se recomienda buscar un método que permita linealizar la función, y luego aplicar el
criterio de los mínimos cuadrados. En caso de encontrarse una manera de linealizar el modelo, se puede usar el criterio de
mínimos cuadrados para modelos no-lineales el cual resolverá el problema. Se recomienda recurrir al método más sencillo.
Para los ajustes de los modelos empíricos, se recomienda encontrar la solución explícita de la ecuación, si no es que ya se
tiene, ya que en la mayoría de los problemas se tienen modelos formados de ecuaciones con solución explícita. Con la
ecuación explícita se ajustan los parámetros con alguno de los métodos recomendados en este trabajo (mínimos cuadrados
lineales, mínimos cuadrados no lineales: Gauss-Newton o Marquardt), si el modelo no es tan complicado y de difícil
convergencia se recomienda utilizar el método de Gauss-Newton, en cambio, si el modelo no es tan sencillo y al intentar
ajustar los parámetros con Gauss-Newton no se logra una convergencia o tarda demasiado en obtenerse la solución, entonces
se recomienda el algoritmo de Marquardt. Si se logra un programa que contenga el algoritmo de manera que los cálculos
estén automatizados (integración de los métodos numéricos con los algoritmos de ajustes), disminuyendo lo tedioso de cada
iteración, se recomienda usar el algoritmo de Marquardt ya que consiste como se explicó antes en un método que involucra
las virtudes de otros métodos, entre ellos el de Gauss-Newton, evitando sus deficiencias. Afortunadamente existen varios
programas como estos, entre ellos están: Dynafit y KyPlot.
Para el ajuste de parámetros en un modelo mecanístico dinámico se recomienda trabajar con soluciones numéricas, el
programa Stella es muy útil para conseguir los resultados que necesita el algoritmo de Marquardt para obtener los ajustes
adecuados como se vio anteriormente.
Para todos los métodos es importante realizar un análisis de sensibilidad para saber si el modelo es único, además de conocer,
por más sencillo que sea el modelo, algunas hipótesis que nos haga tener una idea de lo que puede estar pasando con los
parámetros, si los valores que se obtienen son los óptimos y si pueden ser únicos. Y después de lograr obtener los valores
adecuados de los parámetros del modelo, interpretar los valores que se ajusten en el modelo dentro del sistema.
7. REFERENCIAS
Adler, F R (1998) "Introduction to discrete-time dynamic systems" En: Modeling the
Dynamics of Life: Calculus and Probability for Life Scientists. pp 1-117. Brooks/Cole
Publishing Company.
Baldwin, R L (1995) Modeling Ruminant Digestion and Metabolism. Chapman & Hall.
Bates, D M y Watts, D G (1988) Nonlinear regression analysis and its applications. John
Wiley & Sons.
Box, G E P (1999) Estadística para investigadores, introducción al diseño de
experimentos, análisis de datos y construcción de modelos. Editorial Reverté. Barcelona,
España.
Brown, D (1994) Models in biology: mathematics, statistics and computing. Babraham
Institute, Cambridge, UK.
Contreras J A (2002) Introducción a la implementación de controladores pid análogos,
http://www.automatas.org/hardware/teoria_pid.htm
Cornish-Bowden, A y Wharton, C W (1988) Enzyme kinetics. IRL Press.
Davis, P (1993) “Levenberg-Marquart methods and nonlinear estimation” En: Journal of SIAM. 26.
Draper, N R y Smith, H (1981) Applied regression analysis. John Wiley & Sons. New
York.
Elliot, M (2000) “Sensitivity analysis in optimization of time-distributed parameters for
a coronary circulation model”. Environmental Technology 21 10:1181-1191.
France, J
(1984) Mathematical models in agriculture: A quantitative approach to
problems in agriculture & related sciences. Biomathematics division. Grassland
Research Institute. Hurley, Maindenhead.
Giordano, F R (1997) A first course in mathematical modelling. 2nd edition,
Brooks/Cole publishing company. Pacific Grove, CA, USA.
González Sáenz C A (2001) “Modelos matemáticos aplicados al estudio de poblaciones
ruminales” Universidad Juárez autónoma de tabasco. División académica e ciencias
básicas.
Gutiérrez, J M y Sánchez F (1998) Matemática para las ciencias naturales. Aportaciones
matemáticas México.
Harrington, H J y Tumay, K (2000) "Introduction to process simulation" En: Simulation
Modeling Methods. pp 1-32. The McGraw-Hill Companies, Inc.
Jiang, B (2000) Parameters of accommodation and vergence systems determined by a
random search optimisation method. IOVS 41 4 :S819 March 15.
Levenberg, K (1944) A method for the solution of certain problems in least squares.
Quart. Appl. Math., 2:164-168.
Levin, M (1980) “Sensitivity analysis in optimisation of time-distributed parameters for
a coronary circulation model” En: Medical Progress Through Technology 7:119-124.
López, S (1999) A generalized Michaelis-Menten equation for the analysis of growth.
Departamento de producción animal, Universidad de León, E-24007 León, Spain.
Mander A (1999) Sensitivity analysis in optimisation of time-distributed parameters for
a coronary circulation model. Statistics in Medicine 18 20:2709-2722.
Marquardt, D W (1963) An algorithm for least-squares estimation of non-linear
parameters. Journal of SIAM, 11:431-441.
McWilliam S (1998) Test of a digestion optimisation model : Effects of costs of feeding
on digestive parameters. Physiological Zoology 71 2:168-178 March-April.
Montgomery D C y Peck E A (1992) Introduction to linear regression analysis 2nd
edition USA Wiley and sons, inc (toñoRegression-least squarestoño)
Panikov, N S (1995) Microbial growth kinetics, 1st edition. Chapman & Hall. London,
UK.
Rawn, D J (1989) Bioquímica. 1, Interamericana, McGraw-Hill, Madrid, España.
Richter, O (1990) Parameter estimation in ecology: the link between data and models.
VCH Verlagsgesellschaft mbH. D-6940 Weinheim. Federal Republic Of Germany.
Germany.
Saucedo-Castañeda, G y Soto, O (1999) Fundamentos de Cinética enzimática.
Departamento de biotecnología, CBS Universidad Autónoma Metropolitana-Iztapalapa,
México.
Salett, M y Hein, N (1996) Modelación matemática: Estrategia para enseñar y aprender
matemáticas. Departamento de matemática-CCEN. Universidad Regional de BlumenauFURB-Brasil.
Seber, G A F y Wild, C J (1989) Nonlinear regression. Wiley & Sons, New York.
Stryer, L (1981) Bioquímica, 2ª Edición. Editorial Reverté S-A, Barcelona. Capítulo 6.
Vargas, L M (2002) “Desarrollo de un Modelo Dinámico para la Simulación de la
Producción Bovina de Carne en el Trópico” Facultad de Medicina Veterinaria y
Zootecnia. Universidad Autónoma de Yucatán, México.
Zill, D G (1997) Ecuaciones diferenciales, con aplicaciones del modelado. International
Thomson editores, México.
Zwietering, M H y Jongenburger, F M (1990) “Modeling of the bacterial growth curve”
En: Applied and Environmental Microbiology 56:1875-1881. Italia.
http://www.uv.es/~baeza/optimi.html
8. ANEXO
{/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+}
{\+*+\+*+\+*+\+*+\+*+\+*+\+*+\+*+\+*+\+*+\+*+\+*+\+*+\+*+\+*+\+*+\+*+\+*+}
{/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+/+*+}
Program Marquardt_Algorithm;
Uses Crt;
{+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+}
Const
Niterations = 12;
Niterationsr = 12;
{------------------------}
N = 5; { Number of essays }
K = 2; { Number of parameters }
M= 1; { Number of variables }
{------------------------}
NK = 5; { M x (K,N) }
v = 10;
y0 = Pi/4;
{------------------------}
Type
Matrix =
Record
Mx, Nx : Byte;
Mtrx : array[1..NK,1..NK] of Real
End;
Var
X, Y
: Matrix; {Data}
P, A, f, Y_f, g
: Matrix; {For Computing}
Ax, gx
: Matrix; {Scaled Matrix}
Dx, D, b, bA, bB
: Matrix; {Scaled Matrix-Corrections & Vector}
R, Id
: Matrix; {Auxiliar Matrix & Identity}
IDlambda, Y_PLUS
: Matrix; {Virtual Matrix}
Ytemp
: Matrix; {Saves the winner matrix}
I, J
: Byte;
IJK, IJKr
: LongInt;
Lambdant
: Real;
Phir, Phi1, Phi2, Phi3 : Real;
yamma, Q, Kr
: Real; {For variation of the test iii}
Correlation
: Boolean; {in Marquardt's algorithm}
{=============================================================}
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
{=============================================================}
Procedure MMult(U,W: Matrix);
Var M1,M2,M3 : Byte;
Begin
R.Mx:= U.Mx; R.Nx:= W.Nx;
{--------------------------------------------------}
For M1:= 1 To R.Mx Do
For M2:= 1 To R.Nx Do
R.Mtrx[M1,M2]:= 0;
{--------------------------------------------------}
For M1:= 1 To U.Mx Do
For M2:= 1 To W.Nx Do
For M3:= 1 To U.Nx Do
R.Mtrx[M1,M2]:= R.Mtrx[M1,M2] + U.Mtrx[M1,M3]*W.Mtrx[M3,M2];
{--------------------------------------------------}
End;
{*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*}
Procedure MInv(U:Matrix);
Var M1,M2,M3 : Byte;
Begin
{--------------------------------------------------}
For M1:= 1 To U.Mx Do
Begin
For M2:= 1 To U.Mx Do
R.Mtrx[M1,M2]:= 0;
R.Mtrx[M1,M1]:= 1;
End;
{--------------------------------------------------}
For M1:= 1 To R.Mx Do
For M2:= R.Mx DownTo 1 Do
Begin
R.Mtrx[M1,M2]:= R.Mtrx[M1,M2]/U.Mtrx[M1,M1];
U.Mtrx[M1,M2]:= U.Mtrx[M1,M2]/U.Mtrx[M1,M1];
{--------------------------------------------------}
For M3:= 1 To M1-1 Do
Begin
R.Mtrx[M3,M2]:= R.Mtrx[M3,M2]-U.Mtrx[M3,M1]*U.Mtrx[M1,M2];
U.Mtrx[M3,M2]:= U.Mtrx[M3,M2]-U.Mtrx[M3,M1]*U.Mtrx[M1,M2];
End;
{--------------------------------------------------}
For M3:= M1+1 To R.Mx Do
Begin
R.Mtrx[M3,M2]:= R.Mtrx[M3,M2]-U.Mtrx[M3,M1]*U.Mtrx[M1,M2];
U.Mtrx[M3,M2]:= U.Mtrx[M3,M2]-U.Mtrx[M3,M1]*U.Mtrx[M1,M2];
End;
{--------------------------------------------------}
End;
R.Mx:= U.Mx; R.Nx:= U.Mx;
End;
{+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+}
Procedure MTrp(U:Matrix);
Var M1,M2 : Byte;
Begin
{--------------------------------------------------}
For M1:= 1 To U.Mx Do
For M2:= 1 To U.Nx Do
R.Mtrx[M2,M1]:= U.Mtrx[M1,M2];
{--------------------------------------------------}
R.Mx:= U.Nx; R.Nx:= U.Mx;
End;
{*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*}
Procedure MAdditive(U,V: Matrix; Typ: Byte);
Var M1,M2 : Byte;
Begin
{--------------------------------------------------}
If (Typ = 1) Then
For M1:= 1 To U.Mx Do
For M2:= 1 To U.Nx Do
R.Mtrx[M1,M2]:= U.Mtrx[M1,M2]+V.Mtrx[M1,M2]
Else
For M1:= 1 To U.Mx Do
For M2:= 1 To U.Nx Do
R.Mtrx[M1,M2]:= U.Mtrx[M1,M2]-V.Mtrx[M1,M2];
{--------------------------------------------------}
R.Mx:= U.Mx; R.Nx:= U.Nx;
End;
{=============================================================}
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
{=============================================================}
Procedure PrintMatrx(U:Matrix);
Var M1, M2 : Byte;
Begin
WriteLn; WriteLn;
For M1:= 1 To U.Mx Do
Begin
WriteLn(' ');
For M2:= 1 To U.Nx Do
Write(' ',U.Mtrx[M1,M2]);
WriteLn;
End;
End;
Procedure AssignHeaders;
Begin
X.Mx:= N; X.Nx:= M;
Y.Mx:= N; Y.Nx:= 1;
P.Mx:= N; P.Nx:= K;
A.Mx:= K; A.Nx:= K;
b.Mx:= K; b.Nx:= 1;
f:= Y; Y_f:= f;
g:= b;
Ax:= A; gx:= g;
Dx:= b; D:= Dx;
Id:= A;
IDlambda:= A;
Y_PLUS:= Y;
End;
{=============================================================}
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
{=============================================================}
Procedure FilIdMtrX(N:Byte);
Var M1, M2 : Byte;
Begin
Id.Mx:= N; Id.Nx:= N;
For M1:= 1 To N Do
Begin
For M2:= 1 To N Do
Id.Mtrx[M1,M2]:= 0;
Id.Mtrx[M1,M1]:= 1;
End;
End;
{=============================================================}
{+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+}
{*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*}
{=============================================================}
Procedure GetInitialb;
Var M1 : Byte;
Begin
ClrScr;
b.Mx:= K; b.Nx:= 1;
For M1:= 1 To K Do
Begin
Write(' Dame el Par metro #',M1,' inicial: ');
ReadLn(b.Mtrx[M1,1]);
WriteLn;
End;
End;
{----------------------------------------------------------------------------}
Procedure GetY_X_DATA;
Var M1, M2 : Byte;
Begin
ClrScr;
For M1:= 1 To N Do
Begin
Write(' Ingresar DATOS REALES del experimento ',M1,' o tiempo ',M1,'.');
WriteLn; WriteLn;
For M2:= 1 To M Do
Begin
WriteLn;
Write(' Valor de X ',M2,' del tiempo ',M1,': ');
ReadLn(X.Mtrx[M1,1]);
End;
WriteLn;
Write(' Valor REAL de Y ',M1,': ');
ReadLn(Y.Mtrx[M1,1]);
WriteLn;
End;
End;
{----------------------------------------------------------------------------}
Procedure Get_Estimated_Y;
Var M1 : Byte;
Begin
WriteLn;
Write(' Ingresa los estimados con los valores actuales de los par metros');
WriteLn;
For M1:= 1 To N Do
Begin
WriteLn;
Write(' Valor ESTIMADO del experimento ',M1,': ');
ReadLn(f.Mtrx[M1,1]);
End;
End;
{----------------------------------------------------------------------------}
Procedure Get_F;
Var M1, M2 : Byte;
Begin
ClrScr;
WriteLn('Los valores actuales de los ',K,' par metros son: ');
WriteLn;
For M1:= 1 To K Do
WriteLn(' Par metro ',M1,': ',b.Mtrx[M1,1]:0:5);
WriteLn;
ReadKey;
WriteLn('Ingresa los estimados de Y con estos valores de los par metros...');
For M1:= 1 To N Do
Begin
WriteLn;
Write(' X = ',X.Mtrx[M1,1]:0:5,' en el experimento ',M1);
End;
WriteLn;
For M1:= 1 To N Do
Begin
WriteLn;
Write('Estimado del experimento ',M1,': ');
ReadLn(f.Mtrx[M1,1]);
End;
Write(' G R A C I A S !!!!! :) _ :) ');
End;
{----------------------------------------------------------------------------}
Procedure GetP_nxk;
Var M1, M2 : Byte;
Begin
WriteLn; WriteLn;
WriteLn('
DATOS DE LA MATRIZ "P" D(fi)/D(bj) ');
WriteLn(' "Cambio de Y respecto al Cambio de c/par metro');
WriteLn('
(obtenerlos de Stella)');
WriteLn;
For M1:= 1 To N Do
Begin
WriteLn;
WriteLn(' Fila ',M1,'...');
For M2:= 1 To K Do
Begin
WriteLn;
Write('
Ingresar valor P[',M1,',',M2,']: ');
ReadLn(P.Mtrx[M1,M2]);
End;
End;
End;
Procedure Get_A;
Begin
GetP_nxk;
MTrp(P);
MMult(R,P);
A:= R;
End;
Procedure DoY_f;
Var M1 : Byte;
Begin
{ Dof;}
{ Get_F;}
For M1:= 1 To N Do
Y_f.Mtrx[M1,1]:= Y.Mtrx[M1,1]-f.Mtrx[M1,1];
End;
Procedure Get_g;
Begin
MTrp(P);
DoY_f;
MMult(R,Y_f);
g:= R;
End;
Procedure Do_Ax;
Var M1, M2 : Byte;
Begin
Ax:= A;
For M1:= 1 To K Do
For M2:= 1 To K Do
Ax.Mtrx[M1,M2]:= Ax.Mtrx[M1,M2]/(sqrt(A.Mtrx[M1,M1]*A.Mtrx[M2,M2]));
End;
Procedure Do_gx;
Var M1 : Byte;
Begin
gx:= g;
For M1:= 1 To K Do
gx.Mtrx[M1,1]:= gx.Mtrx[M1,1]/(sqrt(A.Mtrx[M1,M1]));
End;
Procedure Do_D;
Var M1 : Byte;
Begin
D:= Dx;
For M1:= 1 To K Do
D.Mtrx[M1,1]:= D.Mtrx[M1,1]/(sqrt(A.Mtrx[M1,M1]));
End;
Procedure ID_lambda(lambdant: Real);
Var M1, M2 : Byte;
Begin
IDLambda.Mx:= K; IDLambda.Nx:= K;
For M1:= 1 To K Do
Begin
For M2:= 1 To K Do
IDLambda.Mtrx[M1,M2]:= 0;
IDLambda.Mtrx[M1,M1]:= lambdant;
End;
End;
{*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*}
{+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+}
{---------------------------------------------}
Function GetFi(lambdant: Real): Real;
Var M1, M2 : Byte;
PsiPhi : Real;
Begin
PsiPhi:= 0;
ID_lambda(lambdant);
MAdditive(Ax,IDlambda,1);
MInv(R);
MMult(R,gx);
Dx:= R;
Do_D;
MAdditive(b,D,1);
bA:= R;
{ ClrScr;}
WriteLn; WriteLn; WriteLn;
WriteLn; WriteLn;
WriteLn(' Valores de los par metros con lambda = ',lambdant:0:9);
For M1:= 1 To K Do
Begin
Write(' b-',M1,': ',bA.Mtrx[M1,1]:0:5);
WriteLn;
End;
WriteLn;
ReadKey;
WriteLn(' Ahora, Calcula e ingresa los estimados de Y por favor...');
For M1:= 1 To N Do
Begin
Write(' Estimado de Y para las X del experimento o tiempo ',M1,': ');
ReadLn(Y_PLUS.Mtrx[M1,1]);
End;
MAdditive(Y,Y_Plus,7);
For M1:= 1 To N Do
PsiPhi:= PsiPhi+R.Mtrx[M1,1]*R.Mtrx[M1,1];
GetFi:= PsiPhi;
End;
{=============================================================}
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
{=============================================================}
Var aaa,bbb,ccc : Real;
Begin { MaRqUaRdT's AlGoRiThM }
TextBackGround(15); ClrScr;
Window(2,2,79,24);
TextColor(White); TextBackGround(0);
ClrScr;
Window(4,4,79,21);
GoToXY(30,9);
Write('PRESS ENTER');
If (Ord(ReadKey) = 0) Then
Correlation:= True
Else
Correlation:= False;
IJK:= 0; IJKr:= 0; Lambdant:= 0.01; FilIdMtrX(K);
AssignHeaders;
{---------------------------------------------}
{ GetY_X_DATA;}
X.Mtrx[1,1]:= 0.5;
X.Mtrx[2,1]:= 1.0;
X.Mtrx[3,1]:= 1.5;
X.Mtrx[4,1]:= 2.0;
X.Mtrx[5,1]:= 2.5;
{************}
Y.Mtrx[1,1]:= 1.035406;
Y.Mtrx[2,1]:= 1.139099;
Y.Mtrx[3,1]:= 1.310394;
Y.Mtrx[4,1]:= 1.551824;
Y.Mtrx[5,1]:= 1.868076;
{ END }
GetInitialb;
Get_Estimated_Y;
{---------------------------------------------}
Phir:= 0{initial b-value};
MAdditive(Y,f,7);
For I:= 1 To N Do
Phir:= Phir+R.Mtrx[I,1]*R.Mtrx[I,1];
{---------------------------------------------}
Correlation:= False;
Repeat
{---------------------------------------------}
ClrScr;
WriteLn('Valores actuales de los par metros: ');
WriteLn;
For I:= 1 To K Do
WriteLn('Par metro K',I,'= ',b.Mtrx[I,1]:0:5);
WriteLn;
Write('Suma de errores cuadrados= ',Phir:0:12);
ReadKey;
Get_A; Get_g; { To Can build next
}
Do_Ax; Do_gx; { To correct the vector of parameters }
{To Get The Lambda}
Phi1:= GetFi(Lambdant); {With new parameters in bB}
{---}Ytemp:= Y_PLUS;
bB:= bA;
WriteLn;
Write('Suma de errores cuadrados= ',Phi1:0:12);
ReadKey;
Phi2:= GetFi(Lambdant/v); {With new parameters in bA}
WriteLn;
Write('Suma de errores cuadrados= ',Phi2:0:12);
ReadKey;
{---------------------[C O M P A R I S O N S]---------------------------}
{*}
If (Phi2<=Phir) Then
Begin
Lambdant:= Lambdant/v;
WriteLn(' Fi con lambda = ',Lambdant,' MENOR que Fi anterior');
WriteLn;
WriteLn('
',Phi2:0:12,' < ',Phir:0:12,' ');
ReadKey;
Phir:= Phi2;
f:= Y_PLUS;
b:= bA; {Save parameters' vector}
End
{*}
Else If ((Phi2>Phir) And (Phi1<=Phir)) Then
Begin
WriteLn(' Fi con lambda = ',Lambdant,' MENOR que Fi anterior');
WriteLn;
WriteLn('
',Phi1:0:12,' < ',Phir:0:12,' ');
ReadKey;
Phir:= Phi1;
f:= Ytemp;
b:= bB; {Save parameters' vector}
End
{*}
Else If ((Phi2>Phir) And (Phi1>Phir) And Not(Correlation)) Then
Begin
Write(' Calculando lambda con potencia...');
ReadKey;
Repeat
Lambdant:= Lambdant*v;
Phi1:=GetFi(Lambdant);
Inc(IJKr,1);
Until ((Phi1<=Phir) Or (IJKr=Niterationsr));
If (Phi1<=Phir) Then
Begin
WriteLn(' Fi con lambda = ',Lambdant,' MENOR que Fi anterior');
WriteLn;
WriteLn('
',Phi1:0:12,' < ',Phir:0:12,' ');
ReadKey;
Phir:= Phi1;
f:= Y_PLUS;
IJKr:= 0;
b:= bA; {Save parameters' vector}
End
End
Else
Begin
ID_Lambda(lambdant);
MAdditive(A,IDLambda,1);
MTrp(R);
MMult(R,g);
{ dT:= gT(A + lambda*I) }
Ytemp:= R;
{ This (Ytemp) is d0[kx1] }
{***}
MTrp(Ytemp);
MMult(R,g);
{
dT*g
}
Q:= R.Mtrx[1,1]; { Upper side of the cosine of yamma }
MTrp(Ytemp);
{ dT
}
MMult(R,Ytemp); { dT . d
}
Q:= Q/R.Mtrx[1,1];
MTrp(g);
MMult(R,g);
Q:= Q/R.Mtrx[1,1];
aaa:= 1-sqr (Q);
bbb:= sqrt(aaa);
ccc:= bbb/Q;
yamma:= {ArcCos(x);} ArcTan (sqrt (1-sqr (Q)) /Q);
If (yamma >= Pi/4) Then
Kr:= 1
Else
Kr:= 0.01;
MTrp(Ytemp);
For I:= 1 To K Do
bA.Mtrx[I,1]:= b.Mtrx[I,1]+Kr*R.Mtrx[I,1]; { b:= b + Kr*d }
bA:= b;
End;
{*}
{---------------------[C O M P A R I S O N S]---------------------------}
{---------------------------------------------}
{---------------------------------------------}
Inc(IJK,1);
Until (IJK = Niterations);
End.
{=============================================================}
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
{=============================================================}
Descargar