I have two point layers, which visually have spatial correlation. I'd like to test it but wonder if there is such a method or index?

  • 7
    Some more details would be welcome 1) do your points have values ("marks") associated with them 2) are you wanting to test marked values or just spatial location 3) are the locations coincident 4) what software are you thinking about using to conduct the analysis 5) do you have a hypothesis that you would like to test. The answer to these questions will help the community guide you to the appropriate statistic. Vague questions get vague answers and waste time for all involved. Jan 30, 2013 at 16:52
  • 2
    Closely related: gis.stackexchange.com/questions/44873/….
    – whuber
    Jan 30, 2013 at 18:08
  • @JeffreyEvans So far I'd like just test the locations. The points represent day by day events, let's say on Monday and Sunday. Visually, the events happen within an area roughly, but I'd like to measure more accurately, like if it is confident to conclude that the events in the two days happen in the same area. I'm using ArcGIS but other language packages are also good to me. Jan 30, 2013 at 21:51
  • Ah, that changes everything and something I forgot to ask. See my answer below. Jan 30, 2013 at 22:04

3 Answers 3


Since your point pattern is serial in nature, I would recommend a Kulldorff Spatial Scan Statistic using a Bernoulli model. This is a type of point pattern statistic that does not assume an homogenious point process and is inherently multiscale.

Sorry to say that this is not available in ArcGIS. Fortunately, the software SatScan has Binomial and Poisson likelihood scan statistics available (and is even GUI driven).

If you would like to go the R route take a look at the "kulldorff" function in the "SpatialEpi" package.

  • Thanks Jeffrey. I just look through the original paper very quickly and I believe this is what I want. I can use R or a python package, if there is such one, 'cause there are a bunch of cases. Jan 31, 2013 at 16:06
  • @user1056824 if this the case can you please mark the post as answered? Jan 31, 2013 at 18:14
  • Actually after applying SatScan, I find positive result about the existing of clusters between two days points. However, I find the most likely cluster result in the output is not as good as I expect. Feb 1, 2013 at 19:19

If the points from two layers are coincident and you are interested in the correlation of two (or more) different variables for this set of points you could try lisa.nc function from ncf R package. According to manual:

lisa.nc is a function to estimate the (noncentred) local indicators of spatial association. The function requires multiple observations at each location.

This will give you LISA indicators (here is a reference for the method) and their significance for high-high, low-low, high-low and low-high patterns among your observations. Use plot.lisa for quick visual inspection of results.

Here is an example from manual:

#first generate some sample data
x <- expand.grid(1:20, 1:5)[,1]
y <- expand.grid(1:20, 1:5)[,2]
#z data from an exponential random field
z <- cbind(
rmvn.spa(x=x, y=y, p=2, method="exp"),
rmvn.spa(x=x, y=y, p=2, method="exp")
#lisa.nc analysis
fit1 <- lisa.nc(x=x, y=y, z=z, neigh=3)

enter image description here

  • sorry I may not explain my cases clearly in the original post. In my case, the event locations vary around a region so I think LISA is not the choice. Jan 31, 2013 at 16:08

You could buffer out within a distance range, using different ranges and then factor the results for changes in buffer distance to establish the degree of correlation factor, for addressing points you could try the same as well as join table for matching addresses and find factors for address accuracy matches at changes over distance range factors.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.