Diferencia entre revisiones de «Modelo para epidemias. Grupo 6-C»

De MateWiki
Saltar a: navegación, buscar
Línea 244: Línea 244:
  
  
 +
Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.<br />
 +
 +
Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de  <math> S_0 </math> son superiores al coeficiente de la tasa de remoción relativa <math>(\rho = \frac{a}{r} ) </math><br />
 +
 +
: '''''NOTA''': En este apartado hemos representado cada gráfica solamente con dos pasos en vez de tres, ya que como se ha podido ver la diferencia de precisión es imperceptible, de manera que para no saturar con demasiadas gráficas hemos optado por obviar los casos en los que h=0.001.''
 +
: ''En caso de que quisiésemos conocer estas gráficas bastaría con copiar el código de las anteriores sustituyendo el valor de h.''
 +
: ''En todos los casos la diferencia de tamaños de los intervalos escogidos nos permiten comprobar mejor cómo es el comportamiento de las diferentes variables ya que en algunos casos, hay intervalos que no tienen la longitud suficiente para recoger toda la información. Especialmente un intervalo de mayor tamaño nos permite saber a qué valores tienden asintóticamente el número de ciudadanos infectados, susceptibles y removidos al cabo de un largo periodo de tiempo.'' <br />
 +
<br />
 +
Interpretaremos por tanto los 3 casos propuestos en el apartado anterior:<br />
 +
<br />
 +
'''Caso 1:''' <br />
 +
 +
* De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.
 +
