5 votos

Análisis de patrones de puntos: Supuestos para el índice Hopkins-Skellam

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.

4voto

Syl Mulder Puntos 10

Sólo quiero unirme a @whuber y darle las gracias por una pregunta tan bien escrita. Puedo añadir que la hipótesis nula de la prueba Hopkins-Skellam es CSR, por lo que su resultado es consistente con sus otros hallazgos: Su patrón es no es CSR. El aparentemente La agrupación también podría explicarse por la falta de homogeneidad - aunque la prueba de Hopkins-Skellam debería ser menos sensible a este problema de distinguir la agrupación y la falta de homogeneidad, sigue siendo un problema. Es posible que ser un proceso de Poisson inhomogéneo el que haya generado su patrón.

Como ejemplo del problema consideremos un proceso de Poisson no homogéneo generado generada de la siguiente manera, que en mi experiencia siempre genera un resultado altamente significativo con la prueba de Hopkins-Skellam:

library(spatstat)
lambda <- density(chorley)/5
set.seed(42)
X <- rpoispp(lambda)
X <- X[Window(chorley)] ## Recreate polygonal window rather than digital mask
plot(X)

hopskel.test(X)
#> 
#>  Hopkins-Skellam test of CSR
#>  using F distribution
#> 
#> data:  X
#> A = 0.7524, p-value = 0.002046
#> alternative hypothesis: two-sided

Sin embargo, para mi sorpresa, el valor p de la prueba aproximada es bastante diferente de la prueba de Montecarlo, por lo que tal vez simplemente estableciendo method = "MonteCarlo" ¿ dar otro resultado e incluso dar la no significación en su caso?

hopskel.test(X, method = "MonteCarlo") ## Takes a bit of time
#> 
#>  Hopkins-Skellam test of CSR
#>  Monte Carlo test based on 999 simulations of CSR with fixed n
#> 
#> data:  X
#> A = 0.70736, p-value = 0.018
#> alternative hypothesis: two-sided

Creado en 2019-01-09 por el paquete reprex (v0.2.1)

0 votos

+1 Yo esperaría que la prueba de Monte-Carlo diera un resultado más fiable porque hay pocas garantías de que la distribución asintótica de la prueba aproximada sea muy precisa. De hecho, la repetición de la prueba aproximada (que es un buen ejemplo de al azar con un valor p diferente cada vez) muestra una amplia variación en la estadística de la prueba: hist(sim <- replicate(5e2, hopskel.test(X)$statistic)) Utilizando su media como estadística de prueba, obtendrá un resultado no significativamente diferente de la versión de Montecarlo.

0 votos

Buena pregunta y buena respuesta. Corrígeme si me equivoco, pero a mi entender no hay forma de distinguir entre procesos de heterogeneidad y de agrupación basándose únicamente en el patrón de puntos. Puede ser heterogeneidad en la intensidad o algún proceso entre puntos. Hay que siempre utilizar los conocimientos específicos del dominio para llegar a esto?

0 votos

Sí, en general no es posible distinguir para un patrón de un solo punto. Dados varios patrones, la situación es diferente a la hora de decidir entre un proceso de cluster homogéneo y un proceso no homogéneo: Si los "clusters" aparecen consistentemente en las mismas áreas es consistente con la heterogeneidad espacial mientras que los clusters aparecen aleatoriamente en diferentes áreas para los procesos de cluster...

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X