SEIR model s petimi skupinami

Uvod

Izvedene so kalibracija modela SEIR s petimi skupinami okuženih na dejanske podatke.

Simulacija 1

Tu ponovimo nastavitve od homogenega modela.

Najprej nastavimo fiksne parametre modela SEIR.

duration_time = 450 

param = fixed_model_parameters_V05_01()
param$N = 2100000
param$zacetno_stevilo = 20
param$D_incubation = 5.2
param$D_infectious = 2.9


# enake nastavitve kot pri homogenem modelu
p_fatal_a_t = rep(0, duration_time)
p_fatal_a_t[1:100] =   rep(4.5/100, 100)
p_fatal_a_t[101:200] = rep(0.2/100, 100)
p_fatal_a_t[201:250] = rep(4.7/100, 50)
p_fatal_a_t[251:300] = rep(4.5/100, 50)
p_fatal_a_t[301:duration_time] = rep(2.0/100, duration_time-300)

p_fatal_s_t = rep(0, duration_time)
p_fatal_s_t[1:100] = rep(30/100, 100)
p_fatal_s_t[101:200] = rep(30/100, 100)
p_fatal_s_t[201:270] = rep(20/100, 70)
p_fatal_s_t[271:duration_time] = rep(15/100, duration_time-270)

p_icu_t = rep(0, duration_time)
p_icu_t[1:100] = rep(28/100, 100)
p_icu_t[101:200] = rep(20/100, 100)
p_icu_t[201:250] = rep(17/100, 50)
p_icu_t[251:300] = rep(14/100, 50)
p_icu_t[301:duration_time] = rep(14/100, duration_time-300)

p_hosp_t = rep(0, duration_time)
p_hosp_t[1:100] = rep(15.0/100, 100)
p_hosp_t[101:200] = rep(12.0/100, 100)
p_hosp_t[201:270] = rep(12.0/100, 70)
p_hosp_t[271:300] = rep(12.0/100, 30)
p_hosp_t[301:duration_time] = rep(11.5/100, duration_time-300)



p_fatal_a_t1 = p_fatal_a_t
p_fatal_a_t2 = p_fatal_a_t
p_fatal_a_t3 = p_fatal_a_t
p_fatal_a_t4 = p_fatal_a_t
p_fatal_a_t5 = p_fatal_a_t

p_fatal_s_t1 = p_fatal_s_t
p_fatal_s_t2 = p_fatal_s_t
p_fatal_s_t3 = p_fatal_s_t
p_fatal_s_t4 = p_fatal_s_t
p_fatal_s_t5 = p_fatal_s_t


param$p_fatal_a1 = p_fatal_a_t1
param$p_fatal_a2 = p_fatal_a_t2
param$p_fatal_a3 = p_fatal_a_t3
param$p_fatal_a4 = p_fatal_a_t4
param$p_fatal_a5 = p_fatal_a_t5

param$p_fatal_s1 = p_fatal_s_t1
param$p_fatal_s2 = p_fatal_s_t2
param$p_fatal_s3 = p_fatal_s_t3
param$p_fatal_s4 = p_fatal_s_t4
param$p_fatal_s5 = p_fatal_s_t5


p_icu_t1 = p_icu_t
p_icu_t2 = p_icu_t
p_icu_t3 = p_icu_t
p_icu_t4 = p_icu_t
p_icu_t5 = p_icu_t

param$p_ICU1 = p_icu_t1
param$p_ICU2 = p_icu_t2
param$p_ICU3 = p_icu_t3
param$p_ICU4 = p_icu_t4
param$p_ICU5 = p_icu_t5


p_hosp_t1 = p_hosp_t
p_hosp_t2 = p_hosp_t
p_hosp_t3 = p_hosp_t
p_hosp_t4 = p_hosp_t
p_hosp_t5 = p_hosp_t

param$p_hosp1 = p_hosp_t1
param$p_hosp2 = p_hosp_t2
param$p_hosp3 = p_hosp_t3
param$p_hosp4 = p_hosp_t4
param$p_hosp5 = p_hosp_t5

mix_mat = matrix( c(1, 1, 1, 1, 1,
                    1, 1, 1, 1, 1,
                    1, 1, 1, 1, 1,
                    1, 1, 1, 1, 1,
                    1, 1, 1, 1, 1), 
                  nrow = 5, ncol = 5, byrow = TRUE
                  )

param$MixMat = mix_mat

Deleži hospitalizacij, icu in smrti so samo v skupini 4 in 5. To sta starostni skupini od 60+. Ostale skupine nimajo hospitalizacij. Deleži so konstantni skozi celotno obdobje izračuna.

Matrika mešanja je nastavljena tako, da imajo vsi enak R. Možno je mešanje vseh skupin med sabo.

Določitev R modela

S parametri Bw določamo reprodukcijska števila ob različnih časih.

Bw = c(1.15,0.5,0.47,0.2,0.1,0.85,0.32,0.33,0.54,0.5,0.64,0.34,0.35,0.34, 0.35, 0.38, 0.35)

casB = c(15,7,8,35,35,30,30,20,32,10,20,22,15,10, 7, 10, 10)

Iz teh dveh podatkov izračunamo potek R:

Bfun = Bt_rect_time(duration_time, Bw, casB)

Izris R

Starostne skupine

sdata = read.csv("data/delezi_prebivalstva.csv", sep = ";")
sdata$Starostna.skupina[1:5]
## [1] "<1 "    "1-4"    "5-9 "   "10-14 " "15-19 "
sdata$Starostna.skupina[6:8]
## [1] "20-24 " "25-29 " "30-34 "
sdata$Starostna.skupina[9:13]
## [1] "35-39 " "40-44 " "45-49"  "50-54 " "55-59 "
sdata$Starostna.skupina[14:16]
## [1] "60-64 " "65-69 " "70-74 "
sdata$Starostna.skupina[17:19]
## [1] "75-79 " "80-84 " "85+ "
w1 =sum( sdata$delež[1:5])
w2 =sum( sdata$delež[6:8])
w3 =sum( sdata$delež[9:13])
w4 =sum( sdata$delež[14:16])
w5 =sum( sdata$delež[17:19])



w = c(w1, w2, w3, w4, w5)
print(w)
## [1] 0.19483525 0.17505122 0.36744668 0.17338581 0.08928104
sum(w)
## [1] 1

Izračun modela skupaj z dejanskimi podatki

#pdat = izracun_modela_V05_01(Bfun, duration_time, w=w, param)
pdat = izracun_modela_dejanski_okuzeni_V5_01(Bfun, sidat, duration_time, w, param)

Izris projekcij modela vseh skupin posamično

Izris projekcij modela vseh skupin skupaj