* Decimos que se cumple que la duración media de la epidemia sea de <math> \frac{1}{a} </math>  (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.
 +
* El número de infectados no es inferior al inicial hasta la semana 20.
 +
* De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.
 +
<br />
 +
 +
'''Caso 2:'''<br />
 +
 +
* A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.
 +
* En este caso no podemos considerar la duración media de la epidemia como <math> \frac{1}{a} </math>,  ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.
 +
* También aquí vemos que la tasa de reproducción de la infección <math> (R_0=\frac{r}{a} \cdot S_0)</math>  debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.
 +
<br />
 +
 +
'''Caso 3''':<br />
 +
 +
* El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.
 +
<br />
 +
 +
<pre style="white-space: pre-wrap;
 +
white-space: -moz-pre-wrap;
 +
white-space: -pre-wrap;
 +
white-space: -o-pre-wrap;
 +
word-wrap: break-word;">
 +
Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.
 +
</pre>
 +
<br />
  
  

Revisión del 11:17 3 may 2016

Trabajo realizado por estudiantes
Título Modelo para epidemias. Grupo 6-C
Asignatura Ecuaciones Diferenciales
Curso Curso 2015-16
Autores

Manuel Jesús García Vega
Alberto Jordá Laguna
Pablo Molinero Brito

Este artículo ha sido escrito por estudiantes como parte de su evaluación en la asignatura


1 Introducción

En este artículo vamos a centrar nuestro estudio en el desarrollo de modelos que nos permitan hacer una estimación del comportamiento temporal de una enfermedad infecciosa sin extensión espacial.

Suponemos las siguientes hipótesis:

1. La población es un número fijo N y cada miembro de la población es susceptible a la enfermedad. 


2. La duración de la enfermedad es larga, de manera que no se cura durante el periodo de estudio. 


3. Todos los individuos infectados son contagiosos y circulan libremente entre la población.

4. Durante cada unidad de tiempo cada persona infectada tiene c contactos y cada contacto con una persona no infectada redunda en la transmisión de la enfermedad.

2 Cálculo del número de contactos aproximados 'c'

Para realizar el cálculo del número de contactos ‘aproximados’ c que tiene una persona por unidad de tiempo emplearemos un método numérico basado en la siguiente ecuación logística: Ecuación Logística.png

donde:

I(t): Número de personas contagidas al cabo de un tiempo de t semanas.

c: Número de contactos que tiene una persona pasadas t semanas.

N: Población total en el lugar de estudio.

Además sabemos que los servicios de salud pública registran la difusión de una epidemia de gripe de duración particularmente larga en una ciudad de 500 000 personas. Al inicio de la primera semana de registro se habían contabilizado 200 casos; durante la primera semana aparecieron 300 nuevos casos.

Para obtener el número de contactos utilizaremos el siguiente método númerico, el cual está basado en el método de Euler.

clear, close all
%Datos del problema
y=[];
y0=200;
c=linspace(1/100,99/100,99);
N=500000; %Población total;
x=linspace(0,300,99);
n=length(c); %numero de puntos
c0=c(1); 
Y=N
%Esquema númérico
for i=1:n
    Yfinal=Y;
    Y=N*y0/(y0+(N-y0).*exp(-c(i))); % en t=1
    y=[y;Y]
    if abs(Y-500)<=abs(Yfinal-500)
        c0=c(i)
    end
end
min(abs(y-500)) %Error absoluto mínimo
plot(c,abs(y-500))


Al ejecutar el programa obtenemos el siguiente gráfico que representa la evolución del error que se produce para cada valor de c. Y se obtiene el valor de c que minimiza el error el cual es igual a 0,92.

EpidemiaEuler.jpg

3 Evolución de los Infectados por la Epidemia

Para determinar la evolución de los infectados por la epidemia conforme avanza el tiempo, emplearemos el método de Hern y el método de Runge Dutta de orden 4.

Método de Heun:

MétodoHeun.png

Método Runge-Kutta:

MétodoRungeKutta.png

t0=0;
h=0.01;
z=[];
y=[];
y0=200;
z0=200
y(1)=y0;
z(1)=z0;
c =0.92;
N=500000;
for i=1:N;
while y<400000 & z<400000
% Método de Heun
K1H=(c*z(i))/N*(N-z(i));
K2H=(c*(z(i)+K1H*h))/N*(N-(z(i)+K1H*h));
z(i+1)=z(i)+(h/2)*(K1H+K2H);

%Método de Runge Kutta
k1=(c*y(i))/N*(N-y(i));
k2=(c*(y(i)+1/2*k1*h))/N*(N-(y(i)+1/2*k1*h));
k3=(c*(y(i)+1/2*k2*h))/N*(N-(y(i)+1/2*k2*h));
k4=(c*(y(i)+k3*h))/N*(N-(y(i)+h*k3));
y(i+1)=y(i)+(h/6)*(k1+2*k2+2*k3+k4);
i=i+1
end
end
%Discretización variable independiente
tN1=h*(length(y)-1);
tN2=h*(length(z)-1);
ty=t0:h:tN1;
tz=t0:h:tN2;
Semana_maxima_infeccion=[ty(end) tz(end)]
ValorAproximado=[y(7/h),z(7/h)]
hold on 
plot(ty,y,'b')
plot(tz,z,'r')
legend('Runge Kutta','Heun','Location','best')
hold off


4 2a Parte: Modelo SIR

Ahora vamos a usar un modelo más general para estudiar la enfermedad, que divide la población total N en susceptibles de ser infectados(S), infectados(I), y removidos, que agrupa tanto a los curados como a los muertos (R). Así, el modelo, que tiene tres incógnitas, S(t), I(t) y R(t), y llamando r a la tasa de infección y a a la de remoción, lo podemos escribir:

Modelo SIR

4.1 Demostración de que S\left ( t \right )+I\left (t\right )+R\left ( t\right )=N

Sumando la variación de los susceptibles, los infectados y los removidos, vemos que esta es igual a 0, lo que nos quiere decir que la población total N es constante: \frac{\partial S}{\partial t}+\frac{\partial I}{\partial t}+\frac{\partial R}{\partial t}= S’\left ( t \right )+I’\left (t\right )+R’\left ( t\right )\left ( -rSI \right )+\left ( rSI-aI \right )+\left ( aI\right )=0, Además, si sumamos sus valores iniciales vemos que estos son igual a la población total, y al ser ésta constante, vemos que se demuestra el enunciado inicial S\left ( 0 \right )+I\left (0\right )+R\left ( 0\right )=N

4.2 Demostraciones analíticas con la tasa de remoción relativa

Primera demostración del apartado 4.2
Segunda demostración del apartado 4.3

Llamamos tasa de remoción relativa a: \rho =\frac{r}{a} Vamos a demostrar que si dicha tasa es mayor o igual que el número de personas susceptibles iniciales, S\left ( 0 \right ), no hay epidemia, ya que el número de infectados no aumenta: También vamos a demostrar que, si dicha tasa es menor que la población susceptible inicial, habrá epidemia, pues aumentarán el número de infectados:

4.3 Resolución numérica

Ahora vamos a resolver numéricamente el problema de epidemias, usando los métodos de Euler, Euler implícito y Runge-Kutta de orden 4. Los aplicaremos a 3 casos, cada uno con diferentes datos, y probando con diferentes anchuras de paso: Mostramos el código para el primer caso con h=0.1

t0=0;%Intervalo de tiempo y anchura de paso
;tf=4;
h= 0.1
S0=159985; I0=15; % datos de la población 
r=0.0000218; a=0.341; R0=0;
t=t0:h:tf;
k=((tf-t0)/h);
Se=[]; % método de euler
Ie=[];
Re=[];
Si=[]; % euler implícito
Ii=[];
Ri=[];
Sr=[]; % runge-kutta
Ir=[];
Rr=[];
Se(1)=S0;
Ie(1)=I0;
Re(1)=R0;
Si(1)=S0;
Ii(1)=I0;
Ri(1)=R0;
Sr(1)=S0;
Ir(1)=I0;
Rr(1)=R0;
% esquema numérico euler
for i=1:k
    Ie(i+1)=Ie(i)+h*(r*Se(i)*Ie(i)-a*Ie(i));
    Se(i+1)=Se(i)+h*(-r*Se(i)*Ie(i));
    Re(i+1)=Re(i)+h*(a*Ie(i));
end
% esquema numérico euler implícito (es necesario despejar la I, la S y la R de (j+1) para definir el código
for j=1:k
  Ii(j+1)=Ii(j)/(1-(h*r*Si(j))+a*h);
  Si(j+1)=Si(j)/(1+r*h*Ii(j));
  Ri(j+1)=Ri(j)+h*(a*Ii(j));
end
%esquema numerico runge-kutta
for n=1:k
 k1S = -r*Sr(n)*Ir(n); 
 k1I = r*Sr(n)*Ir(n)-a*Ir(n);
 k1R = a*Ir(n);
 k2S = -r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h);
 k2I = r*(Sr(n) + 1/2*k1S*h)*(Ir(n) + 1/2*k1I*h)-a*(Ir(n) + 1/2*k1I*h);
 k2R = a*(Ir(n) + 1/2*k1I*h);
 k3S = -r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h);
 k3I = r*(Sr(n) + 1/2*k2S*h)*(Ir(n) + 1/2*k2I*h)-a*(Ir(n) + 1/2*k2I*h);
 k3R = a*(Ir(n) + 1/2*k2I*h);
 k4S = r*(Sr(n) + k3S*h)*(Ir(n) + k3I*h);
 k4I = r*(Sr(n) + k3S*h)*(Ir(n) + k2I*h)-a*(Ir(n) + 1/2*k2I*h);
 k4R = a*(Ir(n) + k3I*h);
