0

I'm trying to find the best way to classify bivariate point patterns in spatstat according to the relationship between two point species:

Point pattern classification with spatstat: what am I doing wrong?

Point pattern classification with spatstat: how to choose the right bandwidth?

I used @Adrian's suggestion from the first link.

  Cancer <- split(cells)[["tumor"]]
  Immune <- split(cells)[["bcell"]]
  Dimmune <- density(Immune,sigma=bw.diggle)
  f <- rhohat(Cancer, Dimmune)

f is a "resource selection function" (RSF) which describes the relationship between the intensity of the Cancer point process and the covariate (here kernel density of Immune with with sigma=bw.diggle as I wanted an automatic bandwidth selection). After extracting the values of f I ran a hierarchical clustering or K-means on the values.

I am in doubt about some results I've got. A dozen of rho-functions looked weird (disrupted, single peak). After changing to default sigma=NULL or sigma=bw.scott (which are smoother) the functions became "better" (see examples below). I also experimented with running the RSF-calculation for patterns with randomly re-assigned marks, or for simulated segregated and clustered patterns in the same window and with the same number of points as the originals (examples below).

I first used bw.diggle for the kernel density calculation, because hopskel.test indicated "clustering" for all my patterns. Now I'm going to use bw.scott for my analysis but can this decision be somehow justified? Is there a better method besides "RSF-function is looking weird"?

some examples:

sample10: sample10 bw.diggle vs bw.scott sample20: sample20 bw.diggle vs bw.scott sample110: sample110 bw.diggle vs bw.scott

Sergej S
  • 1
  • 1

0 Answers0