PCFhat {stpp} | R Documentation |
Estimation of the Space-Time Inhomogeneous Pair Correlation function
Description
Compute an estimate of the space-time pair correlation function.
Usage
PCFhat(xyt, s.region, t.region, dist, times, lambda,
ks="box", hs, kt="box", ht, correction = "isotropic")
Arguments
xyt |
Coordinates and times |
s.region |
Two-column matrix specifying polygonal region containing all data locations. If |
t.region |
Vector containing the minimum and maximum values of the time interval. If |
dist |
Vector of distances |
times |
Vector of times |
lambda |
Vector of values of the space-time intensity function evaluated at the points |
ks |
Kernel function for the spatial distances. Default is the |
hs |
Bandwidth of the kernel function |
kt |
Kernel function for the temporal distances. Default is the |
ht |
Bandwidth of the kernel function |
correction |
A character vector specifying the edge correction(s) to be applied among |
Details
An approximately unbiased estimator for the space-time pair correlation function, based on data giving the locations of events on a spatio-temporal region
, where
is an arbitrary polygon and
a time interval:
where is the intensity at
and
is an edge correction factor to deal with spatial-temporal edge effects. The edge correction methods implemented are:
isotropic
: , where the temporal edge correction factor
if both ends of the interval of length
centred at
lie within
and
otherwise and
is the proportion of the circumference of a circle centred at the location
with radius
lying in
(also called Ripley's edge correction factor).
border
: , where
denotes the distance between
and the boundary of
and
the distance between
and the boundary of
.
modified.border
: , where
and
are the eroded spatial and temporal region respectively, obtained by trimming off a margin of width
and
from the border of the original region.
translate
: , where
and
are the translated spatial and temporal regions.
none
: No edge correction is performed and .
and
denotes kernel functions with bandwidth
and
. Experience with pair correlation function estimation recommends box kernels (the default), see Illian et al. (2008). Epanechnikov, Gaussian and biweight kernels are also implemented. Whatever the kernel function, if the bandwidth is missing, a value is obtain from the function
dpik
of the package KernSmooth. Note that the bandwidths play an important role and their choice is crucial in the quality of the estimators as they heavily influence their variance.
Value
A list containing:
pcf |
|
pcftheo |
|
dist , times |
Parameters passed in argument. |
kernel |
A vector of names and bandwidths of the spatial and temporal kernels. |
correction |
The name(s) of the edge correction method(s) passed in argument. |
Author(s)
Edith Gabriel <edith.gabriel@inrae.fr>
References
Baddeley, A., Rubak, E., Turner, R., (2015). Spatial Point Patterns: Methodology and Applications with R. CRC Press, Boca Raton.
Gabriel E., Diggle P. (2009). Second-order analysis of inhomogeneous spatio-temporal point process data. Statistica Neerlandica, 63, 43–51.
Gabriel E., Rowlingson B., Diggle P. (2013). stpp: an R package for plotting, simulating and analyzing Spatio-Temporal Point Patterns. Journal of Statistical Software, 53(2), 1–29.
Gabriel E. (2014). Estimating second-order characteristics of inhomogeneous spatio-temporal point processes: influence of edge correction methods and intensity estimates. Methodology and computing in Applied Probabillity, 16(2), 411–431.
Illian JB, Penttinen A, Stoyan H and Stoyan, D. (2008). Statistical Analysis and Modelling of Spatial Point Patterns. John Wiley and Sons, London.
Examples
# First example
data(fmd)
data(northcumbria)
FMD<-as.3dpoints(fmd[,1]/1000,fmd[,2]/1000,fmd[,3])
Northcumbria=northcumbria/1000
# estimation of the temporal intensity
Mt<-density(FMD[,3],n=1000)
mut<-Mt$y[findInterval(FMD[,3],Mt$x)]*dim(FMD)[1]
# estimation of the spatial intensity
h<-mse2d(as.points(FMD[,1:2]), Northcumbria, nsmse=50, range=4)
h<-h$h[which.min(h$mse)]
Ms<-kernel2d(as.points(FMD[,1:2]), Northcumbria, h, nx=500, ny=500)
atx<-findInterval(x=FMD[,1],vec=Ms$x)
aty<-findInterval(x=FMD[,2],vec=Ms$y)
mhat<-NULL
for(i in 1:length(atx)) mhat<-c(mhat,Ms$z[atx[i],aty[i]])
# estimation of the pair correlation function
g1 <- PCFhat(xyt=FMD, dist=1:15, times=1:15, lambda=mhat*mut/dim(FMD)[1],
s.region=northcumbria/1000,t.region=c(1,200))
# plotting the estimation
plotPCF(g1)
plotPCF(g1,type="persp",theta=-65,phi=35)
# Second example
xyt=rpp(lambda=200)
g2=PCFhat(xyt$xyt,dist=seq(0,0.16,by=0.02),
times=seq(0,0.16,by=0.02),correction=c("border","translate"))
plotPCF(g2,type="contour",which="border")