fit_mlgcp {stelfi} | R Documentation |
Marked spatial log-Gaussian Cox process (mLGCP)
Description
Fit a marked LGCP using Template Model Builder (TMB) and the R_inla
namespace for the SPDE-based construction of the latent field.
Usage
fit_mlgcp(
locs,
sf,
marks,
smesh,
parameters = list(),
methods,
strfixed = matrix(1, nrow = nrow(locs), ncol = ncol(marks)),
fields = rep(1, ncol(marks)),
covariates,
pp_covariates,
marks_covariates,
tmb_silent = TRUE,
nlminb_silent = TRUE,
...
)
Arguments
locs |
A |
sf |
An |
marks |
A matrix of marks for each observation of the point pattern. |
smesh |
A Delaunay triangulation of the spatial domain returned by |
parameters |
a list of named parameters: log_tau, log_kappa, betamarks, betapp, marks_coefs_pp. |
methods |
An integer value:
|
strfixed |
A matrix of fixed structural parameters, defined for each event and mark.
Defaults to
|
fields |
A binary vector indicating whether there is a new random field for each mark. By default, each mark has its own random field. |
covariates |
Covariate(s) corresponding to each area in the spatial mesh |
pp_covariates |
Which columns of the covariates apply to the point process |
marks_covariates |
Which columns of the covariates apply to the marks. By default, all covariates apply to the marks only. |
tmb_silent |
Logical, if |
nlminb_silent |
Logical, if |
... |
optional extra arguments to pass into |
Details
The random intensity surface of the point process is (as fit_lgcp
)
\Lambda(\boldsymbol{x}) = \textrm{exp}(\boldsymbol{X}\beta + G(\boldsymbol{x}) + \epsilon)
,
for design matrix \boldsymbol{X}
, coefficients \boldsymbol{\beta}
, and random error \epsilon
.
Each mark, m_j
, is jointly modelled and has their own random field
M_j(s) = f^{-1}((\boldsymbol{X}\beta)_{m_j} + G_{m_j}(\boldsymbol{x}) + \alpha_{m_j}\; G(\boldsymbol{x}) + \epsilon_{m_j})
where \alpha_{.}
are coefficient(s) linking the point process and the mark(s).
M_j(s)
depends on the distribution of the marks. If the marks are from a Poisson distribution, it is
the intensity (as with the point process). If the marks are from a Binomial distribution, it is the
success probability, and the user must supply the number of trials for each event (via strfixed
).
If the marks are normally distributed then this models the mean, and the user must supply
the standard deviation (via strfixed
). The user can choose for the point processes and the marks to
share a common GMRF, i.e. G_m(s) = G_{pp}(s)
; this is controlled via the argument fields
.
Value
A list containing components of the fitted model, see TMB::MakeADFun
. Includes
-
par
, a numeric vector of estimated parameter values; -
objective
, the objective function; and -
gr
, the TMB calculated gradient function.
References
Lindgren, F., Rue, H., and Lindström, J. (2011) An explicit link between Gaussian fields and Gaussian Markov random fields: the stochastic partial differential equation approach. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 73: 423–498.
See Also
Examples
### ********************** ###
## A joint likelihood marked LGCP model
### ********************** ###
if(requireNamespace("fmesher")){
data(marked, package = "stelfi")
loc.d <- 3 * cbind(c(0, 1, 1, 0, 0), c(0, 0, 1, 1, 0))
domain <- sf::st_sf(geometry = sf::st_sfc(sf::st_polygon(list(loc.d))))
smesh <- fmesher::fm_mesh_2d(loc.domain = loc.d, offset = c(0.3, 1),
max.edge = c(0.3, 0.7), cutoff = 0.05)
locs <- cbind(x = marked$x, y = marked$y)
marks <- cbind(m1 = marked$m1) ## Gaussian mark
parameters <- list(betamarks = matrix(0, nrow = 1, ncol = ncol(marks)),
log_tau = rep(log(1), 2), log_kappa = rep(log(1), 2),
marks_coefs_pp = rep(0, ncol(marks)), betapp = 0)
fit <- fit_mlgcp(locs = locs, marks = marks,
sf = domain, smesh = smesh,
parameters = parameters, methods = 0,fields = 1)
}