Learn R Programming

SDALGCP

SDALGCP provides a computationally efficient discrete approximation to log-Gaussian Cox process (LGCP) model for spatially aggregated disease count data. It uses Monte Carlo Maximum Likelihood for model parameter estimation and delivers prediction of spatially discrete and continuous relative risk.

Installation

To install the latest development of SDALGCP package use

devtools::install_github("olatunjijohnson/SDALGCP")

Example

Here I present an illustrative example of how to use the package

load the package

require(SDALGCP)

load the data

data("PBCshp")

extract the dataframe containing data from the object loaded

data <- as.data.frame(PBCshp@data)

load the population density raster

data("pop_den")

set any population density that is NA to zero

pop_den[is.na(pop_den[])] <- 0

write a formula of the model you want to fit

FORM <- X ~ propmale + Income + Employment + Education + Barriers + Crime + 
  Environment +  offset(log(pop))

Now to proceed to fitting the model, note that there two types of model that can be fitted. One is when approximate the intensity of LGCP by taking the population weighted average and the other is by taking the simple average. We shall consider both cases in this tutorial, starting with population weighted since we have population density on a raster grid of 300m by 300m.

SDALGCP I (population weighted)

Here we estimate the parameters of the model

Discretise the value of scale parameter ϕ

phi <- seq(500, 1700, length.out = 20)

estimate the parameter using MCML

my_est <- SDALGCPMCML(data=data, formula=FORM, my_shp=PBCshp, delta=300, phi=phi, method=1, pop_shp=pop_den, 
                      weighted=TRUE, par0=NULL, control.mcmc=NULL, messages = TRUE, plot_profile = TRUE)

To print the summary of the parameter estimates as well as the confidence interval, use;

summary(my_est)
#and for confidence interval use
confint(my_est)

We create a function to compute the confidence interval of the scale parameter using the deviance method. It also provides the deviance plot.

phiCI(my_est, coverage = 0.95, plot = TRUE)

Having estimated the parameters of the model, one might be interested in area-level inference or spatially continuous inference.

  1. If interested in STRICTLY area-level inference use the code below. This can either give either region-specific covariate-adjusted relative risk or region-specific incidence. This is achieved by simply setting in the function.
Dis_pred <- SDALGCPPred(para_est=my_est,  continuous=FALSE)

From this discrete inference one can map either the region-specific incidence or the covariate adjusted relative risk.

#to map the incidence
plot(Dis_pred, type="incidence", continuous = FALSE)
#and its standard error
plot(Dis_pred, type="SDincidence", continuous = FALSE)
#to map the covariate adjusted relative risk
plot(Dis_pred, type="CovAdjRelRisk", continuous = FALSE)
#and its standard error
plot(Dis_pred, type="SDCovAdjRelRisk", continuous = FALSE)
#to map the exceedance probability that the covariate-adjusted relative risk is greter than a particular threshold
plot(Dis_pred, type="CovAdjRelRisk", continuous = FALSE, thresholds=3.0)
  1. If interested in spatially continuous prediction of the covariate adjusted relative risk. This is achieved by simply setting in the function.
Con_pred <- SDALGCPPred(para_est=my_est, cellsize=300, continuous=TRUE)

Then we map the spatially continuous covariate adjusted relative risk.

#to map the covariate adjusted relative risk
plot(Con_pred, type="relrisk")
#and its standard error
plot(Con_pred, type="SErelrisk")
#to map the exceedance probability that the relative risk is greter than a particular threshold
plot(Dis_pred, type="relrisk", thresholds=2)

SDALGCP II (Unweighted)

As for the unweighted which is typically by taking the simple average of the intensity an LGCP model, the entire code in the weighted can be used by just setting in the line below.

my_est <- SDALGCPMCML(data=data, formula=FORM, my_shp=PBCshp, delta=300, phi=phi, method=1, 
                      weighted=FALSE, par0=NULL, control.mcmc=NULL, messages = TRUE, plot_profile = TRUE)

Spatio-temporal SDALGCP

Download the dataset

require(rgdal)
require(sp)
ohiorespMort <- read.csv("https://raw.githubusercontent.com/olatunjijohnson/dataset/master/OhioRespMort.csv")
download.file("https://github.com/olatunjijohnson/dataset/raw/master/ohio_shapefile.zip", "ohio_shapefile.zip")
unzip("ohio_shapefile.zip")
ohio_shp <- rgdal::readOGR("ohio_shapefile/","tl_2010_39_county00")
# and for windows use ohio_shp <- rgdal::readOGR("ohio_shapefile","tl_2010_39_county00")
ohio_shp <- sp::spTransform(ohio_shp, sp::CRS("+init=epsg:32617"))

create a spacetime object as an input of the spatio-temporal SDALGCP model

