Aquí usamos cuatro parametros: R0 que es el número reproductivo básico, e.dur es la duración del estado expuesto, i.dur es la duración del estado infeccioso, y cfr es la tasa de mortalidad, expresada como una proporción de los infectados que van a morir. Dada la estimación de R0 y la duración de la infección, se puede inferir lamda.
Las cuatro ecuaciones diferenciales son definidas como una función del tamaño de los estados y parámetros. Para el estado infectado el flujo de entrada proviene de los expuestos y el flujo de salida va hacia los recuperados (1- tasa de mortalidad) o los muertos (tasa de mortalidad)
Simulación del modelo SEIR (Susceptibles, Expuestos, Infectados, Recuperados).
Gráficas de la simulación del modelo SEIR con R0 de 7
#----------------------------------------------------------------------
#-----------------------simulacionesdelaepidemiaenhuila----------------
#----------------------------------------------------------------------
#----------------modelo SEIR para el Contagio de COVID 19 en el Huila--------------
library(EpiModel)
## Modelo SEIR de la pandemia de SARS Cov2 causante del COVID19
SEIR <- function(t, t0, parms) {
with(as.list(c(t0, parms)), {
# Tamaño de la poblacion, susceptibles s.num, expuestos e.num,
#infectados i.num, recuperados r.num
num <- s.num + e.num + i.num + r.num
# Tasa de contacto efectiva (ce) y
# R0: numero reproductivo basico promedio de personas susceptibles que contagia un infeccioso
ce <- R0 / i.dur
#parametro lambda (tasa beta o velocidad de transmision)
lambda <- ce * i.num/num
# sistema de ecuaciones diferenciales
#susceptibles
dS <- -lambda*s.num
# Expuestos
dE <- lambda*s.num - (1/e.dur)*e.num
# Infectados
dI <- (1/e.dur)*e.num - (1 - cfr)*(1/i.dur)*i.num - cfr*(1/i.dur)*i.num
# Recuperados,
dR <- (1 - cfr)*(1/i.dur)*i.num
# Compartimentos y flujos son parte del vector de derivadas
#Otros cálculos están fuera del vector, pero dentro de la lista
list(c(dS, dE, dI, dR,
se.flow = lambda * s.num,
ei.flow = (1/e.dur) * e.num,
ir.flow = (1 - cfr)*(1/i.dur) * i.num,
d.flow = cfr*(1/i.dur)*i.num),
num = num,
i.prev = i.num / num,
ei.prev = (e.num + i.num)/num)
})
}
# parametros biologicos y sociodemograficos
param <- param.dcm(R0 = 1.9, e.dur = 4 , i.dur = 10, cfr = 0.006)
init <- init.dcm(s.num = 1122622-160-76-30, e.num = 30, i.num = 76, r.num = 160,
se.flow = 0, ei.flow = 0, ir.flow = 0, d.flow = 0)
control <- control.dcm(nsteps = 360, dt = 1, new.mod = SEIR)
mod <- dcm(param, init, control)
mod
mypar()
plot(mod, y =c("s.num","i.num","e.num","r.num"), legend = "full", xlab="Días", ylab="Número de Casos")
mypar(2,2)
plot(mod, y = "i.num", main = "", col="red", xlab="Días", ylab="Infectados")
#pico de infectados en el huila 9/11/2020
abline(h=,v=161)
plot(mod, y = "ei.flow", main = "", col="blue", xlab="Días", ylab="Infectados diarios")
#primero de septiembre
abline(h=,v=92)
abline(h=,v=152)
plot(mod, y = "r.num", main = "", col="green", xlab="Días", ylab="Recuperados ")
abline(h=,v=360)
plot(mod, y = "d.flow", main = "", xlab="Días", ylab="Fallecidos diarios")
#para el primero de septiembre 6 fallecidos diarios
abline(v=92,h=6)
#para el 15 de septimbre 9 fallecidos diarios
abline(v=107,h=13)
#21 de septiembre
abline(v=113,h=17)
plot(mod, y = "ir.flow", main = "", col="pink", xlab="Días", ylab="Recuperados diarios ")
head(as.data.frame(mod))
mypar(1,2)
summary_mod<-as.data.frame(mod)
summary_mod
View(summary_mod)
setwd("C:/SSDH/BES_SAR_HUILA/Semana 38/tablas")
#EXPORTAMOS LA TABLA A UN ARCHIVO CSV
write.csv(as.data.frame(summary_mod),
file="SEIR_huila.csv")
#tiempo desde primero de junio a 15 de septiembre
ymd("2020-09-15")-ymd("2020-06-1")+1