Sr(n+1) = Sr(n) + (h/6)*(k1S+2*k2S+2*k3S+k4S); 
Ir(n+1) = Ir(n) + (h/6)*(k1I+2*k2I+2*k3I+k4I); 
Rr(n+1) = Rr(n) + (h/6)*(k1R+2*k2R+2*k3R+k4R); 
end
hold on
plot(t,Ia,'--g',t,Sa,'--m',t,Ra,'--b')
plot(t,Ib,':g',t,Sb,':m',t,Rb,':b')
plot(t,Ic,'-g',t,Sc,'-m',t,Rc,'-b')
legend('I Euler','S Euler','R Euler','I Euler implícito','S Euler implícito','R Euler implícito','I Runge-Kutta','S Runge-Kutta','R Runge-Kutta','Location','best')
hold off

A continuacion mostramos las gráficas obtenidas, para todas r=0,0000218 a=0,341:


Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas
Caso 1:S(0)=159985, I(0)=15, h=0,1, 4 semanas
Caso 1:S(0)=159985, I(0)=15, h=0,1, 20 semanas
Caso 1:S(0)=159985, I(0)=15, h=0,01, 4 semanas
Caso 1:S(0)=159985, I(0)=15, h=0,01 20 semanas
Caso 1:S(0)=159985, I(0)=15, h=0,001, 4 semanas
Caso 1:S(0)=159985, I(0)=15, h=0,001, 20 semanas
Caso 2:S(0)=140000, I(0)=20000, h=0,1, 4 semanas
Archivo:Graficoo2.8.jpg
Caso 2:S(0)=140000, I(0)=20000, h=0,1, 20 semanas
Caso 2:S(0)=140000, I(0)=20000, h=0,01, 4 semanas
Caso 2:S(0)=140000, I(0)=20000, h=0,01, 20 semanas
Caso 2:S(0)=140000, I(0)=20000, h=0,001, 4 semanas
Caso 2:S(0)=140000, I(0)=20000, h=0,001, 20 semanas
Caso 3:S(0)=159999, I(0)=1, h=0,1, 4 semanas
Caso 3:S(0)=159999, I(0)=1, h=0,1, 20 semanas
Caso 3:S(0)=159999, I(0)=1, h=0,01, 4 semanas
Caso 3:S(0)=159999, I(0)=1, h=0,01, 20 semanas
Caso 3:S(0)=159999, I(0)=1, h=0,001, 4 semanas
Caso 3:S(0)=159999, I(0)=1, h=0,001, 20 semanas

