Parametric model
The model for the intensity function of the parent process is the following:
\(f(u) = kappa * exp(beta_1 * z\_beta_1(u) + … + beta_k * z\_beta_k(u))\),
where \((kappa, beta_1, …, beta_k)\) is the vector of parameters
and \(z\_beta = (z\_beta_1, …, z\_beta_k)\) is the list of covariates.
Note that choosing \(k = 0\) is acceptable, resulting in a homogeneous
distribution of parents. In such a case z_beta must be an empty list
or NULL. Furthermore, the list z_beta must contain named covariates in order
to properly function with the function spatstat.model::ppm() from the
spatstat package
which is used in the first step to estimate the parameters
\((kappa, beta_1, …, beta_k)\). Note that due to identifiability issues
the covariate lists z_beta and z_alpha must be disjoint.
The model for the mean number of points in a cluster corresponding
to the parent at location \(u\) is the following:
\(g(u) = exp(alpha + alpha_1 * z\_alpha_1(u) + … + alpha_l * z\_alpha_l(u))\),
where \((alpha, alpha_1, …, alpha_l)\) is the vector of parameters and
\(z\_alpha = (z\_alpha_1, …, z\_alpha_l)\) is the list of covariates.
Note that choosing \(l = 0\) is acceptable, resulting in a constant model.
In such a case z_alpha must be an empty list or NULL. Note that
due to identifiability issues the covariate lists z_beta and
z_alpha must be disjoint. A warning is issued when this is not the case.
The model for the scale of a cluster corresponding to the parent at
location \(u\) is the following:
\(h(u) = exp(omega + omega_1 * z\_omega_1(u) + … + omega_m * z\_omega_m(u))\),
where
\((omega, omega_1, …, omega_m)\) is the vector of parameters and
\(z\_omega = (z\_omega_1, …, z\_omega_m)\) is the list of covariates.
Note that choosing \(m = 0\) is acceptable, resulting in a constant model.
In such a case z_omega must be an empty list or NULL.
Observation window and its dilation
The observation window must be provided as the union of aligned rectangles,
aligned with the coordinate axes. This, however, allows the analysis
of point patterns observed in rather irregular regions by approximating
the region by a union of aligned rectangles. The structure of the vectors
x_left, x_right, y_bottom and y_top is such that the first
rectangle is constructed using the function spatstat.geom::owin() from the
spatstat package as
owin(c(x_left[1], x_right[1]), c(y_bottom[1], y_top[1])),
and similarly for the other rectangles. A rectangular window
can be provided directly in the argument W and in such case the vectors
x_left to y_top are determined automatically.
Covariates
The covariates must be provided as pixel images of the class
spatstat.geom::im() used in the spatstat package. It is recommended
that all the covariates have the same pixel resolution. However, it is
necessary that all the covariates in the list z_beta have the same
resolution, all the covariates in the list z_alpha have the same
resolution and all the covariates in the list z_omega have
the same distribution. The covariates must be provided in the dilated
observation window W_dil, with NA values at pixels lying outside
W_dil.
Control
The control list must contain the following elements: NStep
(the required number of MCMC iterations to be performed), BurnIn
(burn-in, how many iterations at the beginning of the chain will be
disregarded when computing the resulting estimates – note that this choice
can be updated after the computation without re-running the chain,
see the function re_estimate()), SamplingFreq (sampling frequency
for estimating the posterior distributions). Additionally,
the hyperparameters for the prior distributions should be given, see below.
Note that some default values for the hyperparameters are provided but it is
strongly encouraged that the hyperparameter values are given
by the user, based on the actual knowledge of the problem at hand.
Prior distributions and hyperparameters
The prior distribution for alpha is normal with
mean = Prior_alpha_mean and
SD = Prior_alpha_SD.
The prior distribution for the vector \((alpha_1, …, alpha_l)\) is
centered normal with diagonal variance matrix and the vector of
SDs = Prior_alphavec_SD.
The prior distribution for omega is normal with
mean = Prior_omega_mean and
SD = Prior_omega_SD.
The prior distribution for the vector \((omega_1, …, omega_m)\)
is centered normal with diagonal variance matrix and the vector of
SDs = Prior_omegavec_SD.
The hyperparameters should be provided in the control list. However,
the following default choices are applied if the hyperparameter values
are not provided by user or are given as NULL:
Prior_alpha_mean = 3,
Prior_alpha_SD = 2, Prior_omega_mean = log(sqrt(area(W) / 20)),
Prior_omega_SD = log(3 + sqrt(area(W) / 40)),
Prior_alphavec_SD[i] = 2 / max(z_alpha_i),
Prior_omegavec_SD[i] = 2 / max(z_omega_i) * log(3 + sqrt(area(W) / 20)).
Output
The output of the function is given by the list containing the parameter
estimates along with the credible intervals of the posterior
distributions. Also, several auxiliary objects are included in the list
which are needed for the print.output_estintp()
and plot.output_estintp() functions.