Modelos epidemiológicos

De MateWiki
Revisión del 14:17 4 mar 2013 de Renato (Discusión | contribuciones) (Estudio de poblaciones concretas por el método Runge-Kutta)

Saltar a: navegación, buscar

1 Exposición del sistema:

En el desarrollo de una epidemia se distinguen dos tipos de individuos: los que ya han contraído la enfermedad o infectados I, y los que son susceptibles de contraerla por encontrarse en zona de riesgo S. Supongamos que se dan las siguientes hipótesis:

1. La poblaciónde personas infectadas se altera por el fallecimiento o la cura de las mismas.En ambos casos, la tasa de cambio depende del número de personas infectadas;

2. La tasa de individuos que pasan de ser susceptibles a contraer la enfermedad a estar infectados es proporcional a la interacción entre el número de individuos en ambas clases.

Consideramos las variables: t tiempo, S(t) población de individuos susceptibles a contraer la enfermedad, I(t) población de individuos infectados; y el sistema:


[math] dS/dt=-aSI; dI/dt=aSI-bI-cI [/math]

Donde: a, b y c son parámetros.

2 Definición de las variables:

1. ’’Interpretar los diferentes parámetros en la ecuación de acuerdo a las hipótesis. ’’

VARIABLE DEFINICIÓN RELACIÓN
a Número de interacciones entre personas infectadas y a su vez descendera el numero de personas susceptibles a contraer la enfermedad Si aumenta el número de interacciones aumentarán los contagios y por ello la población susceptible a contraer la enfermedad

a↑↑ I ↑↑

a↑↑ S↓↓

b y c

Se trata del número de afectados que mueren y/o se curan

El número de individuos que perecen infectados así como el que supera la enfermedad lógicamente disminuye el número de infectados pero no afecta directamente a los susceptibles

b↑↑ I↓↓ S=cte


c↑↑ I↓↓ S=cte

Nota:aunque S no depende directamente de b ni de c si depende indirectamente pues está ligado a I que si que guarda relación con ellos

3 Estudio de poblaciones concretas mediante el método de Euler:

2. Tomar a = 0:003, b = 0:3 y c = 0:2. Usar el método de Euler para resolver el sistema con los datos iniciales (S0; I0) = (700; 1) and (S0; I0) = (5000; 5), y el tiempo t:[0; 30] días. Tomar como paso de discretización temporal h = 10^-1; 10^-2; 10^-3; 10^-4.

3. Elegir otros datos iniciales (S0; I0) e interpretar los resultados.



S0=700 I0=1


%%Establecemos valores de los parametros
a=0.003;
b=0.3;
c=0.2;
t0=0;
tN=30;
h=10^-1;
N=(tN-t0)/h;

%%Damos la primera componente a s
s0=700;
s(1)=s0;

%%Damos la primera componente a i
i0=1;
i(1)=i0;

%%Generamos el bucle para asignar cada comoponente a los respectivos vecotres
for n=1:N
    s(n+1)=s(n)-h*a*s(n)*i(n);
    i(n+1)=i(n)+h*(a*s(n)*i(n)-(b+c)*i(n));
end


%%Representamos las gráficas correspondientes
x=t0:h:tN;
plot(x,i,'-')
hold on
plot(x,s,'-b')
hold off


Con este programa representamos las funciones como líneas, para marcar cada punto se puede utilizar plot(x,s,'x') y de este modo podremos ver que aumenta la cantidad de puntos conforme dismunuímos el valor de la h

Repitiendo el mismo programa con h=10^-2;10^-3;10^-4 (en las imágenes la disposición es: arriba a la izquierda 10^-1, arriba ala derecha 10^-2; abajo a la izquierda 10^-3 y abajo a la derecha 10^-4) así como para los valores (S0; I0) = (5000; 5) nos da los siguientes valores finales y gráficas:


Las gráficas estan ordenadas en función de sus h de mayor a menor


(s0,i0)=(700,1)

Infectados finales (h=10^-1) =Infectados finales (h=10^-2) =Infectadosfinales (h=10^-3)=Infectados finales (h=10^-4)=0

