Actualmente estoy analizando un patrón de puntos en R utilizando el paquete "spatstat". Mis análisis son principalmente exploratorios, ya que no tengo ninguna razón de peso para sospechar ni de la agrupación ni de la regularidad, aunque cualquiera de ellas podría darse. Mi objetivo es determinar primero si el patrón se caracteriza por una completa aleatoriedad espacial, y si no, intentar caracterizar cualquier heterogeneidad que pueda existir.
Una nota importante: los bordes de mi ventana de observación no son arbitrarios y tienen un significado biológico, y son de forma irregular. Los puntos no existen ni pueden existir fuera de los bordes. Por ello, estoy trabajando con un "Modelo de Mundo Pequeño" descrito en el libro de Baddeley "Spatial Point Patterns: Methodology and Applications with R".
Aquí hay una imagen de mi patrón de puntos:
Primero calculé la función L sin ninguna corrección de bordes a partir del patrón observado y la comparé con un proceso de Poisson homogéneo utilizando envolventes de simulación.
envltest <- envelope(f9, Lest, correction = "none", nsim = 39, savefuns = TRUE)
También inspeccioné visualmente la intensidad del patrón de puntos utilizando una estimación no paramétrica del núcleo.
dens <- density(f9, edge = FALSE, sigma = bw.ppl)
Concluyendo que el patrón era inhomogéneo con potencial clustering, luego calculé la función L inhomogénea con envolventes de simulación usando el siguiente código:
envlin <- envelope(f9, Linhom, simulate = expression(rpoispp(dens)), sigma = bw.ppl, edge = FALSE, correction = "none", nsim = 39, savefuns = TRUE)
Utilizando la función de densidad previamente estimada (no tengo covariables ambientales que pueda utilizar para intentar ajustar un modelo paramétrico), generé un proceso de Poisson con esa función de intensidad utilizando simulate = expression(rpoispp(dens))
. Tengo entendido que el resultado se pasa a density.ppp
, a la que también paso sigma = bw.ppl, edge = FALSE
. A continuación se calcula la función L a partir de esta simulación y se repite el proceso. El resultado es el siguiente:
De esto concluyo que es poco probable que la inhomogeneidad que detecté sea el resultado de las interacciones entre puntos que conducen a la agrupación. Sin embargo...
También realicé una prueba de índice Hopkins-Skellam en este patrón de puntos con hoptest <- hopskel.test(f9, method = "MonteCarlo", nsim = 999)
. La prueba indica que hay agrupación (A = 0,74) con un valor p = 0,018. Ahora estoy confundido por estos resultados y tengo un par de preguntas.
PREGUNTA #1: ¿Infringe el "modelo de mundo pequeño" algún supuesto del índice de Hopkins-Skellam que pueda hacer que dicha prueba sugiera espuriamente la existencia de agrupaciones?
PREGUNTA #2: Si no he violado ningún supuesto de la prueba HS, ¿es posible que la escala de la heterogeneidad ambiental y la escala de la interacción entre puntos sean demasiado similares para que pueda detectar la agrupación?
PREGUNTA #3: Por lo que se ve, ¿toda esta confusión está causada por algo realmente estúpido en mi código...?
Gracias por cualquier ayuda que pueda ofrecerme.
1 votos
Gracias por una pregunta tan clara y reflexiva, y bienvenido a nuestro sitio.