Spatio-temporal Under-five Mortality Methods for Estimation

Load Package and Data

Uganda contains model survey data provided by DHS. Note that this data is fake, and does not represent any real country’s data. Data similar to the Uganda data used in this vignette can be obtained by using getBirths. UgandaMap contains geographic data from the 1995 Uganda Admin 1 regions defined by DHS. Data similar to the UgandaMap data used in this vignette can be obtained by using read_shape.

First, we load the package and load the necessary data. INLA is not in a standard repository, so we check if it is available and install it if it is not.

library(SUMMER)
if (!isTRUE(requireNamespace("INLA", quietly = TRUE))) {
  install.packages('INLA', repos = 'https://www.math.ntnu.no/inla/R/stable')
}

data(Uganda)
data(UgandaMap)

Make Country Summary

Next, we obtain Horvitz-Thompson estimators using countrySummary_mult.

years <- levels(Uganda[[1]]$time)

data <- countrySummary_mult(births = Uganda, years = years, idVar = "id", regionVar = "region",
                           timeVar = "time", clusterVar = "~clustid+id", ageVar = "age",
                           weightsVar = "weights", geo.recode = NULL)

Read Maps

In this step, we separate the output from read_shape to use as function arguments.

    geo <- UgandaMap$geo
    mat <- UgandaMap$Amat

Make Priors

Using our adjacency matrix, we simulate hyperpriors using simhyper.

priors <- simhyper(R = 2, nsamp = 1e+05, nsamp.check = 5000, Amat = mat)

Fit INLA Model

Uganda includes an “All” region for reference. We are not interested in this region for our Admin 1 estimates, so we remove it. We can then fit our smoothing model using fitINLA.

data <- data[data$region %in% c("central","eastern","northern","western"),]
inla_model <- fitINLA(data = data, geo = geo, Amat = mat, year_names = years, priors = priors)

Do Projection

With our model fit, we can now get our smoothed output and project into a future period with projINLA.

surveylabel <- paste0("DHS ", unique(data$surveyYears))
    
results_rw2 <- projINLA(data = data, inla_mod = inla_model, years = years, geo = geo, 
                      newyear = "15-19", quantiles = c(0.025,0.5,0.975))

Make Plots

We now have everything necessary to make plots. We first map our estimates at the Admin1 level using mapPlot.

mapPlot(countryname = "Uganda", results = results_rw2, geo = geo, 
            countrysum = data, inlamod = inla_model)

We now map our the median estimates over time by region with a spaghetti plot using spagPlot.

spagPlot(countryname = "Uganda", results = results_rw2, geo = geo, 
            countrysum = data, inlamod = inla_model)