Taller de Cómputo Ecuaciones simples de modelado. Existen diversos modelos en las Ciencias Biológicas que se representan como ecuaciones diferenciales. Algunos de ellos son modelos sencillos, descritos por una ecuación diferencial de primer orden, que además es separable, es decir, se puede despejar cada una de las variables para solucionar la ecuación por integración. A continuación se listan algunos ejemplos de este tipo de modelos. La mayoría de ellos fueron discutidos en clase. Todos los modelos que aquí se presentan son analíticos o teóricos: las relaciones fueron determinadas con base en conceptos definidos y conocidos (teóricos) del tema particular. 1. Crecimiento ilimitado: dN/dt = µN => Nt = No exp(µt) por separación de variables Ejemplo: crecimiento de bacterias sin limitaciones. 2. Decaemiento: dC/dt = -kC => Ct = Co exp(-kt) Ejemplo: decaemiento radioactivo del Fosforo32 3. Distribución de organismos: dN/dx = -RN => Nt = No exp(-Rx) 3.1. Modelo de McLay (1970) de densidad de crustaceos o insectos inmaduros en el cauce de un rio. Ejemplo: arrastre de larvas de insectos chironomid 3.2. Modelo de Van Dover (1987) de densidad de cangrejo de agua profunda, Bythograea, alrededor de una ventilación hidrotérmica. 4. Ley de enfriamiento de Newton: dT/dt = -k(T-C) => Tt = C + (To - C) exp(-kt) Ejemplo: enfriamiento de un cadáver humano 5. Difusión de membrana: dC/dt = -k(C-Cx) => Ct = Cx + (Co - Cx) exp(-kt) Ejemplo: difusión celular 6. Modelo de Von Bertalanffy de crecimiento de peces: dL/dt = k(Lm-L) => Lt = Lm + (Li - Lm) exp(-kt) Ejemplo: crecimiento del glossidium luteum 7. Modelo de crecimiento inhibido: dN/dt = kN(L-N) => Nt = NoL/(No + (L - No) exp(-Lkt)) Ejemplo: crecimiento de población en un ambiente limitado 8. Cinética de reacciones bimoleculares: d[B]/dt = -k[A][B]=-k[B]2 para [A]=[B] => 1/[B]t = kt + 1/[B]o, [B]t = [B]o/(1+[B]o kt) :2° orden d[B]/dt = -k[A][B]=-k'[B] para [A]>>[B] => [B]t = [B]o exp(-k't) : 1er orden Ejemplo: reacción bimolecular de 2º orden EJERCICIO: Simule tres de los fenómenos descritos con los modelos planteados, usando los parámetros establecidos por el profesor. Cuando sea posible, cambie los parámetros del modelo. Realice gráficas de cada simulación realizada. Describa porque pueden cambiar dichos parámetros y el efecto que tienen sobre el fenómeno observado, de acuerdo con la simulación. Utilice sus conocimientos en química, física y biología para argumentar sus respuestas. ¿Qué suposiciones hace cada modelo? ¿Cuáles son sus limitaciones? Modelos analíticos basados en estados estables. En muchas ocasiones es necesario describir el comportamiento de un fenómeno cuando “no está cambiando”. Dependiendo del fenómeno esta condición puede ser de equilibrio, estado estable, estado estacionario o estabilidad. La característica importante de los modelos de equilibrio, es la suposición de que el sistema es aislado o cerrado. Si bien es difícil conseguir estabilidad en sistemas biológicos, esta suposición es importante para la formulación y análisis de varios modelos. La saturación que se observa en diversos problemas biológicos, (p.e. en reacciones enzimáticas), es esencialmente un fenómeno de equilibrio. A continuación se describe un modelo de saturación de depredación. Condiciones y suposiciones: 1. Los depredadores pueden estar en dos condiciones: hambrientos o saciados 2. Los depredadores saciados atraparon y se comieron a una sola presa, y no cazan más. 3. Cuando un depredador saciado digirió a su presa, se vuelve hambriento y busca otra presa. 4. Razón de saciedad (captura + consumo) proporcional a la densidad de presas y de depredadores hambrientos. 5. Razón de regreso al hambre proporcional a la densidad de depredadores saciados. N + PH s u Ps Diagrama del proceso: N, PH, PS: densidad de presas, depredadores hambrientos y saciados, respectivamente. Para un número constante de presas, el sistema alcanza un estado estable, en el cuál las razones de saciedad y regreso al hambre se igualan: uPS = sNPH Si población total de depredadores es P = PS + PH, uPS = sN(P – PS) NP , con k = u/s. por lo tanto, PS = k+N En esta ecuación se puede observar que existe una relación hiperbólica entre la densidad de depredadores saciados y la de presas. Ahora, asumiendo estado estable, y para un intervalo de tiempo finito (∆t), el cambio en la población de presas debido a depredación (∆NP ) está dado por la ecuación: ∆ NP = sNPH ∆t = sN(P − PN ) k+N kN k+N uN =P k+N = sP De esta manera, la pérdida de presas debida a depredación puede calcularse en función del número total de depredadores y de presas: ∆N P = P uN ∆t k+N EJERCICIO: Suponga que en una isla grande hay una población constante de 15 lobos que se alimentan exclusivamente de renos. La población de renos fluctúa anualmente y puede ir de 50 hasta 1000 individuos. Para un año particular, la población promedio de renos fue de 50 individuos y se sabe que los lobos mataron a 125 de ellos. Por otro lado se sabe que k=200 renos. Simule y grafique la relación entre la población de renos y el número de renos perdidos por depredación. Estimación de los coeficientes del modelo basándose en datos experimentales. Existen dos tipos de modelos matemáticos: los analíticos, que se determinan a partir de la teoría y los empíricos, que se definen a partir de datos experimentales sin que exista una relación específica dada por la teoría (si bien esta se puede analizar posteriormente). En ambos casos es necesario determinar coeficientes del modelo basándose en datos experimentales. En el segundo caso además requerimos definir el tipo de ecuación (o relación) que tienen nuestras variables. Por ejemplo, si realizamos un experimento de crecimiento, para definir completamente el modelo necesitamos el valor de la constante µ. En este caso el modelo es teórico, sabemos que existe una relación exponencial entre la variable independiente, tiempo y la dependiente, población. Usando mis datos experimentales debo estimar el valor de µ. Si no conozco la relación entre las variables, necesito definirla antes de estimar los coeficientes o parámetros de la ecuación de modelado. De esta manera, los pasos a seguir (es un resumen, los vimos en extenso en clase) son: 1. Definición de variables y obtención de datos experimentales 2. Graficado de los datos 3. Determinación de las ecuaciones a ajustar por: 3.1. Consideraciones teóricas 3.2. Trabajos previamente reportados 3.3. Observación (seleccionar al menos dos si no se conoce la relación previamente) 4. Transformación lineal de las variables (usar la tabla dada en clase) 5. Ajuste lineal. 5.1. Obtención de pendiente y ordenada al origen 5.2. Graficado de datos linealizados y ajustados 6. Evaluación del ajuste lineal 6.1. Coeficiente de correlación lineal 6.2. Gráfica del error (en los datos linealizados) 6.3. Suma del error cuadrático 6.4. Prueba F a la regresión 7. 8. Cálculo de los coeficientes o parámetros (usar la tabla dada en clase) Evaluación del ajuste de la curva 8.1. Gráfica de datos originales y ajustados (y) 8.2. Gráfica del error (en la curva original) 8.3. Suma del error cuadrático 9. Selección del mejor modelo según el ajuste * Si hay datos que se salen mucho del comportamiento general o particularidades dadas por la ecuación o transformación lineal, hay que eliminar esos datos y posteriormente evaluar el ajuste con todos los datos. Cuando no se desea analizar la relación causal entre los datos (o no se necesita), otra opción es modelarlos usando una relación polinomial: y = A0 + A1 x + A2 x2 + A3 x3 + … Lo anterior se hace por medio de una regresión polinomial y puede ser evaluada en forma similar a la descrita anteriormente. EJERCICIO: Con datos experimentales, determine cuál es el mejor modelo y realice la estimación de los parámetros (compare por lo menos dos modelos). Además, determine la relación polinomial que describe su fenómeno. Compare y discuta los resultados. Recuerde que su discusión debe incluir las limitaciones del modelo, las suposiciones realizadas, y los “aspectos biológicos” del fenómeno modelado. Solución numérica a ecuaciones diferenciales. En ocasiones la solución analítica de una ecuación diferencial (o de un sistema de ecuaciones diferenciales) no es sencilla. En estos casos se pueden resolver las ecuaciones en forma numérica. En particular, en el modelado en las ciencias biológicas esto es frecuente ya que las relaciones frecuentemente son no lineales. Existen diversos métodos de solución numérica de ecuaciones diferenciales. Nos enfocaremos al más simple (método de Euler), aunque no sea muy exacto; si se entienden los principios de éste, la comprensión de métodos más complejos y exactos se facilitará. Todos los métodos de integración numérica se basan en que para pequeños cambios incrementales en x (variable independiente), ∆y/∆x se aproxima a dy/dx. De hecho, dy/dx se define como: dy lim ∆y = ∆ x → 0 ∆x dx Si la ecuación diferencial a resolver es: dy = f ( x, y ) dx ∆y ≅ f ( x , y ) ∴ ∆y ≅ f ( x , y ) ∆x ∆x Conociendo el valor de y en x (yx), para determinar el nuevo valor de y después de ∆x, y x + ∆x = y x + ∆y x , donde ∆yx se determina de la ecuación anterior. Entonces, El método de Euler se lista a continuación: 1. Valores iniciales: 2. Para cada valor de x, 3. Evalúa la función f(x,y) para el dato actual, i 4. Calcula el valor de ∆y, para el valor actual de x 5. Calcula el nuevo valor de y, para el dato siguiente, i+1 y (i ) = y o , i = 0 ó 1 según el programa usado Para i = 1 hasta (número de datos de x) –1, fun = f(x(i),y(i)) ∆ y = fun*∆x = fun* (x(i+1) – x(i)) y(i+1) = y(i) + ∆y El error de este método depende fuertemente del tamaño de los pasos en x, es decir, de que tan pequeño es ∆x ó x(i+1) – x(i). Mientras más chico sea, menor será el error. EJERCICIO: Para uno de los problemas resueltos en forma analítica (p.e. ecuación de crecimiento) determinar la solución numérica (usando los pasos dados anteriormente (p), p/10 y p/100) y el error en cada caso. Los métodos de integración numérica para resolver ecuaciones diferenciales ordinarias de primer orden (como el método de Euler planteado) se pueden expandir fácilmente para la solución de sistemas de ecuaciones diferenciales ordinarias o de ecuaciones de órdenes mayores a uno. Como ejemplo usaremos un sistema de dos ecuaciones: dy dz = f ( x, y , z ) = g ( x, y , z ) dx dx 1. y(1) = yo z(1) = zo 2. para i=1 hasta (número de datos de x)-1 3. f1 = f(x(i),y(i),z(i)) 4. g1 = g(x(i),y(i),z(i)) 5. Dy = f1*Dx 6. Dz = g1*Dx 7. y(i+1) = y(i)+Dy 8. z(i+1) = z(i)+Dz En el caso de ecuaciones de órdenes superiores, se puede transformar la ecuación para obtener un sistema de n ecuaciones de primer orden, donde n era el orden de la ecuación original. Por ejemplo: 2 d y = f ( x, y ) 2 dx definiendo la variable z como la primera derivada de y con respecto a x, dy =z dx 2 dz d y = = f ( x, y ) dx dx queda un sistema de dos ecuaciones de primer orden que puede solucionarse numéricamente con el procedimiento descrito. Modelado probabilístico. Hasta ahora hemos trabajado con modelos determinísticos, es decir, suponemos que la relación entre las variables está perfectamente determinada y que las variaciones que se encuentran respecto a la curva “teórica” están dadas por errores en la medición o control del experimento. Otro tipo de modelos son los probabilísticos, donde suponemos que las relaciones no son completamente fijas y que pueden estar dadas por una función de probabilidad. Algunos ejemplos son la distribución de especies en una comunidad de organismos, la caminar de algunos insectos, la distribución de medidas (ancho y largo) de las hojas. De hecho, dada la complejidad de muchos sistemas biológicos y la problemática en mantener el control de todas las variables involucradas, en muchas ocasiones se realizan modelos probabilísticos de fenómenos para los que existe un modelo analítico determinístico. Por otro lado, el modelado probabilístico se usa también para realizar simulaciones de datos o poblaciones con determinadas características estadísticas. Para ello, necesitamos generar números aleatorios (al azar) con cierta distribución de probabilidad. Entre las distribuciones de probabilidad más comunes están la normal (gaussiana, media = 0, desviación estándar = 1), la uniforme (los valores van de 0 a 1, con la misma probabilidad), la de Poisson, la binomial y la exponencial. Varios programas cuentan con generadores de números aleatorios, principalmente uniformes y normales. En particular, en Matlab se usan las funciones rand para una distribución uniforme y randn para una normal (x=rand(n,m); x=randn(n,m); x será una matriz de nxm con los números aleatorios). Para el caso de Excel, una vez activadas las herramientas de análisis de datos (herramientasÆmacros automáticas (complementos para MSOffice97)Æactivar: herramientas para análisis), en herramientasÆanálisis de datosÆgeneración de números aleatorios, permite generar variables (columnas) con varios números aleatorios de diferentes distribuciones y parámetros. Dado que la gaussiana es la distribución más usada, veremos como cambiar una distribución normal G(0,1) a una gausiana, G(m,de): sea x un número aleatorio con distribución normal, y=de*x+m tiene una distribución gaussiana de media m y desviación estándar de. Hay una consideración más que hacer: los generadores de números aleatorios por definición y conveniencia deben generar números independientes, es decir que si generan n números, ellos no tengan relación estadística entre sí. Sin embargo, en ocasiones se requiere que exista cierta dependencia o relación. Por ejemplo, si estamos simulando la distribución espacial de varios organismos en una región dada, la distribución de cada tipo de organismo puede depender de la de los demás por cuestiones de competencia en la alimentación, relaciones depredador-presa, relaciones simbióticas, etc. Más aún, la ubicación de un individuo determinado puede depender de la ubicación de los demás, aún para la misma especie. En esos casos las variables aleatorias independientes se deben transformar para obtener las relaciones deseadas. Esas transformaciones pueden estudiarse en un libro de procesos estocásticos (si tienen interés, pueden buscarme para explicárselos). EJERCICIO: Simule una comunidad de 200 individuos con organismos de 10 tipos distintos. Cada tipo de organismo tiene la misma probabilidad de existir en la comunidad. Con una gráfica de barras o pay muestre la distribución de organismos en esa comunidad. Repita para 500 individuos.