Como se puede observar en las diferentes gráficas, cuanto menor es el tamaño de paso mas aproximado es el método, siéndolo el que más el de Runge-Kutta que además es el único de orden 4.

5 Interpretación de la epidemia y justificación de parámetros

En los tres casos que se nos plantean con distintos valores iniciales vemos que el número e individuos susceptibles a infectarse (S) se va reduciendo a medida que los individuos infectados (I) e individuos removidos (R) va aumentando, por lo que las variables que hemos utilizado se ajusta a los valores numéricos. Si vemos en un periodo medio de infección que se encontraría alrededor de tres semanas se puede apreciar cambios en todos los casos ya sea porque el número de susceptibles empiece a reducirse o porque dos de las tres variables se igualen en ese momento aproximadamente.


En los datos del caso 1, la población sana se contagia de la enfermedad prácticamente al completo antes de la quinta semana, aumentando a su vez, y como es lógico (R + I + S = N), los infectados y los curados, en menor medida estos últimos. Los infectados tienen un máximo entre la semana 3 y 4, a partir del cual empiezan a disminuir porque la población se recupera hasta casi su totalidad.

En el caso 2, la población sana se infecta casi en su totalidad antes de la segunda semana, con un aumento mucho mayor que el caso anterior. Esto se debe a que el número de infectados en el primer caso eran 15 y en el segundo 20 000. Las curvas de curados e infectados tienen la misma forma que en el caso 1 pero con unas variaciones más suaves, teniendo que pasar más de 20 semanas para que los curados tiendan a ser la población total.

En el caso 3, al haber inicialmente un único infectado, la población comienza a desarrollar la enfermedad en torno a la segunda semana, estando infectada casi en su mayoría al comienzo de la quinta semana. La variación de las curvas de infectados y sanos tienen una gran pendiente. Los curados tienen a aumentar con una pendiente más suave, hasta estabilizarse y llegar estar curada toda la población.

