Aplicaciones
Lista de figuras v
Lista de tablas ix
Abreviaturas 1
1.1 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 El covariograma . . . . . . . . . . . . . . . . . . . . . 11
1.2.3 El variograma . . . . . . . . . . . . . . . . . . . . . . 11
1.2.4 El correlograma . . . . . . . . . . . . . . . . . . . . . 12
i
ii CONTENIDO
2.1 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.3.1 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 91
CONTENIDO iii
2.3.2 Aplicacin . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.4.2 Declustering . . . . . . . . . . . . . . . . . . . . . . . 98
Referencias 193
Lista de figuras
v
vi LISTA DE FIGURAS
1.14 Variogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
ix
x LISTA DE TABLAS
1
2 ABREVIATURAS
Captulo 1
1.1 Introduccin
Var(Z(s)) = C(0) = 2 , s D,
longitud del vector distancia entre ellas, esto es, (h) = (h), h Rd ,
siendo h khk. En cambio si un proceso intrnsecamente estacionario Z()
es anisotrpico, la dependencia entre Z(s) y Z(s + h) ser funcin tanto de
la magnitud como de la direccin de h, por lo que el variograma no ser
nicamente una funcin de la distancia entre dos localizaciones espaciales.
Las anisotropas estn causadas por procesos subyacentes que se comportan
de forma diferente en el espacio. Hay varias formas de trabajar con procesos
anisotrpicos, considerndolos como generalizaciones ms o menos directas
de procesos isotrpicos. A continuacin se presentan las ms usuales.
2(h) = 20 (kAhk) , h Rd ,
1.2.2 El covariograma
1.2.3 El variograma
Una condicin necesaria que debe cumplir el variograma es que debe ser
una funcin condicionalmente definida negativa, esto es,
n X
X n
i j 2(si sj ) 0 (1.4)
i=1 j=1
2(h)
lim =0
h h2
1.2.4 El correlograma
C(h)
(h) =
C(0)
donde N (h) denota todos aquellos pares (si , sj ) para los que si sj = h y
|N (h)| denota el cardinal de N (h). Obsrvese que no es necesario estimar la
media del proceso.
library(sgeostat)
library(geospt)
data(maas)
maas.point <- point(maas)
maas.pair <- pair(maas.point, num.lags=24, maxdist=2000)
maas.v <- est.variograms(maas.point,maas.pair,zinc,trim=0.1)
maas.v
1.4 Principales modelos de variogramas y covariogramas isotrpicos 19
El resultado es el siguiente:
2.0
con Efecto pepita
1.5
c0 si h > 0
Variograma
1.0
(h) =
0.5
0 si h = 0
0.0
0.0 0.2 0.4 0.6 0.8 1.0
Distancia
1.0
0 si h = 0
0.8
Variograma
0.6
h
(h) = c0 + cs si 0 < h al
meseta
0.4
al
Lineal
0.2
c + c si h > al
0 s
0.0
0.0 0.2 0.4 0.6 0.8 1.0
Distancia
1.0
0 si h = 0
0.8
Variograma
Esfrico
0.6
3 h 1 h 3
(h) = c0 + cs 2 ( as ) 2 ( as ) si 0 < h as
0.4
0.2
c + c si h > as
0 s
0.0
0.0 0.2 0.4 0.6 0.8 1.0
Distancia
Exponencial
1.0
0.8
c0 + cs 1 exp(3h/ae )
Variograma
si h > 0
0.6
(h) =
0.4
0 si h = 0
0.2
0.0
0.8
c0 + cs 1 exp(3h2 /ag 2 )
Variograma
si h > 0
0.6
(h) =
0.4
0 si h = 0
0.2
0.0
0 si h = 0
1.0
0.8
c0 + cs 1 2 cos1 ( h )+
Variograma
Circular
0.6
ac
(h) =
0.4
q
2h h
a (1 a )
2 si 0 < h ac
0.2
c c
0.0
c0 + cs si h > ac
0.0 0.2 0.4 0.6 0.8 1.0
Distancia
1.5
1.0
sin(h)
Variograma
c0 + cs 1 si h > 0
agujero
h
(h) =
Efecto
0.5
0 si h = 0
0.0
2.0
con Efecto pepita
1.5
Covariograma
0 si h > 0
1.0
C(h) =
0.5
c si h = 0
0
0.0
0.0 0.2 0.4 0.6 0.8 1.0
Distancia
1.0
c + cs si h = 0
0.8
0
Covariograma
0.6
C(h) = cs 1 ah
si 0 h al
meseta
0.4
Lineal
0.2
0 si h > al
0.0
0.0 0.2 0.4 0.6 0.8 1.0
Distancia
1.0
c + cs si h = 0
0.8
0
Covariograma
Esfrico
0.6
C(h) = cs 1 23 ( ah ) + 12 ( ah )3
si 0 < h as
0.4
s s
0.2
0 si h > as
0.0
0.0 0.2 0.4 0.6 0.8 1.0
Distancia
1.2
Exponencial
1.0
0.8
Covariograma
cs exp(3h/ae ) si h > 0
0.6
C(h) =
0.4
c + c si h = 0
0 s
0.2
0.0
0.8
Covariograma
C(h) =
0.4
c + c si h = 0
0 s
0.2
0.0
c0 + cs si h = 0
1.0
0.8
Covariograma
c1 2 cos1 ( h )
Circular
ac
0.6
C(h) = q
0.4
2h h
ac (1 ac )2 si 0 < h ac
0.2
0.0
0 si h > ac
0.0 0.2 0.4 0.6 0.8 1.0
Distancia
1.0
Covariograma
cs sin(h) si h > 0
0.5
agujero
h
(h) =
Efecto
c + c si h = 0
0 s
0.0
siendo W () una matriz diagonal cuyos elementos son las varianzas de , las
cuales pueden aproximarse bajo la hiptesis que el proceso es Gaussiano y las
estimaciones son incorreladas por 2(hj , )2 /N (hj ), con N (hj ) el nmero de
localizaciones a distancia hj . Por tanto, los pesos de (1.8) vendrn dados por
wj = N (hj )/(2(hj , )2 ). En la prctica en el programa R se suele usar de
la libreria gstat la funcin fit.variogram los pesos se muestran en la siguiente
Tabla:
1.5 Estimacin de los parmetros del variograma 25
Z s = V + s (1.10)
+ log(|V 0 1
V |) + (n p)log(2) (1.13)
+ log(|V 0 1
V |) + (n p)log(2) (1.14)
3h
2.1(1 e 40 )
0 si h=0
! 3 !
1 h 3
3 h 3 h 1 h
C0 + C1 + C2 si 0 < h 14
2 14 2 14 2 50 2 50
(h) = !
1 h 3
3 h
C0 + C1 + C2 si 14 < h 50
2 50 2 50
C +C +C si h > 50
0 1 2
10.39 10.65 10.36 9.58 10.66 8.92 7.8 7.84 9.03 8.6
20
9.79 9.06 10.7 11.21 8.98 9.27 8.19 7.88 7.61 8.2 8.77
10.74 12.8 10.03 9.36 8.57 9.01 9.04 7.28 9.58 9.69 9.96 9.91
11.21 9.89 10.34 8.2 9.82 10.06 8.58 8.89 8.64 7.04 8.81 7.95
9.97 9.7 9.84 10.29 9.84 10.01 9.01 7.68 9.25 7.83 9.14 7.63 9.07
11.17 10.14 9.93 10.27 10.21 11.09 10.63 8.82 10.18 9.34 8.61
15
9.92 10.82 11.65 8.96 9.88 8.9 10.18 9.34 10.56 9.06
10.21 10.73 9.46 9.35 9.78 10.38 9.79 8.91 9.22 11.43
12.5 9.63 10.82 10.12 9.4 9.48 10.99 9.92 7.85 8.21
y
9.92 11.05 10.11 11.46 10.41 8.45 8.9 8.07 7.96 7 7.9
11.31 9.41 9.37 11.21 9.93 10.7 9.27 9.28 10.13 8.61 8.78
10
11.15 9.91 10.17 10.55 11.61 9.16 10.04 11.19 8.1 11.3
10.01 8.23 11.04 10.28 13.07 10.47 11.58 9.46 8.54 10.87
5 10 15
Bolsillo", es una simple idea que se ilustrar sobre las diferencias norte-sur
de los datos de coal-ash 1 concentrados sobre la fila j de la grilla, para alguna
otra fila, k por ejemplo, hay un cierto nmero Njk , de diferencias de datos
definidas, cuyas localizaciones estn a una distancia h =| jk | en la direccin
norte-sur. Sea Y jk la media de estas | dif erencias |1/2 , promediadas sobre
los Njk trminos, y se define:
1 X
Yh = | Zi Zj |1/2 (1.15)
| N (h) |
N (h)
Pjk = Y jk Y h (1.16)
2
1.0
2.0
6 2 6
22 2
0.8
6 6
1.5
6 3 23 14 8 2 6 6
6
6 8
8 2
22 2
0.6
6 6 6
6 8 6 6
1.0
6 6 6
6 6 6 2 6
12 6 6 12
23 23
6 2
0.4
9 8 2 23 6
8 6 6
6 22 6 10
3
Q(jk)
P(jk)
2 22 6
0.5
2
8 2
0.2
0.0
0.0
0.5
0.2
1.0
21
21 21
0.4
21
1 3 5 7 9 11 13 15 17 19 21 23 1 3 5 7 9 11 13 15 17 19 21 23
estn en (%coalash)1/2
de los puntos y no el panorama general de estar por encima del nivel cero
(Cressie 1993).
Funcin pocket.plot()
library(gstat)
library(geospt)
data(coalash)
pocket.plot(coalash,"PPR",coalash$x,coalash$y,coalash$coalash, F)
44 40 42 40 39 37 36
600
42 43 42 39 39 41 40 38
500
37 37 37 35 38 37 37 33 34
400
y
35 38 35 37 36 36 35
300
36 35 36 35 34 33 32 29 28
200
100 ft
38 37 35 30 29 30 32
100
100 ft
(a) Cuadrcula para el clculo del semivariograma (b) Seccin transversal a travs del
100 pies se deben encontrar todos los pares de muestras a una separacin de
100 pies en la direccin este-oeste. Esto se muestra en la Figura 1.10a.
44 40 42 40 39 37 36 44 40 42 40 39 37 36
600
600
42 43 42 39 39 41 40 38 42 43 42 39 39 41 40 38
500
500
37 37 37 35 38 37 37 33 34 37 37 37 35 38 37 37 33 34
400
400
y
y
35 38 35 37 36 36 35 35 38 35 37 36 36 35
300
300
36 35 36 35 34 33 32 29 28 36 35 36 35 34 33 32 29 28
200
200
38 37 35 30 29 30 32 38 37 35 30 29 30 32
100
100
200 400 600 800 200 400 600 800
x x
(100) =[(40 42)2 + (42 40)2 + (40 39)2 + (39 37)2 + (37 36)2 +
(43 42)2 + (42 39)2 + (39 39)2 + (39 41)2 + (41 40)2 +
(40 38)2 + (37 37)2 + (37 37)2 + (37 35)2 + (35 38)2 +
(38 37)2 + (37 37)2 + (37 33)2 + (33 34)2 + (35 38)2 +
(35 37)2 + (37 36)2 + (36 36)2 + (36 35)2 + (36 35)2 +
(35 36)2 + (36 35)2 + (35 34)2 + (34 33)2 + (33 32)2 +
(32 29)2 + (29 28)2 + (38 37)2 + (37 35)2 + (29 30)2 +
(30 32)2 ]/(2 36)
(100) =1.46
(200) =[(44 40)2 + (40 40)2 + (42 39)2 + (40 37)2 + (42 43)2 +
(39 36)2 + (43 39)2 + (42 39)2 + (39 41)2 + (39 40)2 +
(41 38)2 + (37 37)2 + (37 35)2 + (37 38)2 + (35 37)2 +
(38 37)2 + (37 33)2 + (37 34)2 + (38 35)2 + (35 36)2 +
(37 36)2 + (36 35)2 + (36 36)2 + (35 35)2 + (36 34)2 +
(35 33)2 + (34 32)2 + (33 29)2 + (32 28)2 + (38 35)2 +
(35 30)2 + (30 29)2 + (29 32)2 ]/(2 33)
(200) =3.30
30
25
NorteSur
EsteOeste
20
Semivarianza
15
10
5
0
Distancia
Para cada una de las figuras, los ejes son las distancias rezagadas h,
ngulo de separacin y valor del variograma de 2(h, ). Se asume que
los ngulos son medidos en el sentido contrario a las manecillas del reloj
desde el este. Algunos variogramas e implementaciones Kriging emplean los
ngulos en grados azimutales, es decir, en sentido horario empezando en el
norte.
a2 cos2 a2 sin2
+ =1 (1.19)
a2 (a)2
1.8 Modelado Semivariograma Anisotrpico 45
En primer lugar se deben rotar los ejes coordenados para que estn
alineados con el eje mayor y menor de la elipse, entonces, stos se reducen
de modo que la elipse es ahora una circunferencia con radio 1, teniendo en
1.8 Modelado Semivariograma Anisotrpico 47
cuenta lo siguiente:
" #" #" #
1/amax 0 cos sin xij
h0 =
0 1/amin sin cos yij
" #" #
1/amax 0 uij
, (1.24)
0 1/amin vij
est implcita en la distancia reducida (cada par de puntos debe tener una
componente de distancia diferente).
40
110
40
96.4 80.9 77.6 75.4 80.3 79.5 93.6 107.7 106.5 101.6 80
90 70
110
Distancia de separacin NorteSur
20
90
20
0
108 93.9 94.7 82.4 50.7 44.1 80.9 102.4 104.4 108.5
100
60
116 106.9 104.2 94.1 74.4 57.7 73.2 95.9 94.2 93
20
20
90
108.4 111.5 110.1 81.2 71.8 63.1 73.8 89.5 83 87.6
110
90
101.6 106.5 107.7 93.6 79.5 80.3 75.4 77.6 80.9 96.4 80
40
40
110
103.7 99.6 115.7 105.5 84.1 88.6 86 76.5 81.1 95.7
40 20 0 20 40 40 20 0 20 40
20 40 60 80
100000
80000
60000
40000
20000
70 90 110
100000
Semivarianza
80000
60000
40000
20000
10 30 50
100000
80000
60000
40000
20000
20 40 60 80 20 40 60 80
Distancia
rose(walk.var3,80000)
xy <- coordinates(walk470)
# Gira los ejes en sentido horario 14 grados y crea una lista con el nuevo (x, y), v, u, y t.
walk470.rot <- cbind(rotateaxis(xy,14), v=v, u=u, t=t)
# Plots directional variograms with loess # fits through the data and prints interpolated
# range at gamma specified.
xyplot(gamma ~ dist|as.factor(dir.hor), data=walk.var4,layout=c(4,3), panel =panel.gamma0,
gamma0=80000,pch=16, main="Interpolated Directional Ranges",col=1)
20 40 60 80 20 40 60 80
100000
80000
60000
100000
80000
d0=19.805 60000
d0=19.9648 d0=22.585
d0=18.6012 40000
0 15 30 45
120000
100000
80000
60000
d0=26.2852
40000
d0=47.4003 d0=39.5269 d0=30.9462
20 40 60 80 20 40 60 80
Distancia
Ajuste del variograma isotrpico final: Una vez que el rango de relacin
ha sido seleccionado el cual corrije la anisotropa geomtrica presente, un
modelo de variograma puede ser ajustado al variograma isotrpico resultante
(Figura 1.17).
1.8 Modelado Semivariograma Anisotrpico 57
20 40 60 80 20 40 60 80
100000
80000
60000
40000
20000
60 75 90 105
100000
Semivarianza
80000
60000
40000
20000
0 15 30 45
100000
80000
60000
40000
20000
20 40 60 80 20 40 60 80
Distancia
Para ver qu tan bien se esta realizando el proceso, es til hacer una
grfica del modelo de variograma final como un modelo isotrpico
corregido para anisotropa geomtrica (Figura 1.18a). Esto se puede
realizar mediante el cdigo siguiente:
100000
8e+04
80000
6e+04
Semivarianza
Semivarianza
60000
4e+04 40000
2e+04 20000
20 40 60 80 20 40 60 80
Distancia Distancia
20
20
6.6 6.5
2
1.2
2.9 3.7
18
18
1.8
2.3
5.5 5.7
16
16
y
y
6 5.2
4.6
14
14
3.2
3.4
5.4
5.4
12
12
3.8 4.2
4.4
0 2 4 6 8 10 0 2 4 6 8 10
x x
20
6
3
3.5
1.5
18
18
4
2 4.5
5
16
16
2.5 5.5
y
5.5
5
4.5
4
14
14
3.
5
12
12
4 5
0 2 4 6 8 10 0 2 4 6 8 10
x x
3. Sean 3 puntos que forman un tringulo issceles con lados 0.8, 0.8 y
1.0, y sea Z(Xi ) un promedio ponderado de los valores de las esquinas
del tringulo dado por Z(xi ) = Z(xi ) 0.5Z(x2 ) 0.5Z(x3 ) y con el
1.10 Ejercicios Propuestos 63
Z2
Z3 Z1 Z5
Z4
1.10 Ejercicios Propuestos 65
Mtodos de Interpolacin
Determinsticos
2.1 Introduccin
En esta seccin se realiza un breve estudio terico sobre las funciones de base
radial aplicadas al problema de interpolacin espacial.
Multicuadrtica (MQ)
() = ln( /2) + K0 ( ) + CE
2.2 Interpolacin a partir de funciones de base radial (RBF) 73
Gaussiana (GAU)
Exponencial
() = e
ln( /2)2 + E1 ( /2)2 + CE si > 0, > 0
() =
0 si = 0
CRS
donde ln es el logaritmo natural, E1 (x) es la funcin integral exponencial
y CE es la constante de Euler.
ln( /2) + K0 ( ) + CE si > 0
() =
0 si = 0
ST
donde K0 (x) es la funcin modificada de Bessel y CE es la constante de
Euler.
76 Captulo 2. Mtodos de Interpolacin Determinsticos
o en forma matricial,
g = F + (2.2)
donde g = (g(s1 ), . . . , g(sn ))0 , F = (1, F1 , . . . , Fk ) es una matriz n (k + 1)
con elementos 1 y Fl = (fl (s1 ), . . . , fl (sn ))0 , l = 1, . . . , k, y con cada fl (si )
una funcin de valor real; = (0 , 1 , . . . , k )0 donde cada l corresponde
al l-simo coeficiente del modelo de tendencia; es una matriz n n con
elementos (si sj ), (.) es una funcin de base radial, es decir una funcin
escalar de la distancia Euclidiana entre si y sj ; finalmente, = (1 , . . . , n )0 ,
con i un peso desconocido.
=(Z F )0 (Z F ) + kP gk2
2.2 Interpolacin a partir de funciones de base radial (RBF) 77
L(, ) =(Z F )0 (Z F ) + 0
=Z 0 Z 2Z 0 F 2Z 0 + 0 F 0 F + 2 0 0 F
+ 0 0 + 0
s = ( + I)1 (Z F ) (2.6)
F + ( + I)1 (Z F ) =Z
I ( + I)1 F = I ( + I)1 Z
(2.7)
Observe que
1
1
I ( + I)1 = = ( + I)1
I+ (2.8)
F 0 = 0
Hay un enlace entre los mtodos espaciales splines y kriging, el cual fue
llamado equivalentemente cercano (Cressie 1989) porque el TPS (una clase
de spline) corresponde a una covarianza generalizada especfica, mientras
que el estimador kriging y el interpolador RBF slo requieren el uso de un
kernel con propiedades adecuadas como la de definida positiva. En general,
esto permite adaptar la funcin kernel a un conjunto de datos particular
(Cressie 1989, Myers 1992). La mayor diferencia es que el usuario establece
el parmetro de suavizamiento en los splines, mientras en el caso de kriging, el
suavizamiento se determina de forma objetiva. A continuacin se desarrollan
los procesos algebraicos que permiten expresar las funciones de base radial
en forma de ecuaciones tipo kriging (ver Capitulo 3).
n
X
Z(s
b 0 ) = gb(s0 ) = i Z(si ) = 0 Z (2.13)
i=1
80 Captulo 2. Mtodos de Interpolacin Determinsticos
sujeto a la condicin
n
X
i fl (si ) = 0 f = fl (s0 ), l = 0, . . . , k
i=1
2
y el error cuadrtico medio de la prediccin del krigeado, K , al utilizar la
aproximacin con funciones de base radial esta dado por
h i2
2
K (s0 ) =E Z(s0 ) Z(s0 )
n X
n n
X X
= i j (si sj ) + 2 i (si s0 )
i=1 j=1 i=1
0
= + 2 0 0
(2.14)
k n
!
X X
+2 l i fl (si ) fl (s0 )
l=0 i=1
l(, ) =0 ( + I) 20 0 + 20 (F 0 f (s0 ))
2.2 Interpolacin a partir de funciones de base radial (RBF) 81
Por otro lado, para obtener una expresin aproximada del error cuadrtico
de la prediccin, se premultiplica la parte superior de (2.15) por 0 y se
encuentra que 0 ( + I) + 0 F = 0 0 , ste trmino se reemplaza en la
expresin (2.14) y se llega a
2
K (s0 )
= 0 + 20 0
= 0 0 + 0 + 0 F + 20 0
=0 0 + 0 + f 0 (s0 )
donde F 0 = f (s0 ).
library(geoR)
2.2 Interpolacin a partir de funciones de base radial (RBF) 83
Obs x y prec
1 1 4 420
2 1 2 410
3 3 3 405
4 3 0 415
5 5 1 430
6 5 3 425
7 6 4 415
8 6 1 435
9 6 3 425
10 7 2 430
84 Captulo 2. Mtodos de Interpolacin Determinsticos
library(geospt)
data(preci)
preci.geoR <- as.geodata(preci, coords.col = 2:3, data.col = 4)
points.geodata(preci.geoR, x.leg=3, y.leg=5, xlab="X", ylab="Y", main="", col.main=3,
pt.div="quintile")
points.geodata(preci.geoR, x.leg=3, y.leg=5, main="", col.main=3, pt.div="quintile",
add.to.plot = TRUE, panel.first = grid())
[405.00, 414.00)
[414.00, 418.00)
420 [418.00, 425.00) 415
[425.00, 430.00)
4
[430.00, 435.00)
405 425 425
3
410 430
Y
430 435
1
415
0
1
1 2 3 4 5 6 7
##-----------------------------------
## Optimizacin RBF: Ejemplo TPS:
##-----------------------------------
1
Actualmente en el programa ArcGIS 10.1 (ESRI 2013) no es posible optimizar
simultneamente los dos parmetros
86 Captulo 2. Mtodos de Interpolacin Determinsticos
435
430
425
Norte
420
415
410
405
Este
##---------------------------------------------------------------
## Interpolacin RBF: Ejemplo prediccin precipitacin "TPS":
##---------------------------------------------------------------
data(preci)
coordinates(preci) <- ~x+y
puntos<-expand.grid(x=seq(min(preci$x),max(preci$x),0.01), y=seq(min(preci$y), max(preci$y),
2.2 Interpolacin a partir de funciones de base radial (RBF) 87
0.01))
coordinates(puntos) <- ~x+y
pred.rbf <- rbf(prec~1, preci, eta=0.150363689103249, rho=0.0111879409181372, newdata=puntos,
n.neigh=10, func="TPS")
coordinates(pred.rbf) = c("x", "y")
gridded(pred.rbf) <- TRUE
# show prediction map
spplot(pred.rbf["var1.pred"], cuts=80, col.regions=rev(bpy.colors(100)), main="",
key.space=list(space="right", cex=0.8))
1
1 11 12 13 14 15 16 1 f11 f12 f13 10
2 21 22 23 24 25 26 1 f21 f22 f23 20
3 31 32 33 34 35 36 1 f31 f32 f33 30
42 43 44 45 46 1 f41 f42 f43
4 41 40
5 51 52 53 54 55 56 1 f51 f52 f53 50
=
62 63 64 65 66 1 f61 f62 f63
6 61 60
0 1 1 1 1 1 1 0 0 0 0 f00
1 f11 f21 f31 f41 f51 f61 0 0 0 0 f10
f f22 f32 f42 f52 f62 0 0 0 0 f
2 12 20
3 f13 f23 f33 f43 f53 f63 0 0 0 0 f30
1
1 0.00 2.98 4.56 4.92 6.00 4.91 1 61.61 197.9 154.0 3.84 0.178
2.98 0.00 4.57 3.96 5.64 4.34 1 62.94 194.8 167.6 3.06 0.358
2
3 4.56 4.57 0.00 5.19 6.50 3.93 1 55.68 193.6 20.0 3.52 0.044
4.92 3.96 5.19 0.00 5.16 4.11 1 64.96 189.8 130.1 4.14 -0.003
4
5
= 6.00 5.64 6.50 5.16 0.00 6.09 1 74.80 190.6 190.9
5.99 -0.049
3.16 = 0.472
4.91 4.34 3.93 4.11 6.09 0.00 1 59.12 189.5 170.3
6
0 1 1 1 1 1 1 0 0 0 0 1 2.002
61.61 62.94 55.68 64.96 74.80 59.12 0 0 0 0 60 -0.086
1
2 197.9 194.8 193.6 189.8 190.6 189.5 0 0 0 0 193 0.011
3 154.0 167.6 20.0 130.1 190, 9 170, 3 0 0 0 0 159 0.011
##---------------------------------------------------------------
## Interpolacin RBF: Ejemplo vecindario local con funcin CRS:
##---------------------------------------------------------------
library(geospt)
ejercRBF <- read.table("D:/Calculos Libro/RBF/ejercRBF.txt",header =T, sep="")
names(ejercRBF)[3:4] <- c("x","y")
coordinates(ejercRBF) <- ~x+y
90 Captulo 2. Mtodos de Interpolacin Determinsticos
So <- data.frame(60,193,159)
names(So) <- c("x","y","WD")
coordinates(So) <- ~x+y
rbf(WTE~x+y+WD, ejercRBF, eta=2, rho=0, newdata=So, n.neigh=6, func="CRS")
Donde:
i son los pesos asignados a cada medicin realizada sobre los puntos
que se utilizarn en la prediccin. Estos pesos decrecen con la distancia.
Donde:
2.3 Distancia Inversa Ponderada (IDW) 91
Pn
i=1 i = 1.
library(geospt)
ejercIDW <- read.table("D:/Calculos Libro/IDW/ejercIDW1.txt", header =T, sep="")
graph.idw(PRECI_TOT~ 1, ~x+y, data=ejercIDW, np=50, p.dmax=4, nmax=15, nmin=15, P.T=T)
2.3.1 Ejemplo
28.5
28.0
Optimal p = 2.0735
27.5 RMSPE = 26.1672
RMSPE
27.0
26.5
0 1 2 3 4
##------------------------------------------------
## Interpolacin IDW: Ejemplo vecindario local:
##------------------------------------------------
library(fields)
2.3.2 Aplicacin
##----------------------------------------------------
## Aplicacin IDW: Ro Ariari (Estaciones climticas)
##----------------------------------------------------
ejercIDW <- read.table("D:/Calculos Libro/IDW/ejercIDW1.txt", header =T, sep="")
library(maptools)
utm.18 <- "+proj=utm +zone=18 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0"
ariari<- readShapePoly("D:/Calculos Libro/IDW/Ariari",,CRS(utm.18))
plot(ariari)
puntos <- spsample(ariari,20000,"regular")
plot(puntos)
94 Captulo 2. Mtodos de Interpolacin Determinsticos
Tabla 2.5: Datos de estaciones climticas del ro Ariari (Dpto del Meta)
library(gstat)
library(fields)
idw.p <- idw(PRECI_TOT~ 1, ~ x+y, ejercIDW, puntos, nmax=15, nmin=15, idp=2)
coordinates(idw.p) = c("x", "y")
pal2 <- colorRampPalette(c("snow3","royalblue1", "blue4"))
#Interpolaciones IDW de la Precipitacin (P=2)
p1 <- spplot(idw.p[1], col.regions=pal2(100), cuts =60, scales = list(draw =T), xlab ="Este
(m)", ylab = "Norte (m)", main = "", auto.key = F)
split.screen( rbind(c(0, 1,0,1), c(1,1,0,1)))
96 Captulo 2. Mtodos de Interpolacin Determinsticos
La Figura 2.6 muestra paso a paso cmo se definen de forma nica los lmites
del polgono de influencia (polgono de Voronoi). La mediatriz de un segmento
de lnea es una lnea en la que los puntos son equidistantes de los extremos
del segmento de lnea; puntos a ambos lados de la bisectriz perpendicular
tienen que estar ms cerca de un extremo o el otro. Las mediatrices entre
una muestra y sus vecinos forman los lmites del polgono de influencia
2.4.2 Declustering
Con los datos dados Z = 419.5986 y la varianza con los pesos wi = 1 es:
n
(Zi Z)2
P
i=1
Z2 = = 85.96384
n
Como en este caso hay pesos asociados a las observaciones, entonces la
2.4 Polgonos de Voronoi (Thiessen) 101
n
P
Es claro que wi = 1 para encontrar el promedio muestral ponderado, se
i=1
consideran los pesos wi en la expresin (2.14) y para la varianza muestral la
expresin (2.15).
Ejemplo
Tal como se indica en la Figura 2.10, los puntos utilizados para estimar el
valor de un atributo en la ubicacin s0 son los vecinos naturales de s0 , y el
peso de cada vecino wi es igual al rea de interseccin entre el polgono de
Thiessen asociado al punto s0 y los poligonos de Thiessen asociados a sus
puntos vecinos (P1 , P2 , P3 , P4 , P5 y P6 ).
Programacin en R
Al aplicar el cdigo
##------------------------------------------------
## Interpolacin Areas Voronoi: Ejemplo Croatia:
##------------------------------------------------
16
5100000
14
12
5000000
10
Norte (m)
8
4900000
4
4800000
Este (m)
for (i in seq(along=polys)) {
pcrds <- cbind(w[[i]]$x, w[[i]]$y)
pcrds <- rbind(pcrds, pcrds[1,])
polys[[i]] <- Polygons(list(Polygon(pcrds)), ID=as.character(i))
}
SP <- SpatialPolygons(polys)
voronoi <- SpatialPolygonsDataFrame(SP, data=data.frame(x=crds[,1], y=crds[,2], row.names=
sapply(slot(SP, polygons), function(x) slot(x, ID))))
return(voronoi)
}
Programacin en R
library(maptools)
estaciones <- readShapeSpatial("D:/LibroEstadsticaEspacial/Cundinamarca/estaciones.shp")
limite <- readShapePoly("D:/LibroEstadsticaEspacial/Cundinamarca/limite.shp")
estaciones1 <- data.frame(estaciones@coords[,1:2],estaciones@data)
names(estaciones1)[1:2] <- c("x","y")
library(spatial)
attach(estaciones1)
pa.ls <- surf.ls(1,x,y,PREC_AN)
pa.trsurf <- trmat(pa.ls, xl=x[which.min(x)], xu=x[which.max(x)], yl=y[which.min(y)], yu=
y[which.max(y)], n=100)
contour(pa.trsurf, xlab= "Este (m)", ylab= "Norte (m)")
points(estaciones,pch=20)
# Polinomio orden 2
pa.ls2 <- surf.ls(2,x,y,PREC_AN)
pa.trsurf2 <- trmat(pa.ls2, xl=x[which.min(x)], xu=x[which.max(x)], yl=y[which.min(y)], yu=
y[which.max(y)], n=100)
contour(pa.trsurf2, xlab= "Este (m)", ylab= "Norte (m)")
points(estaciones1,pch=20)
library(gstat)
coordinates(estaciones1) <- ~ x+y
cun.grid <- spsample(limite, 25000, "regular")
cun.df <- data.frame(cun.grid@coords)
names(cun.df) <- c("x","y")
gridded(cun.df) <- ~x+y
# Superficie de tendencia de primer orden
x <- gstat(formula=PREC_AN ~ 1, data=estaciones1, degree=1)
kt <- predict(x, newdata=cun.df)
spplot(kt[1], contour=TRUE,main="", xlab="Este (m)", ylab = "Norte (m)", sp.layout=
list("sp.points", estaciones1, pch=19, col=2), scales = list(draw =T), cuts=40)
0 500
1100000
1100000
00
40
00
0
35
50 00
15
00
10
00
30
1050000
1050000
0
2 00
00
1000
25
Norte (m)
Norte (m)
00
20
1000000
1000000
00
00
00
20
35
30
0 0
40
00
00
25
25
00
00
15
45
00
00
15
50
950000
950000
00
55
00
60
00
65
950000 1000000 1050000 950000 1000000 1050000
Debido a que los mtodos determinsticos son exactos, es decir los valores
de los pronsticos coinciden con los valores observados para los puntos
muestreados, se hace necesario el uso de un mtodo que permita evaluar
el grado de ajuste de estos interpoladores determinsticos. Por lo cual la
validacin cruzada es til ya que brinda informacin acerca del grado de
ajuste del mtodo de interpolacin.
6000
1100000 2500 1100000
5000
2000
1050000 1050000
4000
Norte (m)
Norte (m)
1500
3000
1000000 1000000
1000
2000
500
950000 950000
1000
n
P
donde Z = Z(sj )/n
j=1
Ventajas:
Desventajas:
El tiempo de ejecucin puede ser muy alto, dado que el proceso se debe
repetir n veces.
Programacin en R
# funcin multicuadrtica
library(geospt)
data(preci)
coordinates(preci) <- ~x+y
# eta predefinido
tab <- rbf.tcv(prec~x+y,preci,eta=1.488733, rho=0, n.neigh=9, func="M")
criterio.cv(tab)
El resultado obtenido es
116 Captulo 2. Mtodos de Interpolacin Determinsticos
Una de las ventajas de las funciones de base radial es que el clculo es rpido
(utiliza pocos puntos para realizar la interpolacin), los valores interpolados
obtenidos por medio de "splines" son muy prximos al valor real (errores son
pequeos). En contraste con los mtodos basados en el clculo de un tipo de
promedio, "splines" conservan la informacin de alta frecuencia (detalles).
La continuidad e igualdad "smoothness" de una funcin "spline" permite el
clculo de derivadas de una manera rpida y eficiente; por lo tanto, estas
funciones son ideales para anlisis topolgicos y geomtricos.
2.7 Generalidades de las RBFs 117
4. A partir de los datos dados en la Tabla 2.5 y con la librera geospt del
programa R,
(a) Encontrar para las RBFs los valores ptimos de los parmetros
y .
(b) Conforme a lo obtenido en (a), genere la superficie de interpolacin
asociada a la RBFs de menor error.
120 Captulo 2. Mtodos de Interpolacin Determinsticos
Captulo 3
3.1 Introduccin
Consideremos :
Z(s) = (s) + (s) (3.1)
Z = X + (3.2)
n
P
En la expresin (3.3) (s0 ) = i (si ), sto en trminos de vectores
i=1
es: (s0 ) = 0 donde 0 = (1 , 2 , ..., n ) y 0 = ((s1 ), (s2 ), ..., (sn ))
Insesgamiento
E(Z(s0 )) = (3.4)
E( + 0 ) =
+ 0 E() =
0 0 = 0
124 Captulo 3. Prediccin Espacial Kriging
Este resultado indica que los ponderadores pueden tomar cualquier valor,
por lo cual no hay restricciones para el insesgamiento.
2
Sea KS (s0 ) la varianza de la prediccin del error va Kriging Simple
en la localizacin s0 , luego:
2
KS (s0 ) = V (Z(s0 ) Z(s0 )) (3.5)
V (0 ) = 0 (3.8)
3.2 Kriging Simple 125
Con
c11 c1n
. .
. . ...
= . Esta matriz es simtrica y definida positiva
.
cn1 cnn
con
2
KS (s0 ) = 0 + 2 20 c (3.9)
2
KS (s0 ) = 0 ( ) + 0 20 c
= ()0 + 0 2()0 c
= 0 + 0 2c0
2
KS (s0 ) = 20 2c0 (3.10)
20 2c0 = 0
0 = c0
= c (3.13)
Despejamos , obteniendo:
= 1
c (3.14)
Con estos ponderadores podemos encontrar la prediccin en la localizacin
s0 dada en (3.3).
La varianza de la prediccin del error en s0 estar dada por (3.9).
Considerando (3.13) en sta expresin se tiene:
2
KS (s0 ) = 0 Z + 2 20 c
= 0 c + 2 20 c
2
KS (s0 ) = 2 0 c (3.15)
3.2 Kriging Simple 127
3.2.2 Ejemplo
a) Asuma dos puntos mustrales con coordenadas (1, 0) y (2, 0). Suponga
que se quiere estimar un valor en un punto arbitrario (1, y). Si se sabe que
el semivariograma es gaussiano y tiene una meseta de 1.0 y un factor de
escala de 1. Encuentre los ponderadores de kriging simple para los dos puntos
mustrales.
2.5
Y
2.0
1.5
P0
1.0
0.5
P1 P2
0.0
X
0.5
De (3.16) tenemos
Reemplazamos en (3.17)
1 = exp(3y 2 )
130
2
250
200
150
y
90
? 160
3
S0 4
100
50
40
1
0
Obs x y Z(si )
1 10 20 40 -70
2 30 280 130 20
3 250 130 90 -20
4 360 120 160 50
s0 180 120 ?
1
1 c11 c12 c13 c14 c10
c22 c23 c24
2 c21 c20
=
c c32 c33 c34 c
3 31 30
4 c41
c42 c43 c44
c40
1
1 2000 704.74 695.67 466.32 908.667 0.1847
2 704.74 2000 689.40 461.25 831.835 0.1285
=
695.67 689.40 2000 1285.74 1507.277 = 0.6458
3
4 466.32 461.25 1285.74 2000 973.505 0.0011
Z(s0 ) = 110 + 0.1847 (70) + 0.1285 (20) + 0.6458 (20) 0.0011 (50)
= 86.6689
2
Y la varianza KS (s0 ) se obtiene a partir de la expresin 3.15. As:
2
KS (s0 ) = 2 0 c = 2000 (0.1847 908.667 + 0.1285 831.835 + 0.6458
1507.277 0.0011 973.505) = 752.9537
3.2.3 Programacin en R
Obs <- c(1,2,3,4)
x <- c(10,30,250,360)
y <- c(20,280,130,120)
Z <- c(40,130,90,160)
DF <- data.frame(Obs,x,y,Z)
names(DF) <- c("Obs","x","y","Z")
So <- data.frame(180,120)
names(So) <- c("x","y")
library(gstat)
132 Captulo 3. Prediccin Espacial Kriging
library(sp)
coordinates(DF) = ~x+y
coordinates(So) = ~x+y
var <- vgm(2000,"Exp",250,0)
p.So <- krige(Z~1, DF, So, model=var,beta=110)
p.So
ste kriging asume que la media del proceso Gaussiano Z(s) es desconocida
y constante. A diferencia del kriging simple, aqu no es necesario realizar el
declustering dado que no se considera el conocimiento de la media de Z(s).
Sea
Z(s) = (s) + (s) (3.19)
Con (s) tal como se explic en la seccin (3.1) y (s) con E((s)) = 0.
Para un vector de observaciones ya mencionado en la seccin (3.1)
Z = X + (3.20)
Z = 0 Z (3.22)
3.3 Kriging Ordinario 133
Insesgamiento
E(Z(s0 )) = (3.23)
E[0 Z] =
0 E(Z) = como E(Z) = X = entonces:
0 = dado que n1 = 1 , tenemos ahora:
0 1 = = 1 as la restriccin ser:
0 1 = 1 (3.24)
2
Sea KO (s0 ) la varianza de la prediccin del error en la localizacin
s0 , entonces.
2
KO (s0 ) = V (Z(s0 ) Z(s0 )) (3.25)
2
KO (s0 ) = V (0 Z Z(s0 )) (3.26)
= V (0 Z) + V (Z(s0 )) 2Cov(0 Z, Z(s0 )) (3.27)
L(, m) = 0 Z + 0 Z 20 c 2m0 1
= ()0 Z + 0 Z 2()0 c 2m()0 1
= 0 Z + 0 Z 2c0 2m10
L(, m) = 20 Z 2c0 2m10
0 Z c0 m10 = 0 (3.32)
0 ( 2 110 Z ) ( 2 1 )0 m10 = 0
2 0 110 0 Z 2 10 + 0 m10 = 0 (3.36)
2 10 0 Z 2 10 + 0 m10 = 0 (3.37)
0 Z + m10 = 0 (3.38)
3.3 Kriging Ordinario 137
Z + m1 = (3.39)
Z +m1 =
(3.40)
10 =1
WKO = G1
KO LKO (3.42)
= 1
Z ( m1) (3.43)
10 = 10 1
Z ( m1) (3.44)
10 1
Z ( m1) = 1
138 Captulo 3. Prediccin Espacial Kriging
Ahora se despejar m
10 1 0 1
Z 1 Z m1 = 1
10 1 0 1
Z 1m = 1 Z 1
m = (10 1 1 0 1
Z 1) (1 Z 1) (3.45)
= 1 0 1 1 0 1
Z { (1 Z 1) [1 Z 1]} (3.46)
2
KO (s0 ) = 2 0 Z + 2 2 2 + 20
2
KO (s0 ) = 0 Z + 20 (3.48)
2
KO (s0 ) = 0 ( m1) + 20
= 20 0 + 0 m1
= 0 + m0 1
2
KO (s0 ) = 0 + m (3.49)
3.3.2 Ejemplo
Figura 3.3: Configuracin espacial del problema. Los nmeros al lado de cada
lnea son distancias
Obs x y Z(si )
1 0 1 2
2 1 1 -3
3 1 0 3
4 0.5 -1 -4
5 -1 0 2
s0 0 0 ?
Entonces, primero se calculan las distancias entre los puntos del vecindario
y entre el vecindario y el punto s0 , tal como se muestra en la Tabla 3.4.
Junto a estas distancias en dicha tabla se muestra tambin los valores de
semivarianza (resultado de evaluar la funcin del modelo esfrico en dichas
distancias). Luego ubicando estos resultados en las ecuaciones de kriging
WKO = G1
KO LKO
3.3 Kriging Ordinario 141
1
12 13 14 15 1
1 11 10
22 23 24 25 1
20
2 21
3 31 32 33 34 35 1
30
=
42 43 44 45 1
40
4 41
5 51 52 53 54 55 1
50
m 1 1 1 1 1 0 1
1
0.000 0.852 0.995 1.000 0.995 1 0.8519 0.2570
1
0.852 0.000 0.852 1.000 1.000 1 0.9952 0.0496
2
3 0.995 0.852 0.000 0.911 1.000 1 0.8519 0.2417
= =
1.000 1.000 0.911 0.000 1.000 1 0.9110 0.1862
4
5 0.995 1.000 1.000 1.000 0.000 1 0.8519 0.2656
m 1 1 1 1 1 0 1 0.1186
2
Y la varianza KO (s0 ) se obtiene a partir de la expresin 3.49. As:
2
KO (s0 ) = 0 + m = 0.2570 0.8519 + 0.0496 0.9952 + 0.2417 0.8519
+ 0.1862 0.9110 + 0.2656 0.8519 + 0.1186 = 0.9886
3.3.3 Programacin en R
Obs <- c(1,2,3,4,5)
x <- c(0,1,1,0.5,-1)
y <- c(1,1,0,-1,0)
Z <- c(2,-3,3,-4,2)
DF <- data.frame(Obs,x,y,Z)
names(DF) <- c("Obs","x","y","Z")
142 Captulo 3. Prediccin Espacial Kriging
So <- data.frame(0,0)
names(So) <- c("x","y")
library(gstat)
library(sp)
coordinates(DF) = ~x+y
coordinates(So) = ~x+y
var <- vgm(1,"Sph",1.5,0)
p.So <- krige(Z~1, DF, So, model=var)
p.So
coordinates var1.pred var1.var
1 (0, 0) 0.876718 0.98863
El predictor (3.52) debe cumplir 0 1 = 1 para que sea insesgado tal como
veremos a continuacin.
144 Captulo 3. Prediccin Espacial Kriging
Insesgamiento
E[0 (X + )] = E(Z0 )
E(0 X) + E(0 ) = E(Z0 ) (3.55)
E(0 X) = E(Z0 )
0 E(X) = E(x(s0 )0 + 0 )
0 X = x(s0 )0 (3.56)
0 X = x(s0 )0 (3.57)
3.4 Kriging Universal 145
En (3.61)
146 Captulo 3. Prediccin Espacial Kriging
c11 c1n
. .
V (0 ) 0 , con . . ... donde cij
= = .. =
cn1 cnn
Cov((si ), (sj ))
c10
.
Cov(0 , (s0 )) = 0 c con c = .
. , aqu ci0 = Cov((si ), (s0 ))
cn0
2
KU (s0 ) = 0 + 2 20 c (3.62)
L(, m) = 0 + 0 20 c + 2m0 X 0
= ()0 + 0 2()0 c + 2m0 X 0
= 0 + 0 2c0 + 2m0 X 0
= 20 2c0 + 2m0 X 0
3.4 Kriging Universal 147
Luego:
L(, m)
= 20 2c0 + 2m0 X 0 (3.64)
Ser el vector el que nos genera una varianza mnima si la segunda derivada
es positiva. As:
00 L(, m)
= 2
00
0 c0 + m0 X 0 = 0 Ahora se despeja
0 + m0 X 0 = c0
+ Xm = c (3.65)
= c Xm
= 1
(c Xm) (3.66)
L(, m)
= 2(0 X x(s0 )0 )
m
0 X = x(s0 )0
X 0 = x(s0 ) (3.67)
148 Captulo 3. Prediccin Espacial Kriging
+ Xm = c
X 0 = x(s0 )
En trminos matriciales:
! ! !
X c
= (3.68)
X0 0 m x(s0 )
CKU WKU = DKU
1
WKU = CKU DKU (3.69)
X 0 = X 0 1
(c Xm) (3.70)
X 0 1 (c Xm) = x(s0 )
X 0 1 0 1
c X Xm = x(s0 ) (3.71)
3.4 Kriging Universal 149
Despejando m se llega a:
m = (X 0 1 1 0 1
X) [X c x(s0 )] (3.72)
= 1
{c X(X X)1 [X 0 1
1 1
c x(s0 )]} (3.73)
( 2 110 ) + Xm = 2 1
2 110 + Xm = 2 1 (3.74)
2 1 + Xm = 2 1
Xm = (3.75)
+ Xm = (3.76)
Ahora al realizar los mismo clculos anteriores, pero con (3.76) tenemos que
(3.72) y (3.73) en trminos de semivarianzas sern:
m = (X 0 1 1 0 1
X) [X x(s0 )] (3.77)
= { X(X 0 1 1
X) [X
1 1
x(s0 )]} (3.78)
150 Captulo 3. Prediccin Espacial Kriging
2
KU (s0 ) = 0 + 2 20 c
2
KU (s0 ) = 0 ( 2 110 ) + 2 20 ( 2 1 )
= 0 2 110 0 + 2 20 2 1 + 2
= 2 0 11 0 + 2 2 2 0 1 + 20
= 2 + 2 2 2 0 + 20
2
KU (s0 ) = + 20 (3.80)
2
KU (s0 ) = 0 (c Xm) + 2 20 c
= 0 c 0 Xm + 2 20 c
= 2 0 Xm 0 c (3.81)
2
KU (s0 ) = 2 (x(s0 )0 m + 0 c) (3.82)
3.4 Kriging Universal 151
2
KU (s0 ) = 0 + m0 x(s0 ) (3.83)
3.4.2 Ejemplo
1
WKU = CKU DKU
3.4 Kriging Universal 153
1
1 11 12 13 14 15 1 x11 x12 10
2 21 22 23 24 25 1 x21 x22 20
3 31 32 33 34 35 1 x31 x32 30
42 43 44 45 1 x41 x42
4 41 40
=
5 51 52 53 54 55 1 x51 x52 50
m0 1 1 1 1 1 0 0 0 1
m1 x11 x21 x31 x41 x51 0 0 0 x10
m2 x12 x22 x32 x42 x52 0 0 0 x20
1
1 0 46.3 49.3 53.1 53.1 1 1 4 46.3 0.518
2 46.3 0 49.3 53.1 53.1 1 1 2 53.0 -0.233
3 49.3 49.3 0 46.3 53.1 1 3 3 26.5 0,.556
53.1 53.1 46.3 0 35.9 1 5 3 49.3 -0.089
4
= =
5 53.1 53.1 53.1 35.9 0 1 6 4 53.1
0.249
m0 1 1 1 1 1 0 0 0 1 -33.030
m1 1 1 3 5 6 0 0 0 3 -1.911
m2 4 2 3 3 4 0 0 0 4 14.045
Z(s0 ) = 0.518 420 0.233 410 + 0.556 405 0.089 425 + 0.249 415
= 412.3023
2
Y la varianza KU (s0 ) se obtiene a partir de la expresin 3.83. As:
2
KU (s0 ) = 0 + m0 x(s0 ) = 0.518 46.33 0.233 53.03 + 0.556 26.48
= 0.089 49.33 + 0.249 53.06 33.030 1 1.911 3 + 14.045 4
= 52.5576
154 Captulo 3. Prediccin Espacial Kriging
3.4.3 Programacin en R
library(geospt)
data(preci)
names(preci)[4] <- "z"
So <- data.frame(3,4)
names(So) <- c("x","y")
coordinates(So) = ~x+y
coordinates(preci) = ~x+y
# KU Orden 1
krige(z~x+y, preci, SpatialPoints(So), vgm(53.064, "Sph", 2.8858), nmax=5)
# coordinates var1.pred var1.var
# (3, 4) 412.3023 52.55755
# KU Orden 2
krige(z~x+y+x*y+I(x^2)+I(y^2), preci, SpatialPoints(So), vgm(19.201, "Sph", 1.5823), nmax=6)
50000 150000
45 135
+
var1 12
2e+05 6
10
+ +++
1e+05 8 + ++
semivariance
+
6
+ ++ + +
+ ++
dy
0e+00 4
++ +++
4 + ++++
1e+05 ++
2
2e+05 +
2
0
2e+05 0e+00 2e+05
dx
50000 150000
distance
WLS proporciona mejores resultados que WLS1, con M SE = 1.035 para los
residuos del modelo de orden 1 (ver Figura 3.6).
10
8
Semivariance
MSE Values
TRIMMED MEAN
4
WLS = 1.0348
REML = 3.2272
WLS1 = 1.0692
OLS = 1.1933
2
Distance
a) 0 I(Z((s 0 ))) 1
b) Si Z(si ) Z(sj ) entonces I(Z(s
i )) I(Z(sj ))
I(Z(s 0
0 )) = I (3.86)
Insesgamiento
E(I(Z(s 0 ))) = Fz (zc ) (3.87)
E(I(Z(s 0
0 )) = E( I) = FZ (zc )
= 0 E(I) = FZ (zc )
= 0 FZ (zc )1 = FZ (zc )
= 0 1 = 1 (3.88)
2
KI
(s0 ) = V (I(Z(s 0 )) I(Z(s0 ))) (3.89)
2
KI (s0 ) = V (0 I) + V (I(Z(s0 ))) 2Cov(0 I, I(Z(s0 )) (3.90)
Despejando se tiene:
WKI = G1
KI LKI (3.93)
Donde
I I I
11 1n i0
. .
. . ...
.
I = . y I = . (3.94)
. .
I I I
n1 nn n0
1 1
Si I(Z(si )) = 1 y I(Z(sj )) = 0 = ij = (1 0)2 =
2 2
1 1
Si I(Z(si )) = 0 y I(Z(sj )) = 1 = ij = (0 1)2 =
2 2
1
Si I(Z(si )) = 1 y I(Z(sj )) = 1 = ij = (1 1)2 = 0
2
1
Si I(Z(si )) = 0 y I(Z(sj )) = 0 = ij = (0 0)2 = 0
2
3.5.2 Ejemplo
Para el ejemplo se considera de nuevo los datos de la seccin 2.2.4 En este caso
la funcin de semivarianza (o covarianza) se debe construir a partir del vector
de valores de la variable indicadora, para construirla es necesario definir un
valor limite denominado umbral. En la practica este valor es definido por el
investigador, quien deber tener conocimiento sobre el umbral de inters (por
2
ejemplo, en el tema de salud publica suelen tenerse ya unos valores limite
definidos para variables como P M2.5 , o CO2 establecidos por la Organizacin
Mundial de la Salud (OMS)).
Para el caso con fin ilustrativo se asumir el umbral de 420 para la variable
precipitacin. Los datos se muestran en la Tabla 3.6 a continuacin:
WKI = G1
KI LKI
3.5 Kriging Indicador 165
1
I I
12 I
13 I
14 I
15 1 I
1 11 10
I I
22 I
23 I
24 I
25 1 I
2 21 20
I I I I I
I
3 31 32 33 34 35 1
30
=
I I
42 I
43 I
44 I
45 1 I
40
4 41
5 I I
52 I
53 I
54 I
55 1 I
50
51
m 1 1 1 1 1 0 1
1
0 0.21 0.22 0.31 0.35 1 0.21 0.259
1
0.21 0 0.22 0.31 0.36 1 0.26 0.055
2
3 0.22 0.22 0 0.21 0.27 1 0.15 0.410
=
0.22 =
0.31 0.31 0.21 0 0.18 1 0.152
4
5 0.35 0.36 0.27 0.18 0 1 0.26 0.125
m 1 1 1 1 1 0 1 0.017
2
Y la varianza KI (s0 ) establecida en la expresin 3.95 es:
2
KI (s0 ) = 0 I + m = 0.259 0.212 0.055 0.256 + 0.410 0.153+
= 0.152 0.225 + 0.125 0.265 + 0.017 1 = 0.2157079
3.5.3 Programacin en R
library(geospt)
data(preci)
names(preci)[4] <- "z"
So <- data.frame(3,4)
names(So) <- c("x","y")
coordinates(So) = ~x+y
coordinates(preci) = ~x+y
krige(I(z<=420)~1,preci,SpatialPoints(So),vgm(0.28306,"Sph",6.9642,nugget=0.09293),nmax=5)
# coordinates var1.pred var1.var
# (3, 4) 0.8480858 0.2157079
3.5 Kriging Indicador 167
Figura 3.8: Protocolo de observacin. Los observadores (cada uno a un lado del
avin) escanean una franja de 230 m ubicada por las marcas en el
ala. La tira se subdividi en tres franjas.
Fuente: Tomado de (Certain & Bretagnolle 2008)
4480000
4460000
Este (m)
4520000
4520000
Y Coord
Y Coord
4490000
4490000
4460000
4460000
280000 300000 320000 340000 0 20 40 60 80 100 120
X Coord data
0.10
100
0.08
40 60 80
0.04 0.06
Density
data
0.02
20
0
0.00
Gaut.wls <- fit.variogram(y.t, vgm(0.02, "Gau", 1500, 0.005), fit.method=2) # metodo 2 MCP
Gaut.ols <- fit.variogram(y.t, vgm(0.02, "Gau", 1500, 0.005), fit.method=6) # metodo 6 MCO
Gaut.wls1 <-fit.variogram(y.t, vgm(0.02, "Gau", 1500, 0.005), fit.method=7) # metodo 7 MCP
print(list(Gaut.wls,Gaut.ols,Gaut.wls1))
plot(P.L.v$bins,P.L.v$trimmed.mean,lty=4,pch=1,lwd=2,bg="yellow",type="p",col=1,font.main=3,
main = "",xlab="Distancia",ylab="Semivarianza")
lines( Gaut.WLS, col =2,lty=1,lwd=2)
lines( Gaut.WLS1, col =3,lty=2,lwd=2)
lines( Gaut.OLS, col =4,lty=3,lwd=2)
legend(locator(1), legend = c("MEDIA RECORTADA", "WLS","WLS1","OLS"), pch=c(1,-1,-1,-1),
lty = c(-1,1,2,3), col=1:4, lwd=2)
0.004
0.003
Semivarianza
0.002
MEDIA RECORTADA
WLS
WLS1
OLS
0.001
Distancia
La Figura 3.12 muestra claramente en los dos mapas las predicciones fuera
del intervalo [0, 1], a la vez se observa que con menos vecinos (10 vecinos, parte
(a) de la Figura 3.12) los valores de las probabilidades "excesivas" (aquellas
> 1) y las menores de 0 son mas extremas que en el caso de un vecindario de
tamao 20 (parte (b) de la Figura 3.12). Por lo tanto, una solucin comn
al problema de probabilidades negativas con kriging indicador es disminuir
3.5 Kriging Indicador 173
1.4
1.2
1.2
4520000 4520000 1.0
1.0
0.8
0.8
0.6
4500000 0.6 4500000
Norte (m)
Norte (m)
0.4
0.4
0.2 0.2
4480000 4480000
0.0 0.0
0.2
0.2
280000 290000 300000 310000 320000 330000 340000 280000 290000 300000 310000 320000 330000 340000
Gamma<-(concurrencias-discordancias)/(concurrencias+discordancias)
# 0.7094595
C D
Gamma =
C +D
Aqu C es el nmero de parejas concordantes (aciertos) y D es el nmero
de parejas discordantes (desaciertos). Al realizar el calculo en el programa
3.5 Kriging Indicador 175
1.0
0.0030
4520000
4520000
0.8
0.0025
Norte (m)
0.4 0.0015
4480000 4480000
0.0010
0.2
0.0005
4460000
4460000 0.0
n ASEPE
50 1.110443
100 0.909571
150 0.818971
178 Captulo 3. Prediccin Espacial Kriging
a) n = 50 b) n = 100 c) n = 150
Tal como se dij en la seccin 2.3 la validacin cruzada es una tcnica que
permite evaluar la capacidad predictiva del modelo seleccionado. Supngase
que se ha observado el valor del proceso Z(s) sobre un conjunto de
localizaciones {s1 , . . . , sn }. Sean Z(si ) y (si ) el valor predicho y el error
tpico de la prediccin para la localizacin si obtenida a partir de las
observaciones {s1 , . . . , si1 , si+1 , . . . , sn }.
n
P
donde Z = Z(sj )/n
j=1
Programacin en R
library(gstat)
data(meuse)
coordinates(meuse) <- ~x+y
m <- vgm(.59, "Sph", 874, .04)
Esto no prueba que el modelo sea adecuado; slo muestra dnde falla el
modelo. Del mismo modo, no se recomienda para confirmar la exactitud de
los diferentes tipos de modelos, por ejemplo, esfrico frente a los modelos de
potencia.
1. Asuma dos puntos mustrales con coordenadas (1, 1) y (2, 1). Suponga
que se quiere estimar un valor en un punto arbitrario (x, 1). Si se sabe
que el semivariograma es gaussiano y tiene una meseta de 1.0 y un
factor de escala de 1. Encuentre los ponderadores de kriging ordinario
para los dos puntos mustrales.
2. Asuma dos puntos mustrales con coordenadas (1, 0) y (2, 0). Suponga
que se quiere estimar un valor en un punto arbitrario (x, y). Si se sabe
que el semivariograma tiene una meseta de 2.0 y un rango de 0.75.
Muestre que los ponderadores de kriging ordinario estn dados por:
1 20 10 1 10 20
1 = + y 2 = +
2 212 2 212
3.8 Ejercicios Propuestos 183
2
3. Dada la siguiente tabla, calcular Z y KU para el punto p.
C(h)
Punto X Y Z
1 1 2 420 2
2 0 -1 425
3 3 1 415
p 0 0 ?
2 h
7. A partir de los siguientes datos Z(xi ) = {12.2, 15.6, 20.2, 18.6, 14.1,
10.5, 11.8, 16.4}, de una variable regionalizada, con coordenadas
en x = {0, 1, 2, 4, 5, 6, 7, 10} respectivamente. Construir la variable
indicadora I[Z(xi )], cuando se busca modelar la probabilidad de que
regionalizada sea inferior a 14.1.
la variable (
si Z(xi )
I[Z(xi )] = I[Z(xi )] = { , , , , , , , }
si Z(xi )
Y pronosticar la probabilidad en el punto con la coordenada x0 = 9,
as como su varianza. A partir de la siguiente funcin exponencial de
covarianza de I[Z(xi )]: C(h) = 0.6 exp(h/200)
12. Explique cmo se disea una red y suponga que se han tomado
muestras en 4 puntos P1 = 1, P2 = 0, P3 = 1 y P4 = 1
que estn regularmente espaciados a 1 metro sobre una lnea recta,
para un modelo de semivarianza (h) = h1.5 . Calcule el Average
Standard Error Prediction Errors (ASEPE) de una red con la siguiente
configuracin (2, 4, 6, 8) en h.
Apndice A
# La funcin rose genera un diagrama de rosa con las longitudes de los rayos dadas al final
# de cada uno de ellos. Esta funcin considera dos argumentos: un objecto variograma y el
# valor del semivariorama (gamma) en el cual el diagrama de rosa se desea.
# ==========================================================================================
187
188 Captulo 3. Prediccin Espacial Kriging
segments(0,0,(rose.len[j]*sin(rose.azi[j])),(rose.len[j]*cos(rose.azi[j])))
text((rose.len[j]*sin(rose.azi[j]) + (.1*sin(rose.azi[j]))),
(rose.len[j]*cos(rose.azi[j]) + (.1*cos(rose.azi[j]))),
(format(round(rose.len[j]*dscale,2))))
segments(0,0,-(rose.len[j]*sin(rose.azi[j])),
-(rose.len[j]*cos(rose.azi[j])))
}
maxx <- max(rose.len*sin(rose.azi))
text(-(maxx+.25),0,"Direccin N-S",srt=90,crt=90) # N-S Direction
title("",srt=0,crt=0) # Diagrama de Rosa
print("Rose Lengths")
rose.len*dscale
}
# Esta funcin toma una matrix nx2 de coordenadas (x,y) y rota las coordenadas al ngulo
# theta. La funcin produce el nuevo conjunto de coordendas rotada bajo el nombre asignado a
# la funcin. As, al escribir: "newxy <- rotateaxis(xy,30)", newxy ser la matrix nx2 de
# las coordendas rotadas (x,y) (rotadas a 30 grados)
# ==========================================================================================
# ==========================================================================================
# MOVEWIN
3.8 Ejercicios Propuestos 189
b) V (AX) = Ax A0
c) V (AX + Y B) = Ax A0 + B 0 x B + 2AB 0 xy
a) X 0 = (X)0
b) = 0
191
192 Captulo 3. Prediccin Espacial Kriging
Entonces:
x x
1 1
x2 x2
X = . = .
.. ..
xn xn
(A + B)0 = A0 + B 0
(AB)0 = B 0 A0
0 =
Referencias
193
194 REFERENCIAS
Bivand, R., Pebesma, E. & Rubio, V. (2008), Applied Spatial Data Analysis
with R, Springer, New York.
Cressie, N. (1993), Statistics for Spatial Data, Revised Edition. John Wiley
& Sons Inc., New York.
Hiebl, J., Auer, I., Bhm, R., Schner, W., Maugeri, M., Lentini, G., Spinoni,
J., Brunetti, M., Nanni, T. Perec Tadi, M., Bihari, Z., Dolinar, M. &
Mller-Westermeier, G. (2009), A high-resolution 1961-1990 monthly
temperature climatology for the greater alpine region, Meteorologische
Zeitschrift 18, 507530.
Holland, D., Saltzman, N., Cox, L. H. & Nychka, D. (1999), Spatial prediction
of sulfur dioxide in the eastern United States, Technical report, In
GeoENV II - Geostatistics for Environmental Applications, 65-76,
Kluwer Academic Publ., Dordrecht.
Johnston, K., Ver, J., Krivoruchko, K. & Lucas, N. (2001), Using ArcGIS
Geostatistical Analysis, ESRI.
198 REFERENCIAS
Joseph, V. R., Hung, Y. & Sudjianto, A. (2008), Blind kriging: A new method
for developing metamodels., Journal of Mechanical Design 3, 31102.
Myers, D. (1992), Kriging, cokriging, radial basic functions and the role of
positive definiteness, Computers Mathematical Application 24, 139148.
Sacks, J., Welch, W., Mitchell, T. J. & Wynn, H. P. (1989), Design and
analysis of computer experiments, Statistical Science 4, 409423.
Santner, T., Williams, B. & Notz, W. (2003), The Design and Analysis of
Computer Experiments, Springer-Verlag, New York.
van de Kassteele, J., Stein, A., Dekkers, A. & Velders, G. (2009), External
drift kriging of NOx; concentrations with dispersion model output in a
reduced air quality monitoring network, Environmental and Ecological
Statistics 16, 321339.