Geoestad´ ıstica con R Jorge Gaspar Sanz Salinas Septiembre de 2005 Resumen: – A lo largo de la asignatura de doctorado Predicci´ on y an ´ alisis de modelos superficiales mediante sistemas de informaci´ on geogr ´ afica se ha cubierto el desarrollo del estudio de la distribuci´ on espacial de una o varias variables, as´ ı como su modeli- zaci´ on mediante m´ etodos geoestad´ ısiticos (krigeado). En este trabajo se presenta un 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 Informaci´ on Geogr ´ afica, GRASS, ambos funcionando bajo el Sistema Operativo Linux. ´ Indice 0. Introducci ´ on 4 0.1. R ................ 4 0.2. gstat .............. 4 0.3. GRASS ............. 5 0.4. Datos de trabajo ....... 5 1. Descripci ´ on univariada 6 1.1. Carga y visualizaci´ on de los datos .............. 6 1.2. M´ etodos gr´ aficos para la descripci´ on univariada ... 6 1.3. M´ etodos num´ ericos ..... 9 1.4. Scripts ............. 10 2. Descripci ´ on bivariada 12 2.1. M´ etodos gr ´ aficos ....... 12 2.2. M´ etodos num´ ericos ..... 13 2.3. Scripts ............. 14 3. Descripci ´ on espacial 15 3.1. Visualizaci´ on espacial de datos .............. 15 3.2. Ventanas m´ oviles y el efecto proporcional ......... 18 3.3. Continuidad espacial .... 18 3.4. Variograma .......... 20 3.5. Diagramas de dispersi´ on cruzados ........... 20 3.6. Scripts ............. 20 4. Estimaci ´ on. M´ etodos determi- nistas 24 4.1. Scripts ............. 27 5. Continuidad espacial de V 30 5.1. Variograma omnidireccional 30 5.2. Variograma superficial ... 30 5.3. Variogramas direccionales . 30 5.4. Variogramas cruzados .... 33 5.5. Scripts ............. 36 6. Modelizaci ´ on del variograma ex- perimental 39 6.1. Estimaci´ on automatizada del modelo .......... 41 6.2. Scripts ............. 44 8. Kriging 45 8.1. wlc ............... 45 8.2. Krigeado Ordinario (KO) . . . 45 8.3. Krigeado Universal (KU) . . . 46 8.4. Krigeado por bloques (KUB) 46 8.5. Krigeado Local (KUL) .... 46 8.6. Cokrigeado (CKO) ...... 48 8.7. Resultados .......... 51 8.8. Scripts ............. 56
Documento que describe una serie de ejercicios de estadística y geoestadística realizados mediante R
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Geoestadıstica con RJorge 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 metodos geoestadısiticos (krigeado). En este trabajo se presenta un
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.
Indice
0. Introduccion 4
0.1. R . . . . . . . . . . . . . . . . 4
0.2. gstat . . . . . . . . . . . . . . 4
0.3. GRASS . . . . . . . . . . . . . 5
0.4. Datos de trabajo . . . . . . . 5
1. Descripcion univariada 6
1.1. Carga y visualizacion de los
datos . . . . . . . . . . . . . . 6
1.2. Metodos graficos para la
descripcion univariada . . . 6
1.3. Metodos numericos . . . . . 9
1.4. Scripts . . . . . . . . . . . . . 10
2. Descripcion bivariada 12
2.1. Metodos graficos . . . . . . . 12
2.2. Metodos numericos . . . . . 13
2.3. Scripts . . . . . . . . . . . . . 14
3. Descripcion espacial 15
3.1. Visualizacion espacial de
datos . . . . . . . . . . . . . . 15
3.2. Ventanas moviles y el efecto
proporcional . . . . . . . . . 18
3.3. Continuidad espacial . . . . 18
3.4. Variograma . . . . . . . . . . 20
3.5. Diagramas de dispersion
cruzados . . . . . . . . . . . 20
3.6. Scripts . . . . . . . . . . . . . 20
4. Estimacion. Metodos determi-
nistas 24
4.1. Scripts . . . . . . . . . . . . . 27
5. Continuidad espacial de V 30
5.1. Variograma omnidireccional 30
5.2. Variograma superficial . . . 30
5.3. Variogramas direccionales . 30
5.4. Variogramas cruzados . . . . 33
5.5. Scripts . . . . . . . . . . . . . 36
6. Modelizacion del variograma ex-
perimental 39
6.1. Estimacion automatizada
del modelo . . . . . . . . . . 41
6.2. Scripts . . . . . . . . . . . . . 44
8. Kriging 45
8.1. wlc . . . . . . . . . . . . . . . 45
8.2. Krigeado Ordinario (KO) . . . 45
8.3. Krigeado Universal (KU) . . . 46
8.4. Krigeado por bloques (KUB) 46
8.5. Krigeado Local (KUL) . . . . 46
8.6. Cokrigeado (CKO) . . . . . . 48
8.7. Resultados . . . . . . . . . . 51
8.8. Scripts . . . . . . . . . . . . . 56
Modelizacion geoestadıstica con R 2
Indice de figuras
1. Distribucion de U y V . . . . 6
2. Histograma de V . . . . . . . 7
3. Histograma acumulado de V 7
4. Grafico de probabilidad
uniforme de V . . . . . . . . 7
5. Grafico de probabilidad
normal . . . . . . . . . . . . . 8
6. Grafico de probabilidad log-
normal . . . . . . . . . . . . . 8
7. Grafico de caja y bigotes de V 9
8. Grafico de caja y bigotes de
V y U . . . . . . . . . . . . . . 12
9. Grafico de cuantiles de V y U 12
10. Grafico de dispersion . . . . 13
11. Distribucion de V . . . . . . 15
12. Mapa graduado de color de V 16
13. Mapa graduado de tamano
de V . . . . . . . . . . . . . . 16
14. Mapas de indicadores . . . . 17
15. Mapa de superficie interpo-
lada . . . . . . . . . . . . . . 18
16. Media y varianza en venta-
na de 3x3 . . . . . . . . . . . 19
17. Grafico de dispersion de
media y varianza . . . . . . . 19
18. h-Scatterplots de direccion
N-S . . . . . . . . . . . . . . . 20
19. h-Scatterplots de direccion
E-W . . . . . . . . . . . . . . 21
20. h-Scatterplots cruzado de U
y V en direccion N-S . . . . . 21
21. Distribucion de wlm . . . . . 24
22. Mapas generados por GRASS 25
23. Histogramas de los conjun-
tos de datos . . . . . . . . . . 26
24. Variogramas omnidireccio-
nales (i)) . . . . . . . . . . . . 31
25. Mapa del variograma su-
perficial . . . . . . . . . . . . 31
26. Isolıneas del variograma
superficial . . . . . . . . . . . 32
27. Variogramas direccionales . 32
28. Deteccion de ejes de aniso-
tropıa . . . . . . . . . . . . . 33
29. Variogramas por toleran-
cias (i) . . . . . . . . . . . . . 34
30. Variogramas por toleran-
cias (ii) . . . . . . . . . . . . . 35
31. Variogramas cruzados . . . . 35
32. Modelos de variogramas
disponibles . . . . . . . . . . 39
33. Modelos esferico de ran-
go 30 y meseta parcial de
92000ppm . . . . . . . . . . 40
34. Modelos de variograma
combinados . . . . . . . . . . 40
35. Modelo de variograma de V
ajustado . . . . . . . . . . . . 41
36. Modelado interactivo del va-
riograma . . . . . . . . . . . . 42
37. Descripcion de geoR del
conjunto de datos . . . . . . 43
38. Modelo ajustado por geoR . 43
39. Conjunto de datos wlc . . . . 45
40. Error del Krigeado ordinario 46
41. Error del Krigeado universal 47
42. Error del Krigeado univer-
sal por bloques . . . . . . . . 47
43. Error del Krigeado local
universal . . . . . . . . . . . 48
44. Diferencias con wlc de la
modelizacion de U . . . . . . 50
45. Prediccion en la modeliza-
cion de V (wlm) . . . . . . . . 51
46. Desviacion tıpica en la mo-
delizacion de V (wlm) . . . . . 52
47. Diagramas de caja y bigote
de las diferencias . . . . . . . 53
48. Prediccion en la modeliza-
cion de U (wlm) . . . . . . . . 54
49. Desviacion tıpica en la mo-
delizacion de U (wlm) . . . . . 54
Indice de cuadros
1. Resumen de estadısticos de
datos de validacion y esti-
mados . . . . . . . . . . . . . 26
2. Estadısticos de los errores
en los metodos de krigeado
de V . . . . . . . . . . . . . . 52
3. Estadısticos de los errores
en los metodos de krigeado
de U . . . . . . . . . . . . . . 55
Modelizacion geoestadıstica con R 3
Indice de listados
1. R-Script del tema 1 . . . . . . 10
2. R-Script del tema 2 . . . . . . 14
3. R-Script en Linux del tema 3 . 22
4. R-Script en Windows del te-
ma 3 . . . . . . . . . . . . . . 23
5. R-Script del tema 4 . . . . . . 27
6. Script para GRASS . . . . . . 27
7. Script para ps.map del
metodo IDW . . . . . . . . . 28
8. Script para ps.map del
metodo RST . . . . . . . . . . 28
9. Script para ps.map del
metodo Polıgonos de in-
fluencia . . . . . . . . . . . . 29
10. Funciones para imprimir
variogramas . . . . . . . . . . 36
11. R-Script del tema 5 . . . . . . 36
12. R-Script del tema 6 . . . . . . 44
13. R-Script del tema 8 . . . . . . 56
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 tambien es capaz de realizar toda clase de graficos
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-
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 GRASSen 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 metodos deter-
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 metodo de pesos inver-
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 walkeresta 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.
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.
12 14 16 18 20
242
244
246
248
250
X
Y
22 28 4 32 38 20 0 14 31 34
16 17 11 29 37 55 11 3 34 35
14 15 15 15 16 17 13 2 40 38
14 15 15 16 17 18 14 6 28 25
15 16 16 23 24 25 7 15 21 20
21 18 20 27 29 19 7 16 19 22
21 8 27 27 32 4 10 15 17 19
16 9 22 24 25 10 7 19 19 22
16 7 34 36 29 7 4 18 18 20
15 12 24 27 30 0 2 18 18 18
87 100 47 111 124 109 0 98 134 144
77 84 74 108 121 143 91 52 136 144
75 80 83 87 94 99 95 48 139 145
74 80 85 90 97 101 96 72 128 130
77 82 86 101 109 113 79 102 120 121
89 88 94 110 116 108 73 107 118 127
88 70 103 111 122 64 84 105 113 123
82 74 97 105 112 91 73 115 118 129
82 61 110 121 119 77 52 111 117 124
81 77 103 112 123 19 40 111 114 120
Figura 1: Distribucion de U y V
1.2. Metodos graficos para la descripcion univariada
El metodo grafico mas utilizado es el histograma, en el que debemos integrar la
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.
Modelizacion geoestadıstica con R 7
V
Fre
qu
en
cy
1 1
0
1
2 2
3
14
15
11
14
17
12
3
40
24
68
10
12
14
16
0 50 100 150
Figura 2: Histograma de V
0 10 20 30 40 50 60 70 80 90 100 120 140
Variable
Fre
cu
en
cia
acu
mu
lada
020
40
60
80
100
Figura 3: Histograma acumulado de V
0 50 100 150
0.0
0.2
0.4
0.6
0.8
1.0
V
Pro
babilid
ad a
cu
mu
lada
Figura 4: Grafico de probabilidad uniforme de V
Modelizacion geoestadıstica con R 8
0 50 100 150
−2
−1
01
2
Sample Quantiles
Th
eore
tical Q
uan
tile
s
Figura 5: Grafico de probabilidad normal
3.0 3.5 4.0 4.5 5.0
−2
−1
01
2
Sample Quantiles
Th
eore
tical Q
uan
tile
s
Figura 6: Grafico de probabilidad lognormal
Modelizacion geoestadıstica con R 9
1.3. Metodos numericos
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:
27 #Discretizar V para hallar frecuencias28 lsecV <-length (secV)29 cutV <-cut (V,secV)30 tcutV <-table (cutV)31 #Obtener las frecuencias acumuladas32 sumfreq <-rep (0, length (secV))33 for (i in 1:lsecV){ sumfreq[i] <-length (V
13 #Adjuntar los datos de wle para accederdirectamente
14 attach (wle)15
16 #Gr afico de V con m aximos y m ınimos17 #Obtener los 10 valores m aximos y
mınimos18 Vmax=sort (V)[90:100][1]19 Vmin= sort (V)[1:10][10]20 dfVmax= subset (wle,V>=Vmax)21 dfVmin= subset (wle,V<=Vmin)22 #Ya se puede hacer el dibujo23 postscript ("imgs / 03/ maxmin.ps")24 plot (X,Y,pch=3,xlim= c (11,20.2),ylim= c
(239.5,250.5))25 text (X+0.2,Y+0.2,V)26 points (dfVmax $X,dfVmax $Y,bg="black",pch
49 for (i in 1: length (sec2)){50 tit <-as . expression ( substitute (
Umbral==p, list (p=sec2[i])))51 lv <- levelplot(V ˜ X* Y,wle, col .
regions= c ("lightgray","white"),at= c ( min (V),sec2[i], max(V)),main=tit);
52 print (lv)53 }54 dev . off ()55
56
57 # Mapas de isol ıneas y de superficiesinterpoladas en Windows
58
59 #Conseguir una matriz con los valores deV
60 imgV<- xyz2img(wle,"V",2,1)61 matVtemp <- imgV$z62 matV<- matVtemp * 063 m<-dim (matVtemp)[1]64 n<-dim (matVtemp)[2]65 for (i in 1:m){ for (j in 1:n){matV[i,j] <-
90 #Mostrar resultados91 postscript ("imgs / 03 / mediavar.ps")92 plot (X,Y,pch=3)93 for (i in seqm){94 for (j in seqn){95 text (imgV2 $x[i],imgV2 $y[
j]+0.25,media3[j-1,i-1]);
96 text (imgV2 $x[i],imgV2 $y[j]-0.25,var3[j-1,i
Modelizacion geoestadıstica con R 23
-1])97 }98 }99 dev . off ()
100
101 #Gr afico de media contra varianza 3x3102 postscript ("imgs / 03/ mediavar2.ps")103 media <-array (media3, dim =64)104 varianza <-array (var3, dim =64)105 plot (media,varianza,pch=21,bg="lightgray
",xlab="media",ylab="varianza")106 text (105,2000, as . expression ( substitute (
rho==ro, list (ro= round ( cor (media,varianza),2)))))
139 lines ( c(0,150), c (0,150)); text(40,30,"x=y");
140 text (10,90, as . expression (substitute (rho==ro, list (ro=round ( cor (matV1,matV2),2)))))
141 title ( as . expression ( substitute (h==hh, list (hh=h))))
142 }143 dev . off ()144
145 #Continuidad espacial en V cruzado con U146 imgU<- xyz2img(wle,"U",2,1)147 matUtemp <- imgU$z148 matU<- matUtemp * 0149 m<-dim (matUtemp)[1]150 n<-dim (matUtemp)[2]151 for (i in 1:m){ for (j in 1:n){matU[i,j] <-
ylab="U(t)");164 lines ( c(0,150), c (0,150)); text
(40,30,"x=y");165 text (10,20, as . expression (
substitute (rho==ro, list (ro=round ( cor (matV1,matU2),2)))))
166 title ( as . expression ( substitute (h==hh, list (hh=h))))
167 }168 dev . off ()
Listado 4: R-Script en Windows del tema 3
1 orden <- 62 V. ls<- surf. ls (orden,wle $X,wle $Y,wle $V)3 V.tr <- trmat(V. ls ,11,20,241,250,150)4
5 ps . options ( family ="Bookman",pointsize=15)
6 postscript ("imgs / 03 / interp.ps")7 image (V.tr, col =gray ( seq (0.93,0.3,l=50)))8 contour (V.tr, add=TRUE,labcex=.8)9 dev . off ()
Modelizacion geoestadıstica con R 24
Tema 4 Estimacion. Metodos deterministas
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 gstaty cargandose con ejecutar el comando data(walker) .
X
Y
50 100 150 200 250
50
100
150
200
250
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.rstque implementan el metodo de polıgonos de influencia, el de pesos inversos a la dis-
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 metodos.
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 metodo de Polıgonos de influencia es el que mejor mantiene
las caracterısticas estadısticas.
Modelizacion geoestadıstica con R 25
200
100
100
200
Polígonos de influencia de V
Leyenda
Escala0 50
0
200
400
600
800
1000
1200
1400
200
100
100
200
Inverso a la distancia de V
Leyenda
Equidistancia de curvas = 250ppm
Escala0 50
200
400
600
800
1000
1200
1400
200
100
100
200
Splines de Tensión de V (T=100)
Leyenda
Equidistancia de curvas = 250ppm
Escala0 50
0
200
400
600
800
1000
1200
1400
Figura 22: Mapas generados por GRASS
Modelizacion geoestadıstica con R 26
Cuadro 1: Resumen de estadısticos de datos de validacion y estimados
19 rectangle 0 390 260 30520 color black21 fcolor white22 end23 text 160 365 Inverso a la distancia
de V24 font Bookman25 size 1026 end27 text 20 385 Leyenda28 font Bookman29 size 630 end31 colortable y32 where 2 0.733 raster idw34 width 0.335 height 236 cols 637 font Bookman38 fontsize 839 color black40 end41 text 160 320 Equidistancia de curvas
= 250ppm42 font Bookman43 size 644 end45 text 160 345 Escala46 font Bookman47 size 648 end49 scalebar f50 where 5 2.151 length 5052 height 0.0553 segment 554 numbers 555 fontsize 856 end57 paper a4
58 left 0.559 right 0.560 bottom 0.561 top 0.562 end63 end
Listado 8: Script para ps.map del metodo
RST
1 grid 502 color black3 numbers 2 black4 end5 vpoints wle6 color black7 fcolor black8 size 19 label u
18 rectangle 0 390 260 30519 color black20 fcolor white21 end22 text 160 365 Pol ıgonos de influencia
de V
23 font Bookman24 size 1025 end26 text 20 385 Leyenda27 font Bookman28 size 629 end30 colortable y31 where 2 0.732 raster rvorwle33 width 0.334 height 235 cols 636 font Bookman37 fontsize 838 color black39 end40 text 160 345 Escala41 font Bookman42 size 643 end44 scalebar f45 where 5 2.146 length 5047 height 0.0548 segment 549 numbers 550 fontsize 851 end52 paper a453 left 0.554 right 0.555 bottom 0.556 top 0.557 end58 end
Modelizacion geoestadıstica con R 30
Tema 5 Continuidad espacial de V
5.1. Variograma omnidireccional
El calculo del variograma omnidireccional con gstat es sencillo. En primer lugar
se ha de crear un objeto de tipo gstat anadiendole los datos de trabajo. A continua-
cion se ejecuta el comando variogram con las opciones pertinentes.
La opcion principal es el tamano de los lags. Ningun paquete de los consultados
permite elegir una tolerancia para incluir pares en cada lag, siendo unicamente GSLIBel que acepta este parametro, pero no en R. Otros parametros permiten obtener el
mapa superficial o la nube de puntos o establecer restricciones de direccion como se
vera mas adelante.
En el script del tema se han creado diversas funciones para realizar graficas de
uno o varios variogramas presentando el numero de pares y una leyenda.
Si se muestra el variograma en R, aparece el listado con los lags, el numero de
pares, el valor del variograma, las direcciones horizontales y verticales (si las hubiera)
y la variable utilizada.
> gstatV <- gstat(id="V", formula =V˜ 1,locations= ˜ X+Y, data =wlm)> varOmni <- variogram(gstatV,width=10,cutoff=101)> varOmni
)), as . character (sec1),separaciones,"",posleyenda)
68 pintavars(varsDirsP2, rainbow ( length (sec2)), as . character (sec2),separaciones,"",posleyenda)
69 dev . off ()70
71 #Buscar direcciones de los ejes deanisotrop ıa
72 nVars <-length (varsDirs)73 grad <- sec74 dist4 <-rep (0,nVars)75 yc <- 9000076 for (i in 1:nVars){77 j <- 1;78 while (varsDirs[[i]] $gamma[j]<yc){j <-
FALSE)102 for (i in 1: length (tols)){103 vars <-list ()104 #Sengudo bucle por direcciones105 for (j in 1: length (sec)){106 sj <- sec[j];letra <-as . character (
Crea el modelo de la figura 34 y su definicion en R es la siguiente:
> vgm(40e3,"Sph",30, add .to=vgm(22000,"Nug", add .to=vgm(45e3,"Sph",150)))model psill range
1 Sph 45000 1502 Nug 22000 03 Sph 40000 30
Modelizacion geoestadıstica con R 40
Distancia
Sem
ivari
ogra
ma
20 40 60 80 100
20000
40000
60000
80000
Figura 33: Modelos esferico de rango 30 y meseta parcial de 92000ppm
Distancia
Sem
ivari
ogra
ma
20 40 60 80 100
20000
40000
60000
80000
Figura 34: Modelos de variograma combinados
Modelizacion geoestadıstica con R 41
6.1. Estimacion automatizada del modelo
6.1.1. gstat
Tanto el paquete gstat como el paquete geoR proporcionan funciones para la esti-
macion automatizada del modelo de variograma. En ambos casos deberemos ajustar
manualmente unos parametros iniciales para pasarlos como parametros de entrada,
junto con el variograma.
De este modo, si queremos modelar el variograma omnidireccional de V mediante
un modelo exponencial con efecto pepita, basta con proceder del siguiente modo (fig.
35):
> m<- vgm(72e3,"Exp",15,22e3)> mfit <- fit.variogram(variogram(g["V"],width=10),m)> g<- gstat(g,id="V", model =mfit)> print (g)data :V : formula = V‘ ˜ ‘1 ; locations = ˜ X + Y ; data dim = 470 x 6variograms:
model psill rangeV[1] Nug 186.3867 0.00000V[2] Exp 93809.2943 12.01007
Distancia
Sem
ivari
ogra
ma
20 40 60 80 100
20000
40000
60000
80000
Figura 35: Modelo de variograma de V ajustado
6.1.2. geoR
El paquete geoR proporciona una herramienta ciertamente interesante. Se trata
de estimar de forma manual el modelo pero haciendo uso de una interfaz grafica de
usuario escrita en el lenguaje TclTk. Se pasa a la funcion eyefit el variograma a
modelar y aparece un cuadro de dialogo donde es posible elegir el tipo de modelo y
sus parametros mediante barras deslizantes.
> library (geoR)
--------------------------------------------------- ----------Functions for geostatistical data analysisFor an Introduction to geoR go to http: // www.est.ufpr.br / geoRgeoR version 1.5-7 (built on 2005 / 06 / 07) is now loaded--------------------------------------------------- ----------
GeoRademas genera un grafico de resumen de los datos bastante descriptivo don-
de muestra la localizacion de los mismos, un histograma de la variable y dos graficos
de dispersion de la variable contra las coordenadas X e Y respectivamente (fig. 37).
Por ultimo, geoR tambien ajusta por mınimos cuadrados el modelo de variogra-
ma de forma analoga a gstat aunque algo mas simple, pasando unicamente un
valor de meseta, un rango y un metodo (fig. 38 en la pagina siguiente). En este
sentido gstat es mas potente al pasar a su funcion directamente un objeto de ti-
po variogram.model .
> vario.m2 <- variofit(vario.b, c (93809,12), cov . model ="exponential")variofit: weights used: npairsvariofit: minimisation function used: optim> vario.m2variofit: model parameters estimated by WLS (weighted least squares):covariance model is : exponentialparameter estimates:
tausq sigmasq phi14873.1088 79431.7551 13.4973
variofit: minimised weighted sum of squares = 612531182238
Modelizacion geoestadıstica con R 43
0 50 100 150 200 250
050
100
150
200
250
300
X Coord
Y C
oord
0 500 1000 1500
050
100
150
200
250
300
data
Coord
Y
0 50 100 150 200 250
0500
1000
1500
Coord X
data
data
Fre
qu
en
cy
0 500 1000 1500
020
40
60
80
100
Figura 37: Descripcion de geoR del conjunto de datos
0 20 40 60 80 100
0e+00
2e+04
4e+04
6e+04
8e+04
1e+05
Distancia
Sem
ivari
ogra
ma
Figura 38: Modelo ajustado por geoR
Modelizacion geoestadıstica con R 44
6.2. Scripts
Listado 12: R-Script del tema 6
1 # TEMA 6 MODELIZACION DEL VARIOGRAMA2 ps . options ( family ="Bookman",pointsize
=15)3 rm( list =ls ())4
5 library (lattice)6 library (gstat)7
8 #Anadir las funciones programadas9 source ("Variogramas.R")
10
11 #Cargar los datos wlm12 data (walker)13 wlm<- walker; rm(walker)14 attach (wlm)15 # Crear el objeto gstat16 g<- gstat(id="V", formula =V˜ 1,locations= ˜ X
+Y, data =wlm)17
18 #Ver modelos de variograma19 postscript ("imgs / 06/ modelos.ps")20 print ( show.vgms())21 dev . off ()22
Tal y como se vio en el tema 3, las variables U y V estan correladas (aunque menos
en wlm que en wle), Esto significa que podemos obtener informacion de una de ellas
teniendo en cuenta tambien los valores de la otra. Este principio es el que utiliza el
cokrigeado, en el cual para estimar una variable se utilizan tanto los variogramas de
ambas como el cruzado.
gstat utiliza otro comando para realizar este metodo. Ademas impone algunas res-
tricciones para dar por bueno el modelo de corregionalizacion:
Las variables deben encontrarse en todas las localizaciones.
El rango en los modelos de los variogramas debe ser el mismo.
El proceso es un poco diferente al de los anteriores, primero se crea el objeto gstaty se anaden las localizaciones, a continuacion se anaden los tres modelos iniciales.
Despues, con el comando fit.lmc se genera el modelo de corregionalizacion lineal
ajustado. Se obtiene tambien el variograma experimental del objeto gstat (el cual
incluye las dos variables y el cruzado). Por ultimo ya se puede ejecutar el comando
predict que devuelve el mismo tipo de data.frame que el comando krige pero en
lugar de contener la prediccion y la varianza para una variable contiene las dos pre-
dicciones y varianzas y la covarianza entre U y V. Las figuras 48(a) y 49(a) presentan
la prediccion y la varianza de la variable U respectivamente.
Modelizacion geoestadıstica con R 49
#Crear el objeto gstat y a nadir las localizacionesg<- gstat(id="U", formula =U 1,locations= ˜ X+Y, data =wlm2)g<- gstat(g,id="V", formula =V˜ 1,locations= ˜ X+Y, data =wlm2)#Crear los modelosmv<- vgm(72e3,"Exp",15,22e3)mu<- vgm(26e4,"Exp",15,26e4)muv<- vgm(.6e5,"Exp",15,3e5)#Anadir los modelos al objetog<- gstat(g,id="U", model =mu)g<- gstat(g,id="V", model =mv)g<- gstat(g,id= c ("U","V"), model =muv)#Calcular el variograma y el modelo ajustadox<- variogram(g,cutoff=100)g.fit=fit.lmc(x,g)#Calcular el cokrigeado ordinarioCKO<-predict (g.fit, newdata = wlc)
Se ha comprobado de igual forma a los ejemplos anteriores el resultado con wlc y
se ha obtenido el krigeado ordinario de U (UKO) para compararlo tambien (figs 48(b)
y 49(b)).
Modelizacion geoestadıstica con R 50
Error
Fre
cu
en
cia
0 2000 4000 6000 8000
010000
20000
30000
40000
50000
22
14892
50962
7493
26001131492195 96 62 27 12 6 0 4 0 3 3 0 0 1
(a) Error del CKO
Error
Fre
cu
en
cia
−2000 0 2000 4000 6000 8000 10000
010000
20000
30000
40000
3 22 59294
22081
42942
8044
2657107743519995 50 23 7 4 1 3 0 2 1 1 0 0 1
(b) Error del UKO
Figura 44: Diferencias con wlc de la modelizacion de U
Modelizacion geoestadıstica con R 51
8.7. Resultados
8.7.1. Modelizacion de V
A continuacion se muestran los resultados de los metodos de krigeado empleados
para modelar la variable V, ası como sus predicciones de error. Por ultimo se compa-
ran se muestran los estadısticos de las diferencias entre los valores estimados y los
valores reales (wlc).En el diagrama de cajas (fig. 47 en la pagina 53) se aprecia como el krigeado
por bloques parece que ofrece el resultado con menos outliers al contrario que el
krigeado local. Ademas el krigeado local no consigue dar valores a todos los puntos,
pese a indicar una distancia maxima de 30 metros. El krigeado por bloques ofrece
diferencias tanto maximas como mınimas mas pequenas que el resto (cuadro 2 en la
pagina siguiente).
X
Y
50 100 150 200
50
100
150
200
250
0
200
400
600
800
1000
1200
1400
1600
(a) KO
X
Y
50 100 150 200
50
100
150
200
250
0
200
400
600
800
1000
1200
1400
1600
(b) KU
X
Y
50 100 150 200
50
100
150
200
250
0
200
400
600
800
1000
1200
1400
1600
(c) KUB
X
Y
50 100 150 200
50
100
150
200
250
0
200
400
600
800
1000
1200
1400
1600
(d) KUL
Figura 45: Prediccion en la modelizacion de V (wlm)
8.7.2. Modelizacion de U
Viendo la prediccion del cokrigeado, se observa que el resultado no es demasia-
do satisfactorio, seguramente porque la modelizacion del variograma, al restringir al
Modelizacion geoestadıstica con R 52
X
Y
50 100 150 200
50
100
150
200
250
0
50
100
150
200
250
300
350
(a) KO
X
Y
50 100 150 200
50
100
150
200
250
0
50
100
150
200
250
300
350
(b) KU
X
Y
50 100 150 200
50
100
150
200
250
0
50
100
150
200
250
300
350
(c) KUB
X
Y
50 100 150 200
50
100
150
200
250
0
50
100
150
200
250
300
350
(d) KUL
Figura 46: Desviacion tıpica en la modelizacion de V (wlm)
Cuadro 2: Estadısticos de los errores en los metodos de krigeado de V
Estadısticos
KO KU KUB KUL
Media 5.77 4.35 4.47 -4.13
Mınimo -686.11 -684.74 -645.48 -928.96
Q1 -71.55 -72.55 -76.87 -80.85
Q2 28.6 25.94 28.71 12.572
Q3 89.31 84.83 86.51 77.19
Max. 967.39 967.42 913.93 969.61
Var. 21394.29 21344.87 21325.76 22621.25
Desv. 146.27 146.10 146.03 150.40
CS -0.39 -0.34 -0.32 -0.32
K 1.45 1.47 1.23 1.86
CV 25.34 33.56 32.68 -36.42
Modelizacion geoestadıstica con R 53
KO
KU
KU
BK
UL
−1000 −500 0 500 1000
Figura 47: Diagramas de caja y bigote de las diferencias
Modelizacion geoestadıstica con R 54
mismo rango a los modelos tanto de U, como de V y el cruzado, a generado una peor
modelizacion final. Ası y todo, el cokrigeado a dado valores maximos y mınimos meno-
res al ordinario y el resto de parametros estadısticos no son muy diferentes (cuadro 3
en la pagina siguiente).
X
Y
50 100 150 200
50
100
150
200
250
0
1000
2000
3000
4000
5000
(a) CKO
X
Y
50 100 150 200
50
100
150
200
250
0
1000
2000
3000
4000
5000
(b) UKO
Figura 48: Prediccion en la modelizacion de U (wlm)
X
Y
50 100 150 200
50
100
150
200
250
0
100
200
300
400
500
600
700
800
(a) CKO
X
Y
50 100 150 200
50
100
150
200
250
0
100
200
300
400
500
600
700
800
(b) UKO
Figura 49: Desviacion tıpica en la modelizacion de U (wlm)
Modelizacion geoestadıstica con R 55
Cuadro 3: Estadısticos de los errores en los metodos de krigeado de U
Estadısticos
CKO UKO
Media -250.44 -255.68
Mınimo -1366.57 -2625.11
Q1 -487.89 -506.54
Q2 -404.07 -418.417
Q3 -196.54 -158.85
Max. 8973.018 9034.47
Var. 197185.3 197649.9
Desv. 444.05 444.58
CS 3.78 3.30
K 25.17 21.42
CV -1.77 -1.74
Modelizacion geoestadıstica con R 56
8.8. Scripts
Listado 13: R-Script del tema 8
1 # TEMA 8 KRIGING2 ps . options ( family ="Bookman",pointsize
=15)3 # rm(list=ls())4
5 library (lattice)6 library (gstat)7
8 #Funci on que devuelve estad ısticas9 calcestads <-function (datosO){