Realmente y como se ha dicho en el apartado anterior, las curvas S e I tienden a cero y la curva R tiende a N en el infinito, aunque es válido decir que son cero y N respectivamente cuando ha pasado un tiempo t lo suficientemente grande como para que el error del método sea pequeño.


Consideraremos que la epidemia ha finalizado cuando el número de infectados deja de crecer, es decir, cuando la función I(t) alcanza su máximo absoluto.

Podemos ver claramente que todos los casos corresponden a modelos de epidemias, ya que siempre se cumple que los distintos valores de [math] S_0 [/math] son superiores al coeficiente de la tasa de remoción relativa [math](\rho = \frac{a}{r} ) [/math]

NOTA: En este apartado hemos representado cada gráfica solamente con dos pasos en vez de tres, ya que como se ha podido ver la diferencia de precisión es imperceptible, de manera que para no saturar con demasiadas gráficas hemos optado por obviar los casos en los que h=0.001.
En caso de que quisiésemos conocer estas gráficas bastaría con copiar el código de las anteriores sustituyendo el valor de h.
En todos los casos la diferencia de tamaños de los intervalos escogidos nos permiten comprobar mejor cómo es el comportamiento de las diferentes variables ya que en algunos casos, hay intervalos que no tienen la longitud suficiente para recoger toda la información. Especialmente un intervalo de mayor tamaño nos permite saber a qué valores tienden asintóticamente el número de ciudadanos infectados, susceptibles y removidos al cabo de un largo periodo de tiempo.


Interpretaremos por tanto los 3 casos propuestos en el apartado anterior:

Caso 1:

  • De acuerdo con los datos analíticos, podríamos estimar que la epidemia finaliza cuando el número de infectados comienza a decrecer, ya que eso nos indica que cada vez menos personas contraen la enfermedad, y como podemos ver en las gráficas, el número de personas susceptibles de contagiarse ha empezado a decrecer desde que se inició la epidemia.
  • Decimos que se cumple que la duración media de la epidemia sea de [math] \frac{1}{a} [/math] (tres semanas aproximadamente) pues vemos claramente que las curvas de infectados alcanzan su máximo en torno a la cuarta semana desde que comienza la epidemia, aunque podríamos considerarlo como una estimación.
  • El número de infectados no es inferior al inicial hasta la semana 20.
  • De acuerdo con la información del gráfico, la tasa de reproducción de la infección debería ser inferior.


Caso 2:

  • A pesar de que el número de infectados iniciales es considerablemente mayor que en el caso anterior, vemos cómo la gráfica sigue un comportamiento epidémico análogo al mostrado en el caso anterior, aunque con ligeras diferencias.
  • En este caso no podemos considerar la duración media de la epidemia como [math] \frac{1}{a} [/math], ya que como podemos ver en las gráficas el número de infectados empieza a decrecer aproximadamente al cabo de 9 días.
  • También aquí vemos que la tasa de reproducción de la infección [math] (R_0=\frac{r}{a} \cdot S_0)[/math] debería ser menor que el valor obtenido analíticamente, aunque sin duda el valor obtenido previo a la gráfica nos da una idea previa de cómo va a ser la diferencia de tamaño entre los habitantes susceptibles iniciales y los removidos.


Caso 3:

  • El comportamiento es muy similar al caso 1, solo que con un ligero desplazamiento a la derecha. Podríamos considerar también que la duración media de la epidemia es de 3 semanas, aunque se ve claramente que no es hasta la quinta semana cuando empieza a disminuir el número de infectados.


Como conclusión final vamos a destacar la relación entre el número inicial de habitantes y el valor al que tiende la función R(t) al cabo del tiempo. Con el transcurso de las semanas vemos en todas las gráficas que el número de personas removidas tiende a 250000, es decir, a N/2. Por tanto la mitad de la población ha sido afectada por la epidemia.