Tutorial Spatstat 2
Tutorial Spatstat 2
Tutorial Spatstat 2
Gerardo Martín
2022-06-29
1
Simulación de presencias
Especificación de un centroide
2
Código - generando favorabilidad “verdadera”
3
Código - viendo la favorabilidad
0.8
28
0.6
0.4
27
0.2
26
4
Código - simulando los puntos
set.seed(182)
puntos.2 <- dismo::randomPoints(mask = md.exp,
n = 200,
prob = T)
puntos.2 <- data.frame(puntos.2)
puntos.2$x <- puntos.2$x + rnorm(200, 0, 0.05)
puntos.2$y <- puntos.2$y + rnorm(200, 0, 0.05)
5
Código - favorabilidad y puntos
plot(md.exp); points(puntos.2)
30
29
0.8
28
0.6
0.4
27
0.2
26
source("Funciones-spatstat/imFromStack.R")
source("Funciones-spatstat/winFromRaster.R")
source("Funciones-spatstat/plotQuantIntens.R")
7
Formateo rápido
8
Análisis exploratorio
Autocorrelación
9
Autocorrelación
5
K ob s (r )
4 ^
K t h eo (r )
3
K h i (r )
^
K (r )
K l o (r )
^
2
1
0
11
Respuestas a variables
plotQuantIntens(imList = r.im,
noCuts = 5,
Quad = Q,
p.pp = puntos.2.ppp,
dir = "",
name = "Respuestas-centroide")
## pdf
## 2
12
Consideraciones para proponer modelos
2.0
1.0
0.0
−3 −2 −1 0 1 2 3
x 13
Consideraciones para proponer modelos
Ecuación lineal:
𝑦 = 𝛼 + 𝛽1 𝑥1 + ⋯ + 𝛽𝑛 𝑥𝑛
Ecuación polinomial de 2𝑜 grado
14
¿Qué variables podemos incluir en el mismo modelo?
15
Medición de correlación entre covariables
pairs(r)
16
Var.1
00
Variables compatibles
1. Var.1 y Var.3
2. Var.2 y Var.3
En R:
17
Ajustando los modelos
18
Comparando los modelos
AIC(m1); AIC(m2)
## [1] -473.2666
## [1] -468.7745
19
Analizar los efectos estimados
20
Diagnóstico - Residuales
par(mar = c(2,2,2,2))
diagnose.ppm(m1, main = "", cex.axis = 0.25)
cumulative
20 sum
5 of−5
raw residuals
31
25 y coordinate
29
5 residuals
27
0
tive sum0of raw
−2 0.5
−1 0
0 −1.5
0.
−0.5 −1
5
1.5 1
1 2 1
−10
0 0
21
Diangnóstico - Residuales
par(mar = c(2,2,2,2))
diagnose.ppm(m2, main = "", cex.axis = 0.25)
cumulative
20 sum
5 of−5
raw residuals
31
25 y coordinate
29
10 residuals
27
0.
tive sum0of raw
5
−1 0
5 −3
0 −1.
1.5
−2 −3.5
−1
1 0.5 −0.5
2
1
1.5
−15
1.5
0
22
Diagnóstico - Ripley
23
Diagnóstico - Ripley
K1
5
K ob s (r )
^
4
K (r )
K h i (r )
^
3
K (r )
K l o (r )
^
2
1
0
24
Diangóstico - Ripley
K2
5
K ob s (r )
^
4
K (r )
K h i (r )
^
3
K (r )
K l o (r )
^
2
1
0
25
Resumen del análisis
• Evidencia favorece a m1
26
Revisando la predicción
10
8
6
4
2
27
Guardando los resultados
28
Modelando los efectos espaciales
Modelos de interacción
29
¿Qué es interacción?
30
Tipos de interacciones
31
Figure 1: Crédito a Baddeley et al (2016)
Modelos de interacción en spatstat
32
Para generar un modelo de interacción
rr <- data.frame(r=seq(1,5,by=1))
p <- profilepl(rr, Strauss,
puntos.2.ppp ~ Var.1 + Var.3 + I(Var.1^2) + I(
covariates = r.im, aic=T, rbord = 0.5)
## comparing 5 models...
## 1, 2, 3, 4, 5.
## done.
33
Para generar un modelo de interacción
200
−200
−AIC
−1000 −600
1 2 3 4 5
34
r
Para generar un modelo de interacción
35
Efectos estimados
36
Efectos estimados - comparación
coef(m1)
coef(m1.int)
37
Diangóstico
38
Diangóstico
plot(K.int)
K.int
5
K ob s (r )
^
4
K (r )
3
K h i (r )
^
K (r )
K l o (r )
^
2
1
0
39
Favorabilidad
Fitted trend
100
60
20
40
Proceso Cox log-Gaussiano
¿Qué es?
• En MPPs
41
¿Qué es?
42
¿Con qué se ajusta un LGCP en R?
• Bayesiano
43
Ajustando un LGCP con spatstat
44
Ajustando un LGCP con spatstat
45
Comparando con MPP
46
Predicciones
m1.lgcp
Intensity
10 12
8
6
4
2
47
Diagnóstico
48
Diangóstico
plot(K.lgcp)
K.lgcp
5
K ob s (r )
^
K (r )
4
K h i (r )
^
3
K (r )
K l o (r )
^
2
1
0
49
Conclusiones
• Modelo Poisson
• Interacción
• LGCP