m <- length(ohio_shp)
TT <- 21
Y <- ohiorespMort$y
X <- ohiorespMort$year
pop <- ohiorespMort$n
E <- ohiorespMort$E
data <- data.frame(Y=Y, X=X, pop=pop, E=E)
formula <- Y ~  X + offset(log(E))
phi <- seq(10, 300, length.out = 10)
control.mcmc <- list(n.sim=10000, burnin=2000, thin=80, h=1.65/((m*TT)^(1/6)), c1.h=0.01, c2.h=0.0001)
time <- as.POSIXct(paste(1968:1988, "-01-01", sep = ""), tz = "")
st_data <- spacetime::STFDF(sp = ohio_shp, time = time, data = data)

Plot the spatio-temporal count data

spacetime::stplot(st_data[,,"Y"])

Parameter estimation

model.fit <- SDALGCPMCML_ST(formula=formula, st_data = st_data,  delta=800, 
                            phi=phi, method=2, pop_shp=NULL,  kappa=0.5,
                            weighted=FALSE, par0=NULL, control.mcmc=control.mcmc, 
                            plot=TRUE, plot_profile=TRUE, rho=NULL,
                            giveup=50, messages=TRUE)
summary(model.fit)

Area-level of the spatio-temporal prediction

dis_pred <- SDALGCPPred_ST(para_est = model.fit, continuous = FALSE)

Ploting the area-level incidence and the covariate adjusted relative risk

plot(dis_pred, type="CovAdjRelRisk", main="Relative Risk", continuous=FALSE)
plot(dis_pred,  type="incidence", main="Incidence", continuous=FALSE)

Spatially continuous prediction of the covariate adjusted relative risk

con_pred <- SDALGCPPred_ST(para_est = model.fit, cellsize = 2500, continuous=TRUE, n.window = 1)

Ploting the spatially continuous covariate-adjusted relative risk

plot(con_pred, type="relrisk", continuous=TRUE)

Copy Link

Version

Install

install.packages('SDALGCP')

Monthly Downloads

5

Version

0.4.0

License

GPL-2 | GPL-3

Maintainer

Olatunji Johnson

Last Published

March 16th, 2021

Functions in SDALGCP (0.4.0)

SDALGCPCreatePoint

SDALGCPCreatePoint function
SDAContinuousPred

SDAContinuousPred function
SDALGCPMCML_ST

Parameter estimation for spatio-temporal SDA-LGCP Using Monte Carlo Maximum likelihood
SDALGCP

SDALGCP: A package to make continuous inference from spatially aggregated disease count data.
SDALGCPMCML_ST2

Parameter estimation for spatio-temporal SDA-LGCP Using Monte Carlo Maximum likelihood
SDALGCPMCML

Parameter estimation for SDA-LGCP Using Monte Carlo Maximum likelihood
SDADiscretePred

SDADiscretePred function
Aggregated_poisson_log_MCML

Aggregated_poisson_log_MCML function
SDALGCPParaEst

SDALGCPParaEst function.
PBCshp

PBC count data and index of multiple deprivation data.
SDALGCPPred_ST2

Spatial prediction using plug-in of MCML estimates
plot.Pred.SDALGCP

plot.Pred.SDALGCP function
phiCI

Plot of the deviance to derive the confidence interval of of the scale parameter, phi
SDALGCPPred

Spatial prediction using plug-in of MCML estimates
SDALGCPPred_ST

Spatial prediction using plug-in of MCML estimates
plot_SDALGCPexceedanceST

plot_SDALGCPexceedance
plot_continuous

plot_continuous
plot_discrete

plot_discrete
SDAProfilePhi

plot profile likelihood of phi
SDALGCPpolygonpoints

SDALGCPpolygonpoints function
SDALGCPRegularPoint

SDALGCPRegularPoint function
plot_continuousST

plot_continuous
plot.Pred.SDALGCPST

plot.Pred.SDALGCPST function
summary.SDALGCPST

Summarizing the parameter estimates of SDALGCP model
plot_SDALGCPexceedance

plot_SDALGCPexceedance
SDALGCPexceedance

Exceedance probability of the relative risk
SDALGCPexceedanceST

Exceedance probability of the relative risk
SDALGCPSSIPoint

SDALGCPSSIPoint function
summary.SDALGCP

Summarizing the parameter estimates of SDALGCP model
precomputeCorrMatrix

precomputeCorrMatrix function
confint.SDALGCP

Confidence Intervals for SDALGCP Model Parameters
controlmcmcSDA

control.mcmcSDA
SDALGCPUniformPoint

SDALGCPUniformPoint function
pop_den

Population density raster shapefile of Newcastle Upon Tyne in the UK.
plot_discreteST

plot_discrete