SEIRfansy {SEIRfansy} | R Documentation |
Estimate SEIRfansy Model Parameters
Description
This function is used to estimate the different parameters of interest like the time varying transmission rates, proportion of reported cases, and the basic reproduction rates.
Usage
SEIRfansy(
data,
data_init,
N,
init_pars = NULL,
niter = 1e+05,
BurnIn = 1e+05,
model = "Multinomial",
plot = TRUE,
period_start,
auto.initialize = TRUE,
...
)
Arguments
data |
(mandatory): If the model is Multinomial, then the data matrix should contain the 3 columns Confirmed, Recovered, and Death. If the model is Poisson or Binomial, then the data should contain only the column Confirmed. Please ensure that the names of the columns are exactly as stated above. |
data_init |
(mandatory): These are the initial data values provided by the user as a numeric vector of length six. The entries should be the Total Confirmed, Total Recovered, Total Death, Daily Confirmed, Daily Recovered, and Daily Death for the Starting Date. Note: If the starting total confirmed is 0, please replace it by 1. |
N |
(mandatory): The population size. |
init_pars |
NULL(default): If not equal to NULL, then the user can give a user input initial parameters which should consist of the initial values of the time varying beta, proportion of testing for the different periods. |
niter |
1e5 (default): Number of iterations for the MCMC Metropolis Hastings algorithm. |
BurnIn |
5e4 (default): This is the number of burn-in iterations for the MCMC algorithm |
model |
"Multinomial" (default): This is the likelihood function that will be used. There are three options available: "Multinomial", "Poisson", or "Binomial". |
plot |
TRUE (default): This will give the box plot for the basic reproduction number for the different periods. |
period_start |
The total time period is divided into small periods depending on the lock down measures imposed by the government. So this is a numeric vector consisting of the start dates for the different time periods. |
auto.initialize |
TRUE (default): This is the option for using a mle based initial parameter. |
... |
arguments passed to the function model_initializeR and model_plotR which is used for initializing the parameters. The parameters are described below:
|
Value
A list with class "SEIRfansy", which contains the items described below:
mcmc_pars: a matrix of the mcmc draws for the parameters
plots: a list of ggplot objects
Examples
library(dplyr)
train = covid19[which(covid19$Date == "01 April "):which(covid19$Date == "30 June "),]
test = covid19[which(covid19$Date == "01 July "):which(covid19$Date == "31 July "),]
train_multinom =
train %>%
rename(Confirmed = Daily.Confirmed,
Recovered = Daily.Recovered,
Deceased = Daily.Deceased) %>%
dplyr::select(Confirmed, Recovered, Deceased)
test_multinom =
test %>%
rename(Confirmed = Daily.Confirmed,
Recovered = Daily.Recovered,
Deceased = Daily.Deceased) %>%
dplyr::select(Confirmed, Recovered, Deceased)
N = 1341e6 # population size of India
data_initial = c(2059, 169, 58, 424, 9, 11)
pars_start = c(c(1,0.8,0.6,0.4,0.2), c(0.2,0.2,0.2,0.25,0.2))
phases = c(1,15,34,48,62)
cov19est = SEIRfansy(data = train_multinom, init_pars = pars_start,
data_init = data_initial, niter = 1e3, BurnIn = 1e2,
model = "Multinomial", N = N, lambda = 1/(69.416 * 365),
mu = 1/(69.416 * 365), period_start = phases, opt_num = 1,
auto.initialize = TRUE, f = 0.15)
names(cov19est)
class(cov19est$mcmc_pars)
names(cov19est$plots)
plot(cov19est, type = "trace")
plot(cov19est, type = "boxplot")
# quick test for package check
# not for use outside CRAN check()
cov19est = SEIRfansy(data = train_multinom, init_pars = pars_start,
data_init = data_initial, niter = 33, BurnIn = 18,
model = "Multinomial", N = N, lambda = 1/(69.416 * 365),
mu = 1/(69.416 * 365), period_start = phases, opt_num = 1,
auto.initialize = TRUE, f = 0.15, plot = FALSE, system_test = NULL)