Computes an adaptive estimate of the intensity function of a point pattern using the Dirichlet-Voronoi tessellation.
densityVoronoi(X, ...)# S3 method for ppp
densityVoronoi(X, f = 1, ...,
counting=FALSE,
fixed=FALSE,
nrep = 1, verbose=TRUE)
A pixel image (object of class "im"
) whose values are
estimates of the intensity of X
.
This function is an alternative to density.ppp
. It
computes an estimate of the intensity function of a point pattern
dataset. The result is a pixel image giving the estimated intensity.
If f=1
(the default), the Voronoi estimate (Barr and Schoenberg, 2010)
is computed: the point pattern X
is used to construct
a Voronoi/Dirichlet tessellation (see dirichlet
);
the areas of the Dirichlet tiles are computed; the estimated intensity
in each tile is the reciprocal of the tile area.
The result is a pixel image
of intensity estimates which are constant on each tile of the tessellation.
If f=0
, the intensity estimate at every location is
equal to the average intensity (number of points divided by window area).
The result is a pixel image
of intensity estimates which are constant.
If f
is strictly between 0 and 1,
the estimation method is applied to a random subset of X
.
This randomised procedure is repeated nrep
times,
and the results are averaged.
The subset is selected as follows:
if fixed=FALSE
,
the dataset X
is randomly
thinned by deleting or retaining each point independently, with
probability f
of retaining a point.
if fixed=TRUE
,
a random sample of fixed size m
is taken from
the dataset X
, where m
is the largest integer
less than or equal to f*n
and n
is the number of
points in X
.
Then the intensity estimate is calculated as follows:
if counting = FALSE
(the default), the thinned pattern
is used to construct a Dirichlet tessellation and form the
Voronoi estimate (Barr and Schoenberg, 2010) which is then
adjusted by a factor 1/f
or n/m
as appropriate.
to obtain an estimate
of the intensity of X
in the tile.
if counting = TRUE
,
the randomly selected subset A
is used to construct a Dirichlet tessellation, while the
complementary subset B
(consisting of points that were not
selected in the sample) is used for counting
to calculate a quadrat count estimate of intensity.
For each tile of the Dirichlet tessellation formed by A
,
we count the number of points of B
falling in the
tile, and divide by the area of the same tile, to obtain an estimate
of the intensity of the pattern B
in the tile.
This estimate is adjusted by 1/(1-f)
or n/(n-m)
as appropriate
to obtain an estimate of the intensity of X
in the tile.
Ogata et al. (2003) and Ogata (2004) estimated intensity using the
Dirichlet-Voronoi tessellation in a modelling context.
Baddeley (2007) proposed intensity estimation by subsampling
with 0 < f < 1
, and used the technique described above
with fixed=TRUE
and counting=TRUE
.
Barr and Schoenberg (2010) described and analysed the
Voronoi estimator (corresponding to f=1
).
Moradi et al (2019) developed the subsampling technique with
fixed=FALSE
and counting=FALSE
and called it the
smoothed Voronoi estimator.
Baddeley, A. (2007) Validation of statistical models for spatial point patterns. In J.G. Babu and E.D. Feigelson (eds.) SCMA IV: Statistical Challenges in Modern Astronomy IV, volume 317 of Astronomical Society of the Pacific Conference Series, San Francisco, California USA, 2007. Pages 22--38.
Barr, C., and Schoenberg, F.P. (2010). On the Voronoi estimator for the intensity of an inhomogeneous planar Poisson process. Biometrika 97 (4), 977--984.
Moradi, M., Cronie, 0., Rubak, E., Lachieze-Rey, R., Mateu, J. and Baddeley, A. (2019) Resample-smoothing of Voronoi intensity estimators. Statistics and Computing 29 (5) 995--1010.
Ogata, Y. (2004) Space-time model for regional seismicity and detection of crustal stress changes. Journal of Geophysical Research, 109, 2004.
Ogata, Y., Katsura, K. and Tanemura, M. (2003). Modelling heterogeneous space-time occurrences of earthquakes and its residual analysis. Applied Statistics 52 499--509.
adaptive.density
,
density.ppp
,
dirichlet
,
im.object
.
plot(densityVoronoi(nztrees, 1, f=1), main="Voronoi estimate")
nr <- if(interactive()) 100 else 5
plot(densityVoronoi(nztrees, f=0.5, nrep=nr), main="smoothed Voronoi estimate")
Run the code above in your browser using DataLab