SIR stratified into age groups, with mixing supplied by a POLYMOD-style
contact matrix. For group i with N_i = S_i + I_i + R_i,
dS_i/dt = -S_i sum_j C_ij I_j / N_j,
dI_i/dt = S_i sum_j C_ij I_j / N_j - gamma I_i,
dR_i/dt = gamma I_i,
where C_ij is the effective transmission rate from an infectious
member of group j to a susceptible in group i, that is, the mean number
of contacts per unit time scaled by the per-contact transmission
probability. Mossong et al. report the contact counts; multiplying them
by the transmission probability gives C.
Value
List with estimate (overall attack rate), S,
I, R, N, attack_rate, R0,
peak_prevalence, peak_time, n_groups,
population, conservation_error, gamma,
t_max, dt, method.
Details
The basic reproduction number is the spectral radius of the
next-generation matrix K_ij = S_i(0) C_ij / (gamma N_j), computed
by power iteration from a uniform start vector, which is deterministic and
so identical across language arms. With one age group this collapses to
the scalar R0 = C S0 / (gamma N).
References
Mossong, J. et al. (2008). Social contacts and mixing patterns relevant to the spread of infectious diseases. PLoS Medicine 5(3), e74. doi:10.1371/journal.pmed.0050074
Examples
S <- c(500, 500)
I <- c(5, 5)
R <- c(0, 0)
contact_matrix <- matrix(c(2, 1, 1, 2), 2, 2)
Sirtdy(S, I, R, contact_matrix, gamma = 0.1)
#> $estimate
#> [1] 0.9999999
#>
#> $S
#> [1] 4.680422e-11 4.680422e-11
#>
#> $I
#> [1] 6.677228e-05 6.677228e-05
#>
#> $R
#> [1] 504.9999 504.9999
#>
#> $N
#> [1] 505 505
#>
#> $attack_rate
#> [1] 0.9999999
#>
#> $R0
#> [1] 29.70297
#>
#> $peak_prevalence
#> [1] 0.8536208
#>
#> $peak_time
#> [1] 2.8
#>
#> $n_groups
#> [1] 2
#>
#> $population
#> [1] 1010
#>
#> $conservation_error
#> [1] 4.547474e-13
#>
#> $gamma
#> [1] 0.1
#>
#> $t_max
#> [1] 160
#>
#> $dt
#> [1] 0.1
#>
#> $method
#> [1] "Age-structured SIR with contact matrix (Mossong et al. 2008)"
#>
#> attr(,"class")
#> [1] "morie_rich_result" "list"