Conclusión: El número de infectados finales tenderá a 0 por lo que la epidemia acabará por extinguirse

Susceptibles finales (h=10^-1)= 9,75

Susceptibles finales (h=10^-2)= 11,02

Susceptibles finales (h=10^-3)= 11,14

Susceptibles finales (h=10^-4)= 11,16

Conclusión: La cantidad de susceptibles tiende a una cantidad ligeramente superior a 11.



(s0,i0)=(5000,5)

Infectados finales (h=10^-1) =Infectados finales (h=10^-2) =Infectados finales (h=10^-3)= Infectados finales (h=10^-4)=0

Conclusión: Igual que en el caso anterior, el número de infectados finales tenderá a 0 por lo que la epidemia acabará por extinguirse

Susceptibles finales (h=10^-1)= 27,16

Susceptibles finales (h=10^-2)= 28,55

Susceptibles finales (h=10^-3)= 28,68

Susceptibles finales (h=10^-4)= 28,7

Conclusión: La cantidad de susceptibles tiende a un número proximo a 29


¿Por qué la S queda por encima de 0 si el número de infectados si que tiende a 0?

Conclusión: Esa pequeña variación de S por encima de cero suponemos que es por el riesgo que existe a lo largo del tiempo de contraer la enfermedad por otros medios que por el contagio directo entre personas. Incluso cuando practicamente a desaparecido la epidemia.


Caso (s0,i0)=(600,600)

Conclusión: Es intuitivo ver, dada la forma en que varía la población susceptible, que esta no va a crecer en ningún momento. Al mismo tiempo la disminución de población susceptible conlleva un aumento de la población infectada. Llegado cierto punto la población infectada comenzara a decrecer pues será mayor el número de defunciones y curas que el de contagio por interacción que acaba volviendose estable.

4 Estudio de poblaciones concretas por el método Runge-Kutta

%%Introducimoslos datos:
a=0.003;
b=0.3;
c=0.2;
t0=0;
tN=30;
s0=700;
i0=1;
h=10^-1;
N=(tN-t0)/h;

%%Iniciamoslos vectores 's' e 'i'
s(1)=s0;
i(1)=i0;

%%Ejecutamos el bucle
for n=1:N
    K1=-a*s(n)*i(n);
    K2=-a*(s(n)+(h/2)*K1)*(i(n)+(h/2)*K1);
    K3=-a*(s(n)+(h/2)*K2)*(i(n)+(h/2)*K2);
    K4=-a*(s(n)+h*K3)*(i(n)+h*K3);
    s(n+1)=s(n)+(h/6)*(K1+2*K2+2*K3+K4);

    k1=a*s(n)*i(n)-(b+c)*i(n);
    k2=a*(s(n)+(h/2)*k1)*(i(n)+(h/2)*k1)-(b+c)*(i(n)+(h/2)*k1);
    k3=a*(s(n)+(h/2)*k2)*(i(n)+(h/2)*k2)-(b+c)*(i(n)+(h/2)*k2);
    k4=a*(s(n)+h*k3)*(i(n)+h*k3)-(b+c)*(i(n)+h*k3);
    i(n+1)=i(n)+(h/6)*(k1+2*k2+2*k3+k4);

end

%%Dibujamos las dos gráficas
x=t0:h:tN;
plot(x,s,'- g')
hold on
plot(x,i,'-')



Este método es más preciso que el método de Euler pero también es más difícil de programar

Comparación Runge-Kutta con Euler No se aprecia ninguna diferencia significativa para este caso concreto. A continuación, las gráficas de ambos métodos para el valor de h=1/10:


¿Que dificultad hay en el uso de un método implícito como el método trepezoidal? Conclusión: El problema que presentan los métodos implícitos es que hay que despejar manualmente los parámetros que se buscan (y(n+1) o cualquier otra función: s, i ...); para poder programar la solución.En ciertos casos, dicho proceso puede resultar difícil o directamente no se puede.


5 Evolución temporal retrospectiva mediante el método de Euler