Este documento presenta un resumen de la modelización geoestadística utilizando herramientas de software libre como R y GRASS. Se describe la carga y análisis univariado y bivariado de datos, la estimación de modelos, el análisis espacial y la continuidad, y la interpolación mediante kriging. El objetivo es demostrar que R proporciona todas las funcionalidades necesarias para llevar a cabo un completo estudio geoestadístico.
investigación de los Avances tecnológicos del siglo XXI
Geoestadística con R
1. Geoestad´stica con R
ı
Jorge Gaspar Sanz Salinas
Septiembre de 2005
Resumen: – A lo largo de la asignatura de doctorado Prediccion y analisis de modelos
´ ´
superficiales mediante sistemas de informacion geografica se ha cubierto el desarrollo
´ ´
del estudio de la distribucion espacial de una o varias variables, as´ como su modeli-
´ ı
zacion mediante m´ todos geoestad´siticos (krigeado). En este trabajo se presenta un
´ e ı
resumen de dicho desarrollo utilizando los mismos datos de partida pero empleando
para el mismo herramientas de Software Libre, principalmente una herramienta es-
tad´stica R y un Sistema de Informacion Geografica, GRASS, ambos funcionando bajo
ı ´ ´
el Sistema Operativo Linux.
´ndice
I 3.5. Diagramas de dispersion ´
cruzados . . . . . . . . . . . 20
3.6. Scripts . . . . . . . . . . . . . 20
0. Introduccion´ 4
0.1. R . . . . . . . . . . . . . . . . 4 ´
4. Estimacion. M´ todos determi-
e
0.2. gstat . . . . . . . . . . . . . . 4 nistas 24
0.3. GRASS . . . . . . . . . . . . . 5 4.1. Scripts . . . . . . . . . . . . . 27
0.4. Datos de trabajo . . . . . . . 5
5. Continuidad espacial de V 30
´
1. Descripcion univariada 6 5.1. Variograma omnidireccional 30
1.1. Carga y visualizacion de los
´ 5.2. Variograma superficial . . . 30
datos . . . . . . . . . . . . . . 6 5.3. Variogramas direccionales . 30
5.4. Variogramas cruzados . . . . 33
1.2. M´ todos graficos para la
e ´
5.5. Scripts . . . . . . . . . . . . . 36
descripcion univariada . . . 6
´
1.3. M´ todos num´ ricos . . . . . 9
e e ´
6. Modelizacion del variograma ex-
1.4. Scripts . . . . . . . . . . . . . 10 perimental 39
6.1. Estimacion automatizada
´
´
2. Descripcion bivariada 12 del modelo . . . . . . . . . . 41
2.1. M´ todos graficos . . . . . . . 12
e ´ 6.2. Scripts . . . . . . . . . . . . . 44
2.2. M´ todos num´ ricos . . . . . 13
e e
2.3. Scripts . . . . . . . . . . . . . 14 8. Kriging 45
8.1. wlc . . . . . . . . . . . . . . . 45
´
3. Descripcion espacial 15 8.2. Krigeado Ordinario (KO) . . . 45
3.1. Visualizacion espacial de
´ 8.3. Krigeado Universal (KU) . . . 46
datos . . . . . . . . . . . . . . 15 8.4. Krigeado por bloques (KUB) 46
3.2. Ventanas moviles y el efecto
´ 8.5. Krigeado Local (KUL) . . . . 46
proporcional . . . . . . . . . 18 8.6. Cokrigeado (CKO) . . . . . . 48
3.3. Continuidad espacial . . . . 18 8.7. Resultados . . . . . . . . . . 51
3.4. Variograma . . . . . . . . . . 20 8.8. Scripts . . . . . . . . . . . . . 56
2. Modelizacion geoestad´stica con R
´ ı 2
´ndice de figuras
I 27. Variogramas direccionales . 32
28. Deteccion de ejes de aniso-
´
1. Distribucion de U y V . . . .
´ 6 trop´a . . . . . . . . . . . . .
ı 33
2. Histograma de V . . . . . . . 7 29. Variogramas por toleran-
3. Histograma acumulado de V 7 cias (i) . . . . . . . . . . . . . 34
4. Grafico de probabilidad
´ 30. Variogramas por toleran-
uniforme de V . . . . . . . . 7 cias (ii) . . . . . . . . . . . . . 35
5. Grafico de probabilidad
´ 31. Variogramas cruzados . . . . 35
normal . . . . . . . . . . . . . 8
32. Modelos de variogramas
6. Grafico de probabilidad log-
´
disponibles . . . . . . . . . . 39
normal . . . . . . . . . . . . . 8
33. Modelos esf´ rico de ran-
e
7. Grafico de caja y bigotes de V
´ 9
go 30 y meseta parcial de
8. Grafico de caja y bigotes de
´
92000ppm . . . . . . . . . . 40
VyU. . . . . . . . . . . . . . 12
9. Grafico de cuantiles de V y U
´ 12 34. Modelos de variograma
10. Grafico de dispersion . . . .
´ ´ 13 combinados . . . . . . . . . . 40
11. Distribucion de V . . . . . .
´ 15 35. Modelo de variograma de V
12. Mapa graduado de color de V 16 ajustado . . . . . . . . . . . . 41
13. Mapa graduado de tamano ˜ 36. Modelado interactivo del va-
de V . . . . . . . . . . . . . . 16 riograma . . . . . . . . . . . . 42
14. Mapas de indicadores . . . . 17 37. Descripcion de geoR del
´
15. Mapa de superficie interpo- conjunto de datos . . . . . . 43
lada . . . . . . . . . . . . . . 18 38. Modelo ajustado por geoR . 43
16. Media y varianza en venta- 39. Conjunto de datos wlc . . . . 45
na de 3x3 . . . . . . . . . . . 19 40. Error del Krigeado ordinario 46
17. Grafico de dispersion de
´ ´ 41. Error del Krigeado universal 47
media y varianza . . . . . . . 19 42. Error del Krigeado univer-
18. h-Scatterplots de direccion ´ sal por bloques . . . . . . . . 47
N-S . . . . . . . . . . . . . . . 20
43. Error del Krigeado local
19. h-Scatterplots de direccion ´
universal . . . . . . . . . . . 48
E-W . . . . . . . . . . . . . . 21
44. Diferencias con wlc de la
20. h-Scatterplots cruzado de U
modelizacion de U . . . . . .
´ 50
y V en direccion N-S . . . . .
´ 21
21. Distribucion de wlm . . . . .
´ 24 45. Prediccion en la modeliza-
´
22. Mapas generados por GRASS 25 cion de V (wlm) . . . . . . . .
´ 51
23. Histogramas de los conjun- 46. Desviacion t´pica en la mo-
´ ı
tos de datos . . . . . . . . . . 26 delizacion de V (wlm) . . . . .
´ 52
24. Variogramas omnidireccio- 47. Diagramas de caja y bigote
nales (i)) . . . . . . . . . . . . 31 de las diferencias . . . . . . . 53
25. Mapa del variograma su- 48. Prediccion en la modeliza-
´
perficial . . . . . . . . . . . . 31 cion de U (wlm) . . . . . . . .
´ 54
26. Isol´neas del variograma
ı 49. Desviacion t´pica en la mo-
´ ı
superficial . . . . . . . . . . . 32 delizacion de U (wlm) . . . . .
´ 54
´ndice de cuadros
I 2. Estad´sticos de los errores
ı
en los m´ todos de krigeado
e
de V . . . . . . . . . . . . . . 52
1. Resumen de estad´sticos de
ı 3. Estad´sticos de los errores
ı
datos de validacion y esti-
´ en los m´ todos de krigeado
e
mados . . . . . . . . . . . . . 26 de U . . . . . . . . . . . . . . 55
3. Modelizacion geoestad´stica con R
´ ı 3
´ndice de listados
I 8. Script para ps.map del
m´ todo RST . . . . . . . . . .
e 28
1. R-Script del tema 1 . . . . . . 10 9. Script para ps.map del
2. R-Script del tema 2 . . . . . . 14 m´ todo Pol´gonos de in-
e ı
3. R-Script en Linux del tema 3 . 22 fluencia . . . . . . . . . . . . 29
4. R-Script en Windows del te-
10. Funciones para imprimir
ma 3 . . . . . . . . . . . . . . 23
variogramas . . . . . . . . . . 36
5. R-Script del tema 4 . . . . . . 27
6. Script para GRASS . . . . . . 27 11. R-Script del tema 5 . . . . . . 36
7. Script para ps.map del 12. R-Script del tema 6 . . . . . . 44
m´ todo IDW . . . . . . . . .
e 28 13. R-Script del tema 8 . . . . . . 56
4. Modelizacion geoestad´stica con R
´ ı 4
´
Tema 0 Introduccion
0.1. R
R [5] es un conjunto integrado de herramientas para manipular datos, realizar todo
tipo de calculos con los mismos y tambi´ n es capaz de realizar toda clase de graficos
´ e ´
estad´sticos.
ı
En [4] se citan las siguientes caracter´sticas:
ı
es multiplataforma,
almacenamiento y manipulacion efectiva de datos,
´
operadores para calculo sobre variables indexadas (Arrays), en particular matri-
´
ces,
una amplia, coherente e integrada coleccion de herramientas para analisis de
´ ´
datos,
posibilidades graficas para analisis de datos, que funcionan directamente sobre
´ ´
pantalla o impresora,
y un lenguaje de programacion bien desarrollado, simple y efectivo, que incluye
´
condicionales, ciclos, funciones recursivas y posibilidad de entradas y salidas.
(Debe destacarse que muchas de las funciones suministradas con el sistema
estan escritas en el lenguaje R).
´
R puede extenderse mediante paquetes. En Linux, basta con ejecutar el comando
install.packages(paquete) para conectar a la red de servidores CRAN (Comprehen-
sive R Archive Network) descarga el codigo fuente y si se dispone de los compiladores
´
pertinentes (C++, Fortran, ...) genera los binarios adaptados perfectamente a la maqui-
´
na. En Windows, al ejecutar dicho comando se descargan directamente los binarios.
En esta ultima plataforma se dispone de una interfaz grafica un poco mas elaborada
´ ´ ´
y permite ademas exportar al formato Windows MetaFile.
´
Los paquetes empleados en el trabajo, ademas de los que se incluyen por defecto en
´
R son los paquetes de geoestad´stica gstat [3], y geoR [6], y el paquete para presentacion
ı ´
de graficos lattice [7].
´
En definitiva, se dispone de un sistema ampliable que se maneja como una consola
de entrada de comandos que permite adquirir datos desde ficheros, manipularlos,
crear nuevos datos y por ultimo o bien ver las graficas por pantalla o mandarlas a
´ ´
ficheros PostScript o raster. Otra caracter´stica importante es la posibilidad de ejecutar
ı
secuencias de comandos en forma de scripts.
0.2. gstat
gstat [2] es un software para llevar a cabo modelizacion, prediccion y simulacion de
´ ´ ´
datos geoestad´sticos. Al igual que el anterior, es Software Libre bajo licencia (GNU1 ).
ı
Puede usarse de muy diversas formas, directamente tanto de forma no interactiva
(mediante ficheros de parametros) como interactiva mostrando los resultados utili-
´
zando el programa para presentacion de graficos gnuplot. Pero su uso mas interesante
´ ´ ´
es integrado con otras herramientas. En este sentido se ha conseguido que gstat fun-
cione con GRASS, Idrisi, PCRaster y con R.
1
http://www.gnu.org
5. Modelizacion geoestad´stica con R
´ ı 5
En este trabajo se ha usado con R porque este ultimo ofrece caracter´sticas muy
´ ı
interesantes para la manipulacion de datos, presentacion de todo tipo de graficas y
´ ´ ´
repeticion de tareas mediante sentencias de control (bucles, condicionales, etc). Por
´
otro lado, no ha sido posible compilar gstat para que trabaje conjuntamente con GRASS
en su version 6.
´
0.3. GRASS
Este ya veterano software para la gestion de informacion geografica dispone de
´ ´ ´
herramientas para la modelizacion de variables espaciales mediante m´ todos deter-
´ e
min´sticos. Se ha usado en este trabajo para la obtencion de la modelizacion por
ı ´ ´
pol´gonos de influencia (Voronoi), Splines de tension y por el m´ todo de pesos inver-
ı ´ e
sos a la distancia.
Ademas se ha utilizado para la presentacion de la cartograf´a, maquetando senci-
´ ´ ı
llos mapas con salida PostScript.
0.4. Datos de trabajo
Los datos con los que se va a trabajar durante todo el proyecto son los utilizados
en el libro Applied Geostatistics de Issaks y Srivastava. El conjunto de datos walker
esta a su vez dividido en tres grupos, wlc que es una malla de 78000 puntos que
´
sirven para validacion, wlm es la malla irregular de 470 puntos y wle una malla de 100
´
puntos para algunos calculos estad´sticos.
´ ı
gstat dispone del conjunto wlm, los otros dos seran cargados desde ficheros de texto
´
separados por comas (CSV) para poder operar con ellos.
6. Modelizacion geoestad´stica con R
´ ı 6
´
Tema 1 Descripcion univariada
´
1.1. Carga y visualizacion de los datos
En este cap´tulo se van a usar los datos wle redondeados a valores enteros. El
ı
primer paso sera por tanto cargar el fichero walker10.asc, que es un fichero de
´
texto separado por tabuladores que se puede importar directamente con la orden
read.delim2 para a continuacion redondearlo.
´
En la figura 1 se muestra la distribucion de los datos, as´ como los valores que
´ ı
toman las variables U y V.
250
15 12 24 27 30 0 2 18 18 18
81 77 103 112 123 19 40 111 114 120
16 7 34 36 29 7 4 18 18 20
82 61 110 121 119 77 52 111 117 124
248
16 9 22 24 25 10 7 19 19 22
82 74 97 105 112 91 73 115 118 129
21 8 27 27 32 4 10 15 17 19
88 70 103 111 122 64 84 105 113 123
246
21 18 20 27 29 19 7 16 19 22
89 88 94 110 116 108 73 107 118 127
Y
15 16 16 23 24 25 7 15 21 20
77 82 86 101 109 113 79 102 120 121
244
14 15 15 16 17 18 14 6 28 25
74 80 85 90 97 101 96 72 128 130
14 15 15 15 16 17 13 2 40 38
75 80 83 87 94 99 95 48 139 145
242
16 17 11 29 37 55 11 3 34 35
77 84 74 108 121 143 91 52 136 144
22 28 4 32 38 20 0 14 31 34
87 100 47 111 124 109 0 98 134 144
12 14 16 18 20
X
Figura 1: Distribucion de U y V
´
e a ´
1.2. M´ todos gr´ ficos para la descripcion univariada
El m´ todo grafico mas utilizado es el histograma, en el que debemos integrar la
e ´ ´
variable en clases. La variable V se var´a entre 0ppm y 145ppm por lo que dividirla en
ı
clases de 10 unidades es conveniente (fig. 2 en la pagina siguiente).
´
Otro grafico interesante es el histograma acumulado en el que a partir de las
´
mismas clases del histograma anterior se muestra la suma acumulada (fig 3 en la
pagina siguiente).
´
El grafico de probabilidad acumulada muestra la proporcion de datos para cada
´ ´
punto que son menores que el (fig 4 en la pagina siguiente)
´ ´
Las figuras 5 en la pagina 8 y 6 en la pagina 8 muestran la similitud de nuestra
´ ´
muestra con la distribucion normal y lognormal. Las l´neas trazadas pasan por el
´ ı
primer y tercer cuartil.
7. Modelizacion geoestad´stica con R
´ ı 7
17
16
15
14 14
14
12
12
11
10
Frequency
8
6
4
4
3 3
2 2
2
1 1 1
0
0
0 50 100 150
V
Figura 2: Histograma de V
100
80
Frecuencia acumulada
60
40
20
0
0 10 20 30 40 50 60 70 80 90 100 120 140
Variable
Figura 3: Histograma acumulado de V
1.0
0.8
Probabilidad acumulada
0.6
0.4
0.2
0.0
0 50 100 150
V
Figura 4: Grafico de probabilidad uniforme de V
´
8. Modelizacion geoestad´stica con R
´ ı 8
2
Theoretical Quantiles
1
0
−1
−2
0 50 100 150
Sample Quantiles
Figura 5: Grafico de probabilidad normal
´
2
Theoretical Quantiles
1
0
−1
−2
3.0 3.5 4.0 4.5 5.0
Sample Quantiles
Figura 6: Grafico de probabilidad lognormal
´
9. Modelizacion geoestad´stica con R
´ ı 9
1.3. M´ todos num´ ricos
e e
´
1.3.1. Medidas de localizacion
Se puede solicitar una descripcion sencilla de nuestros datos con el comando
´
summary(V) que devuelve tanto los valores maximos y m´nimos, la media, la me-
´ ı
diana y el segundo y tercer cuartil. En cualquier caso estan disponibles comandos
´
como min, max, mean y median.
Para calcular la moda no hay un comando definido, pero a partir de la tabla defi-
nida del corte de V (tcutV) donde se almacenan las frecuencias relativas en las clases
definidas previamente (secV), podemos solicitar aquella clase que almacene el valor
maximo con el comando tcutV[tcutV==max(tcutV)].
´
En resumen:
M´nimo
ı 0
Maximo
´ 145
Media 100.5
Mediana 97.55
Moda 110-120
Rango 145
R puede calcular cualquier cuantil de una muestra, por ejemplo los cuartiles con
el comando quantile y pasando un vector con los valores de los cuantiles a obtener,
en este caso una secuencia de 0 a 1 cada 0.25 unidades:
> print(cuantiles<-quantile(V,seq(0,1,.25)))
0% 25 % 50 % 75 % 100 %
0.00 81.75 100.50 116.25 145.00
Una forma grafica de ver tanto los cuantiles como la distribucion de la muestra y
´ ´
si existen valores alejados de la media (outliers) es el diagrama de caja y bigotes (box
and whisker). La figura 7 muestra el de la variable V.
V
0 50 100 150
Figura 7: Grafico de caja y bigotes de V
´
´
1.3.2. Medidas de dispersion
Las medidas de dispersion como la varianza, la desviacion t´pica y el rango inter-
´ ´ ı
cuantil son sencillos de calcular:
> dt<-sqrt(var(V))
> dtˆ2;dt;as.numeric(cuantiles["75 %"]-cuantiles["25 %"])
10. Modelizacion geoestad´stica con R
´ ı 10
[1] 695.3409
[1] 26.36932
[1] 34.5
1.3.3. Medidas de forma
El coeficiente de sesgo o asimetr´a (skewness) se calcula a partir de la formula
ı ´
1
n
n
i=1 (xi − m)3
CS = (1)
σ3
El coeficiente de curtosis o apuntalamiento se calcula como
n (xi −m)4
i=1 n
K= −3 (2)
σ4
El coeficiente de variacion no es mas que el cociente entre la desviacion t´pica y la
´ ´ ´ ı
media, siendo trivial su calculo.
´
En R estos tres coeficientes se calculan como:
> media<-mean(V);
> print(CS<-sum((V-media)ˆ3)/(length(V)*dtˆ3))
[1] -0.7665234
> print(K<-sum((V-media)ˆ4/length(V))/dtˆ4-3)
[1] 1.187891
> print(CV<-dt/media)
[1] 0.2703159
1.4. Scripts
Listado 1: R-Script del tema 1 25 dev.off()
´ 26
1 #TEMA 1 - DESCRIPCION UNIVARIADA
27 #Discretizar V para hallar frecuencias
2 ps.options(family="Bookman",pointsize
28 lsecV<-length(secV)
=15)
29 cutV<-cut(V,secV)
3 rm(list=ls())
30 tcutV<-table(cutV)
4
31 #Obtener las frecuencias acumuladas
5 #Cargar wle y redondearlo
32 sumfreq<-rep(0,length(secV))
6 wle<-read.delim2("walker10.asc")
33 for (i in 1:lsecV){ sumfreq[i]<-length(V
7 wle<-round(wle,0)
[V<secV[i]])}
8
34 #Imprimir el histograma
9 #Adjuntar los datos de wle para acceder
35 postscript("imgs/01/histAcumV.ps")
directamente
36 barplot(sumfreq,xlab="Variable",ylab="
10 attach(wle)
Frecuencia acumulada",names.arg=secV
11
)
12 #Ver los datos U y V
37 dev.off()
13 postscript("imgs/01/UyV.ps")
38
14 plot(X,Y,xlim=c(min(X),max(X)*1.01),ylim
39 #Gr´fico de probabilidad acumulada
a
=c(min(Y)*.999,max(Y)*1.001),pch=3)
40 postscript("imgs/01/probUnif.ps")
15 text(X+.3,Y+.2,U)
41 plot.ecdf(V,pch=1,xlab="V",ylab="
16 text(X+.3,Y-.2,V)
Probabilidad acumulada",main="")
17 dev.off()
42 dev.off()
18
43
19 #Mostrar el histograma de V
44 #Gr´fico de probabilidad normal y
a
20 secV<-seq(0,150,10)
lognormal
21 postscript("imgs/01/histV.ps")
45 postscript("imgs/01/probNormal.ps")
22 hist(V,breaks=secV, labels=TRUE, col="
46 qqnorm(V,datax=TRUE,pch=3,main="");
lightgray", axes=FALSE,main="")
qqline(V,datax=TRUE)
23 axis(2,at=seq(0,18,2))
47 dev.off()
24 axis(1,at=seq(0,150,50))
11. Modelizacion geoestad´stica con R
´ ı 11
48 62 print(as.numeric(cuantiles["75 %"]-
49 logV<-log(V)[is.finite(log(V))] cuantiles["25 %"]))
50 postscript("imgs/01/probLogNormal.ps") 63
51 qqnorm(logV,datax=TRUE,pch=3,main=""); 64 #Diagrama de caja y bigotes de V
qqline(logV,datax=TRUE) 65 postscript("imgs/01/cajaybig.ps")
52 dev.off() 66 boxplot(V,horizontal=TRUE,col="lightgray
53 ",ylab="V")
54 #Medidas de localizaci´n, dispersi´n,
o o 67 dev.off()
etc 68
55 media<-mean(V) 69 #Medidas de forma: sesgo, apuntalamiento
56 dt<-var(V) y variaci´n
o
57 print("Cuartiles") 70 print("Sesgo, apuntalamiento y variaci´n
o
58 print(cuantiles<-quantile(V,seq(0,1,.25) ")
)) 71 print(CS<-sum((V-media)ˆ3)/(length(V)*dt
59 print("Varianza, desviaci´n t´pica y
o ı ˆ3))
rango intercuart´lico")
ı 72 print(K<-sum((V-media)ˆ4/length(V))/dt
60 print(dtˆ2) ˆ4-3)
61 print(dt) 73 print(CV<-dt/media)
12. Modelizacion geoestad´stica con R
´ ı 12
´
Tema 2 Descripcion bivariada
2.1. M´ todos gr´ ficos
e a
La visualizacion de pares de histogramas y sobre todo de graficos de caja y bigotes
´ ´
( 8)pueden aportar informacion de como son dos variables.
´ ´
U
Variables
V
0 50 100 150
Figura 8: Grafico de caja y bigotes de V y U
´
El diagrama de cuantiles muestra cada cuantil de una variable contra el mismo
cuantil de la otra formando un grafico de puntos. Si estos puntos adoptan la forma de
´
una l´nea significa que ambas variables son similares pero su localizacion y dispersion
ı ´ ´
son diferentes.
100%
50 U=V
40
30
U
75%
20 50%
25%
10
Cuartiles
0%
0
0 50 100 150
V
Figura 9: Grafico de cuantiles de V y U
´
Por ultimo, el diagrama de dispersion ( 10 en la pagina siguiente)puede mostrar
´ ´ ´
informacion sobre las tendencias de ambas variables y la existencia de outliers que
´
13. Modelizacion geoestad´stica con R
´ ı 13
pueden ser susceptibles de ser eliminados.
50
40
30
U
20
10
0
0 50 100 150
V
Figura 10: Grafico de dispersion
´ ´
2.2. M´ todos num´ ricos
e e
El coeficiente de correlacion o de Pearson es el indicador mas utilizado para com-
´ ´
probar la relacion entre variables, en R se corresponde con el comando cor(U,V).
´
1 n
n i=1 (xi− mx ) (yi − my )
ρ= (3)
σx · σy
El numerador de esta ultima ecuacion es otro indicador, la covarianza, que se
´ ´
obtiene con el comando cov(U,V).
El coeficiente de correlacion de orden utiliza el orden en que aparece un valor
´
determinado en lugar de su propio valor. Por esta razon este coeficiente es menos
´
sensible a valores extremos y por tanto, si difiere mucho del coeficiente de Pearson
indica la existencia de estos valores extremos. En R se obtiene con el mismo comando
que el de correlacion, pero cambiando el m´ todo.
´ e
1 n
n i=1 (Rxi − mRx ) (Ryi − mRy )
ρOrden = (4)
σRx · σRy
> cov(U,V);cor(U,V,method="pearson");cor(U,V,method="spearman")
[1] 218.2778
[1] 0.8393395
[1] 0.8576604
14. Modelizacion geoestad´stica con R
´ ı 14
2.3. Scripts
Listado 2: R-Script del tema 2 (U,seq(0,1,.05)),pch=21,bg="
lightgray")
´
1 #TEMA 2 - DESCRIPCION BIVARIADA 23 points(quantile(V,seq(0,1,.25)),quantile
2 ps.options(family="Bookman",pointsize (U,seq(0,1,.25)),pch=21,bg="white")
=15) 24 # Texto en los cuartiles
3 rm(list=ls()) 25 text(quantile(V,seq(0,1,.25))-2,quantile
4 (U,seq(0,1,.25))+2,c("0 %","25 %","50 %
5 #Cargar wle y redondearlo ","75 %","100 %"))
6 wle<-read.delim2("walker10.asc") 26 # Linea con U=V y su texto
7 wle<-round(wle,0) 27 lines(c(0,150),c(0,150),type="l")
8 28 text(60,50,"U=V")
9 #Adjuntar los datos de wle para acceder 29 # Leyenda
directamente 30 legend(100,8,c("Cuartiles"),bg="white",
10 attach(wle) pch=21)
11 31 dev.off()
12 #Diagrama de caja y bigotes de V y U 32
13 postscript("imgs/02/cajaybig.ps") 33 #Diagramas de dispersi´n
o
14 boxplot(data.frame(V,U),horizontal=TRUE, 34 postscript("imgs/02/dispers.ps")
col="lightgray",ylab="Variables", 35 plot(V,U,pch=21,bg="lightgray")
boxwex=0.5) 36 dev.off()
15 dev.off() 37
16 38 #Covarianza y coeficientes de
17 # Diagrama qqplot correlaci´n
o
18 postscript("imgs/02/qqnorm.ps") 39 print("Covarianza y coeficiente de
19 # Dibuja s´lo los ejes
o correlaci´n de Pearson y de Spearman
o
20 qqplot(V,U,xlab="V",ylab="U",las=1,xlim= ")
c(-1,148),ylim=c(0,57),type="n") 40 print(covar<-cov(U,V))
21 # Dibuja los puntos por cuantiles del 5 % 41 print(rho<-cor(U,V,method="pearson"))
y los cuartiles 42 print(spear<-cor(U,V,method="spearman"))
22 points(quantile(V,seq(0,1,.05)),quantile
15. Modelizacion geoestad´stica con R
´ ı 15
´
Tema 3 Descripcion espacial
´
3.1. Visualizacion espacial de datos
´
3.1.1. Mapas de localizacion
Se trata de trazar un mapa de puntos e indicar por ejemplo los 10 valores maximos
´
y los 10 valores m´nimos. En R se trata de obtener los conjuntos de datos de wle con
ı
los valores maximos y m´nimos y pintarlos sobre un mapa de localizacion de V.
´ ı ´
250
81 77 103 112 123 19 40 111 114 120
82 61 110 121 119 77 52 111 117 124
248
82 74 97 105 112 91 73 115 118 129
88 70 103 111 122 64 84 105 113 123
246
89 88 94 110 116 108 73 107 118 127
77 82 86 101 109 113 79 102 120 121
Y
244
74 80 85 90 97 101 96 72 128 130
75 80 83 87 94 99 95 48 139 145
242
77 84 74 108 121 143 91 52 136 144
87 100 47 111 124 109 0 98 134 144
Máximos
240
Mínimos
12 14 16 18 20
X
Figura 11: Distribucion de V
´
3.1.2. Mapas de s´mbolos graduados
ı
Utilizando la biblioteca lattice, se pueden generar mapas de s´mbolos graduados
ı
por color con el comando levelplot. R dispone de diferentes paletas de color, pero
en este caso se usara una escala de grises.
´
Otro tipo de mapa es el de gradacion de s´mbolos por tamano. En este caso el
´ ı ˜
paquete gstat proporciona el comando bubble. El resultado es mejorable, pero sirve
a modo de ejemplo.
3.1.3. Mapas de indicadores
Se trata de mapas graduados de color con solo dos niveles. El umbral entre ambos
´
niveles se va variando y se observa el conjunto de mapas generados. Estos mapas
pueden mostrar alineaciones en la distribucion espacial de la variable y la ubicacion
´ ´
de maximos y m´nimos. Las figuras 14(c) y 14(d) muestran la alineacion norte-sur de
´ ı ´
los datos.
16. Modelizacion geoestad´stica con R
´ ı 16
140
120
248
100
246 80
Y
60
244
40
20
242
0
12 14 16 18
X
Figura 12: Mapa graduado de color de V
V
250
248
246 0
81.75
100.5
y
116.25
145
244
242
12 14 16 18 20
x
Figura 13: Mapa graduado de tamano de V
˜
18. Modelizacion geoestad´stica con R
´ ı 18
3.1.4. Mapas de superficies interpoladas
Es posible interpolar polinomios de un orden determinado, que pasen por todos
los puntos de la muestra. Estos polinomios suelen ofrecer superficies suavizadas pero
que muestran las tendencias y la distribucion de la variable.
´
Para poder obtener estos polinomios en R, se ha de cargar el paquete spatial que
dispone de la funcion surf.ls que obtiene el mejor polinomio de hasta grado 6 que se
´
ajusta a los datos mediante m´nimos cuadrados (fig. 15). Este mapa ha sido generado
ı
en Windows ya que el paquete spatial no ha sido posible instalarlo en Linux, por lo
que el script que genera este grafico esta separado del resto del tema.
´ ´
250
248
246
244
242
12 14 16 18 20
Figura 15: Mapa de superficie interpolada
´
3.2. Ventanas moviles y el efecto proporcional
Se pueden trazar mapas en las que el valor de cada punto es la media o la varianza
de sus vecinos. Por lo tanto se crea una ventana movil de tamano impar que va
´ ˜
recorriendo los valores. En R esta operacion requiere algo de programacion que se
´ ´
incluye en el script del tema y que se presenta en la figura 16 en la pagina siguiente.
´
Un grafico de dispersion entre las medias y las varianzas demuestra la existencia
´ ´
de una relacion entre ambas. En este caso, en la figura 17 en la pagina siguiente, se
´ ´
puede ver que ambas medidas no estan correladas, siendo el coeficiente de correlacion
´ ´
(ρ) bastante bajo.
3.3. Continuidad espacial
´
3.3.1. Diagramas de dispersion de tipo h
Este tipo de diagramas muestran contrapuestas la variable contra esta a una dis-
´
tancia determinada. Cuando los datos estan en forma de malla, se pueden obtener
´
de forma sencilla los mapas de dispersion en las direcciones norte-sur y este-oeste a
´
diferentes distancias.
Obtener estos diagramas en R es relativamente sencillo debido a la flexibilidad en
la manipulacion de variables indexadas (arrays). Se han obtenido los diagramas con
´
20. Modelizacion geoestad´stica con R
´ ı 20
distancia (h) variando de 1 a 4 puntos y en las direcciones norte-sur (fig. 18) y este-
oeste (fig:03:vew). Se aprecia la alta correlacion en las direcciones N-S (0,5 < ρ < 0,7) y
´
la baja correlacion en direccion E-W (−0,4 < ρ < 0,3).
´ ´
h=1 h=2
140
140
120
120
ρ = 0.74 ρ = 0.59
100
100
V(t)
V(t)
80
80
60
60
40
40
x=y x=y
20
20
0 50 100 150 0 50 100 150
V(t+h) V(t+h)
h=3 h=4
120
ρ = 0.48
120
ρ = 0.56
100
100
80
80
V(t)
V(t)
60
60
40
40
x=y x=y
20
20
0 50 100 150 0 50 100 150
V(t+h) V(t+h)
Figura 18: h-Scatterplots de direccion N-S
´
3.4. Variograma
La funcion del variograma muestra la variacion de la variable agrupando los datos
´ ´
segun sus distancias relativas. Ha de establecerse por tanto el numero de ((cajas))
´ ´
o lags en los que queremos dividir los datos. Por otro lado, como en el apartado
anterior, podemos obtener el variograma en una direccion determinada o en todas
´
direcciones (variograma omnidireccional). Formalmente la funcion del variograma se
´
expresa como:
N (h)
1
γ(h) = (vi − vi+h )2 (5)
2N (h)
i=1
En R existen diversos paquetes que calculan el variograma pero probablemente el
mas completo es el paquete gstat. El uso de esta funcion se hara en el tema 5.
´ ´ ´
´
3.5. Diagramas de dispersion cruzados
El ultimo grafico que se va a mostrar en este tema es el de dispersion cruzada
´ ´ ´
entre dos variables. Es un h-Scatterplot en el que en lugar de ccontrastarla misma
variable se utiliza el valor de otra. Se ha calculado solo la variacion en la direccion
´ ´ ´
N-S de las variables U y V.
3.6. Scripts
24. Modelizacion geoestad´stica con R
´ ı 24
´
Tema 4 Estimacion. M´ todos deterministas
e
En esta seccion se va a estimar el valor de la variable V en toda la extension de
´ ´
trabajo a partir de los valores en el conjunto de datos wlm (fig. 21).
Este conjunto de datos se obtiene facilmente al estar presente en el paquete gstat
´
y cargandose con ejecutar el comando data(walker).
´
250
200
150
Y
100
50
50 100 150 200 250
X
Figura 21: Distribucion de wlm
´
La estimacion de estos datos se ha realizado desde GRASS, para ello primero se ha
´
exportado este conjunto de datos a un fichero csv para a continuacion importarlo en
´
GRASS como una cobertura vectorial (GRASS ya no utiliza sites).
En GRASS se han utilizado las funciones v.voronoi, v.surf.idw y v.surf.rst
que implementan el m´ todo de pol´gonos de influencia, el de pesos inversos a la dis-
e ı
tancia y el de splines de tension respectivamente. Ademas de las coberturas raster con
´ ´
los valores estimados se han obtenido las curvas de nivel cada 250ppm. Finalmente
se han maquetado tres sencillos mapas con los resultados de estos tres m´ todos.
e
Al final del tema se presenta el script en GRASS que genera los mapas y exporta a
ficheros csv los valores de los tres mapas para poder estudiarlos en R. Igualmente se
presentan los tres ficheros que indican la maquetacion de los mapas.
´
A continuacion se importa el conjunto de datos wlc que consiste en 78000 puntos
´
de validacion y que se entiende como valores correctos..
´
En el cuadro 1 se muestran los estad´sticos de estos cuatro conjunto de datos y
ı
en la figura 23 en la pagina 26 se pueden ver los histogramas. Se pueden observar
´
las siguientes caracter´sticas:
ı
Se observa como el m´ todo de Pol´gonos de influencia es el que mejor mantiene
e ı
las caracter´sticas estad´sticas.
ı ı
25. Leyenda on geoestad´stica con R
Modelizaci ´ ı 25
1400
1400
1200
1200
1000
1000
Splines de a de distancia (T=100)
Polígonos la influenciade V
Inverso Tensión de V de V
800
800
Escala
600
0 50
400
400
200
200 Equidistancia de curvas = 250ppm
0
0
100
200
200
100
Figura 22: Mapas generados por GRASS
26. Modelizacion geoestad´stica con R
´ ı 26
Cuadro 1: Resumen de estad´sticos de datos de validacion y estimados
ı ´
wlc Voronoi IDW RST
M´n.
ı 0.00 0.00 0.46 -47.51
Q1 67.79 70.70 163.00 121.20
Median. 221.30 224.40 297.20 277.90
Media 278.00 275.10 316.80 277.90
Q3 428.30 425.90 428.50 379.50
Max.
´ 1631.00 1528.00 1498.00 1530.00
σ2 62423.16 60039.41 39458.06 44820.41
σ 249.84 245.03 198.64 211.71
Simetr. 0.90 0.89 0.63 0.76
Apunt. 0.77 1.25 1.39 2.44
CV 0.90 0.89 0.63 0.76
El m´ todo de Splines de tension ofrece resultados negativos pese a calcularse
e ´
con un valor de tension alto (100).
´
Cabe destacar la diferencia entre los m´ todos estad´sticos y wlc en el apuntala-
e ı
miento, claramente observable en los histogramas.
WLC Vor
25000
20000
20000
15000
15000
Frecuencia
Frecuencia
10000
10000
5000
5000
0
0
0 500 1000 1500 0 500 1000 1500
V V
IDW RST
15000
15000
10000
Frecuencia
Frecuencia
10000
5000
5000
0
0
0 500 1000 1500 0 500 1000 1500
V V
Figura 23: Histogramas de los conjuntos de datos