Geoestad´stica con R
                           ı
                                  Jorge Gaspar Sanz Salinas

           ...
Modelizacion geoestad´stica con R
          ´          ı                                                                  ...
Modelizacion geoestad´stica con R
          ´          ı                                                                  ...
Modelizacion geoestad´stica con R
          ´          ı                                                                  ...
Modelizacion geoestad´stica con R
          ´          ı                                                               5

...
Modelizacion geoestad´stica con R
          ´          ı                                                                  ...
Modelizacion geoestad´stica con R
          ´          ı                                                                  ...
Modelizacion geoestad´stica con R
          ´          ı                                                                  ...
Modelizacion geoestad´stica con R
          ´          ı                                                                9
...
Modelizacion geoestad´stica con R
              ´          ı                                                              ...
Modelizacion geoestad´stica con R
               ´          ı                                                            1...
Modelizacion geoestad´stica con R
          ´          ı                                                                  ...
Modelizacion geoestad´stica con R
          ´          ı                                                           13


pu...
Modelizacion geoestad´stica con R
               ´          ı                                                             ...
Modelizacion geoestad´stica con R
          ´          ı                                                            15


 ...
Modelizacion geoestad´stica con R
          ´          ı                                                                  ...
Modelizacion geoestad´stica con R
          ´          ı                                                                  ...
Modelizacion geoestad´stica con R
          ´          ı                                                             18


...
Modelizacion geoestad´stica con R
          ´          ı                                                                  ...
Modelizacion geoestad´stica con R
          ´          ı                                                                  ...
Modelizacion geoestad´stica con R
          ´          ı                                                                  ...
Modelizacion geoestad´stica con R
               ´          ı                                                             ...
Modelizacion geoestad´stica con R
                ´          ı                                                            ...
Modelizacion geoestad´stica con R
          ´          ı                                                             24


...
Leyenda on geoestad´stica con R
   Modelizaci ´       ı                                                     25
           ...
Modelizacion geoestad´stica con R
          ´          ı                                                                  ...
Modelizacion geoestad´stica con R
               ´          ı                                                             ...
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Geoestadística con R
Upcoming SlideShare
Loading in...5
×

Geoestadística con R

6,467

Published on

Documento que describe una serie de ejercicios de estadística y geoestadística realizados mediante R

Published in: Technology
3 Comments
7 Likes
Statistics
Notes
No Downloads
Views
Total Views
6,467
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
702
Comments
3
Likes
7
Embeds 0
No embeds

No notes for slide

Geoestadística con R

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 ˜
  17. 17. Modelizacion geoestad´stica con R ´ ı 17 Umbral = 73.375 Umbral = 81.75 140 140 120 120 248 248 100 100 246 80 246 80 Y Y 60 60 244 244 40 40 242 242 20 20 0 0 12 14 16 18 12 14 16 18 X X (a) Cuantil 12.5 % (b) Cuantil 25 % Umbral = 89.125 Umbral = 100.5 140 140 120 120 248 248 100 100 246 80 246 80 Y Y 60 60 244 244 40 40 242 242 20 20 0 0 12 14 16 18 12 14 16 18 X X (c) Cuantil 37.5 % (d) Cuantil 50 % Umbral = 109.875 Umbral = 116.25 140 140 120 120 248 248 100 100 246 80 246 80 Y Y 60 60 244 244 40 40 242 242 20 20 0 0 12 14 16 18 12 14 16 18 X X (e) Cuantil 62.5 % (f) Cuantil 75 % Figura 14: Mapas de indicadores
  18. 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 ´
  19. 19. Modelizacion geoestad´stica con R ´ ı 19 250 85.22 95.56 111.33 97.67 78.44 76.56 94.56 117.67 235.94 409.53 75.75 1095.75 1332.03 1165.53 955.28 35.5 85.22 94.67 111.11 102.44 88.22 85.78 98.67 117.22 248 255.19 443.25 72.86 428.53 616.94 468.19 553.25 53.69 87.22 94.67 107.78 104.33 93.67 91.11 100.67 117.22 111.69 220.5 79.94 300.25 459.75 342.86 353.25 68.19 86.33 93.89 105.78 106 96.44 92.78 100.11 115.11 246 90.25 186.86 122.94 281 457.78 320.44 299.61 76.86 Y 83.89 90.67 98.67 105 99.11 94.56 99.44 113.89 39.36 92.75 123.5 69.5 219.86 248.78 441.03 334.86 80.22 86 92.44 99 98.11 89.44 97.67 111.67 244 17.94 42.5 74.03 69.75 93.36 392.78 828.75 1042.25 79.11 85.67 93.22 104.44 104.11 88.56 95.22 110.44 18.61 91.25 199.44 311.53 288.36 823.28 1163.69 1659.03 78.56 86 94.33 110.67 97.33 81.67 88.11 115.56 242 201.78 377.5 611.5 289.25 1628.25 1753 2227.36 1588.03 12 14 16 18 20 X Figura 16: Media y varianza en ventana de 3x3 2000 ρ = −0.11 1500 varianza 1000 500 0 80 90 100 110 media Figura 17: Grafico de dispersion de media y varianza ´ ´
  20. 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
  21. 21. Modelizacion geoestad´stica con R ´ ı 21 h=1 h=2 140 140 120 120 100 100 ρ = 0.21 ρ = −0.41 80 80 V(t) V(t) 60 60 40 40 x=y x=y 20 20 0 0 0 50 100 150 0 50 100 150 V(t+h) V(t+h) h=3 h=4 140 140 120 120 100 100 ρ = −0.35 ρ = 0.3 80 V(t) V(t) 80 60 60 40 x=y 40 20 x=y 20 0 0 50 100 150 0 50 100 150 V(t+h) V(t+h) Figura 19: h-Scatterplots de direccion E-W ´ h=1 h=2 40 50 30 x=y 40 30 x=y U(t) U(t) ρ = 0.45 20 ρ = 0.6 20 10 10 0 0 0 50 100 150 0 50 100 150 V(t+h) V(t+h) h=3 h=4 35 35 30 30 x=y x=y 25 25 ρ = 0.36 ρ = 0.28 20 20 U(t) U(t) 15 15 10 10 5 5 0 0 0 50 100 150 0 50 100 150 V(t+h) V(t+h) Figura 20: h-Scatterplots cruzado de U y V en direccion N-S ´
  22. 22. Modelizacion geoestad´stica con R ´ ı 22 Listado 3: R-Script en Linux del tema 3 48 postscript("imgs/03/indics %02d.ps", onefile=FALSE) 49 for (i in 1:length(sec2)){ ´ 1 #TEMA 3 : DESCRIPCION ESPACIAL 50 tit<-as.expression(substitute( 2 ps.options(family="Bookman",pointsize Umbral==p,list(p=sec2[i]))) =15) 51 lv<-levelplot(V˜X*Y,wle,col. 3 rm(list=ls()) regions=c("lightgray","white 4 "),at=c(min(V),sec2[i],max(V 5 #Cargar paquetes )),main=tit); 6 library(lattice) 52 print(lv) 7 library(gstat) 53 } 8 54 dev.off() 9 #Cargar wle y redondearlo 55 10 wle<-read.delim2("walker10.asc") 56 11 wle<-round(wle,0) 57 # Mapas de isol´neas y de superficies ı 12 interpoladas en Windows 13 #Adjuntar los datos de wle para acceder 58 directamente 59 #Conseguir una matriz con los valores de 14 attach(wle) V 15 60 imgV<-xyz2img(wle,"V",2,1) 16 #Gr´fico de V con m´ximos y m´nimos a a ı 61 matVtemp<-imgV$z 17 #Obtener los 10 valores m´ximos y a 62 matV<-matVtemp*0 m´nimos ı 63 m<-dim(matVtemp)[1] 18 Vmax=sort(V)[90:100][1] 64 n<-dim(matVtemp)[2] 19 Vmin=sort(V)[1:10][10] 65 for(i in 1:m){for(j in 1:n){matV[i,j]<- 20 dfVmax= subset(wle,V>=Vmax) matVtemp[m+1-i,j] }} 21 dfVmin= subset(wle,V<=Vmin) 66 22 #Ya se puede hacer el dibujo 67 imgV2<-list(sort(imgV$y),sort(imgV$x, 23 postscript("imgs/03/maxmin.ps") decreasing=TRUE),matV) 24 plot(X,Y,pch=3,xlim=c(11,20.2),ylim=c 68 names(imgV2)<-c("x","y","z") (239.5,250.5)) 69 25 text(X+0.2,Y+0.2,V) 70 #Calcular una media y varianza 3x3 26 points(dfVmax$X,dfVmax$Y,bg="black",pch 71 media3<-matV*0 =21) 72 var3<-media3 27 points(dfVmin$X,dfVmin$Y,bg="lightgray", 73 seqm<-seq(2,m-1) pch=21) 74 seqn<-seq(2,n-1) 28 legend(11,240.8,c("M´ximos","M´nimos"), a ı 75 pch=21,pt.bg=c("black","lightgray")) 76 for(i in seqm){ 29 dev.off() 77 for(j in seqn){ 30 78 i1<-i-1; 31 #Gr´fico de s´mbolos graduados a ı 79 i2<-i+1; 32 postscript("imgs/03/simbs.ps") 80 j1<-j-1; 33 lv<-levelplot(V˜X*Y,wle,col.regions=gray 81 j2<-j+1; (seq(1,0.3,len=18)),aspect=mapasp( 82 matVtemp<-array(matV[i1: wle)) i2,j1:j2]); 34 print(lv) 83 media3[i,j]<-mean( 35 dev.off() matVtemp); 36 84 var3[i,j]<-var(matVtemp) 37 #Gr´fico de burbujas a 85 } 38 postscript("imgs/03/bubbles.ps") 86 } 39 # bub<-bubble(wle,1,2,"V",key.entries= 87 media3<-round(media3[seqm,seqn],2) quantile(V,seq(0,1,.25))) 88 var3<-round(var3[seqm,seqn],2) 40 bub<-bubble(wle,1,2,"V",fill=TRUE,pch 89 =21,key.entries=quantile(V,seq 90 #Mostrar resultados (0,1,.25))) 91 postscript("imgs/03/mediavar.ps") 41 print(bub) 92 plot(X,Y,pch=3) 42 dev.off() 93 for(i in seqm){ 43 94 for(j in seqn){ 44 #Mapas de indicadores (por 12.5 %, 25 %, 95 text(imgV2$x[i],imgV2$y[ 37.5 %, 50 %, 62.5 %, 75 %) j]+0.25,media3[j-1,i 45 # sec2<-quantile(V,c -1]); (12.5,25,37.5,50,62.5,75)/100) 96 text(imgV2$x[i],imgV2$y[ 46 sec1<-seq(0.125,.75,.125) j]-0.25,var3[j-1,i 47 sec2<-quantile(V,sec1)
  23. 23. Modelizacion geoestad´stica con R ´ ı 23 -1]) 139 lines(c(0,150),c(0,150));text 97 } (40,30,"x=y"); 98 } 140 text(10,90,as.expression( 99 dev.off() substitute(rho==ro,list(ro= 100 round(cor(matV1,matV2),2)))) 101 #Gr´fico de media contra varianza 3x3 a ) 102 postscript("imgs/03/mediavar2.ps") 141 title(as.expression(substitute(h 103 media<-array(media3,dim=64) ==hh,list(hh=h)))) 104 varianza<-array(var3,dim=64) 142 } 105 plot(media,varianza,pch=21,bg="lightgray 143 dev.off() ",xlab="media",ylab="varianza") 144 106 text(105,2000,as.expression(substitute( 145 #Continuidad espacial en V cruzado con U rho==ro,list(ro=round(cor(media, 146 imgU<-xyz2img(wle,"U",2,1) varianza),2))))) 147 matUtemp<-imgU$z 107 dev.off() 148 matU<-matUtemp*0 108 149 m<-dim(matUtemp)[1] 109 150 n<-dim(matUtemp)[2] 110 #Continuidad espacial en V 151 for(i in 1:m){for(j in 1:n){matU[i,j]<- 111 #NS matUtemp[m+1-i,j] }} 112 postscript("imgs/03/V-NS %02d.ps",onefile 152 =FALSE) 153 #NS 113 for(i in 1:4){ 154 postscript("imgs/03/VU-NS %02d.ps", 114 h<-i; onefile=FALSE) 115 fil1<-seq(1+h,m); 155 for(i in 1:4){ 116 col1<-seq(1,n); 156 h<-i; 117 matV1<-array(matV[fil1,col1],dim 157 fil1<-seq(1+h,m); =length(fil1)*length(col1)); 158 col1<-seq(1,n); 118 fil2<-seq(1,m-h); 159 matV1<-array(matV[fil1,col1],dim 119 col2<-seq(1,n); =length(fil1)*length(col1)); 120 matV2<-array(matV[fil2,col2],dim 160 fil2<-seq(1,m-h); =length(fil2)*length(col2)); 161 col2<-seq(1,n); 121 plot(matV1,matV2,xlab="V(t+h)", 162 matU2<-array(matU[fil2,col2],dim ylab="V(t)"); =length(fil2)*length(col2)); 122 lines(c(0,150),c(0,150));text 163 plot(matV1,matU2,xlab="V(t+h)", (40,30,"x=y"); ylab="U(t)"); 123 text(40,120,as.expression( 164 lines(c(0,150),c(0,150));text substitute(rho==ro,list(ro= (40,30,"x=y"); round(cor(matV1,matV2),2)))) 165 text(10,20,as.expression( ) substitute(rho==ro,list(ro= 124 title(as.expression(substitute(h round(cor(matV1,matU2),2)))) ==hh,list(hh=h)))) ) 125 } 166 title(as.expression(substitute(h 126 dev.off() ==hh,list(hh=h)))) 127 167 } 128 #EW 168 dev.off() 129 postscript("imgs/03/V-EW %02d.ps",onefile =FALSE) 130 for(i in 1:4){ Listado 4: R-Script en Windows del tema 3 131 h<-i; 1 orden<-6 132 fil1<-seq(1,m); 2 V.ls<-surf.ls(orden,wle$X,wle$Y,wle$V) 133 col1<-seq(1+h,n); 3 V.tr<-trmat(V.ls,11,20,241,250,150) 134 matV1<-array(matV[fil1,col1],dim 4 =length(fil1)*length(col1)); 5 ps.options(family="Bookman",pointsize 135 fil2<-seq(1,m); =15) 136 col2<-seq(1,n-h); 6 postscript("imgs/03/interp.ps") 137 matV2<-array(matV[fil2,col2],dim 7 image(V.tr,col=gray(seq(0.93,0.3,l=50))) =length(fil2)*length(col2)); 8 contour(V.tr,add=TRUE,labcex=.8) 138 plot(matV1,matV2,xlab="V(t+h)", 9 dev.off() ylab="V(t)");
  24. 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. 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. 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
  27. 27. Modelizacion geoestad´stica con R ´ ı 27 4.1. Scripts Listado 5: R-Script del tema 4 ="Frecuencia") 49 hist(datos[[2]],main="Vor",xlab="V",ylab ´ 1 #TEMA 4 - ESTIMACION ="Frecuencia") 2 ps.options(family="Bookman",pointsize 50 hist(datos[[3]],main="IDW",xlab="V",ylab =15) ="Frecuencia") 3 rm(list=ls()) 51 hist(datos[[4]],main="RST",xlab="V",ylab 4 ="Frecuencia") 5 #Cargar los datos wlm 52 dev.off() 6 library(lattice) 7 library(gstat) 8 data(walker) Listado 6: Script para GRASS 9 wlm<-walker 1 # CREAR MAPA DE SPLINES 10 attach(wlm) 2 g.remove rast=splines vect=spcontour 11 3 v.surf.rst input=wle elev=splines 12 #Ver wlm zcolumn=u tension=100 13 postscript("imgs/04/wlm.ps") 4 r.contour input=splines output=spcontour 14 xy<-xyplot(Y˜X,wlm,pch=3,aspect=mapasp( step=250 wlm)) 5 r.colors map=splines rules=grey 15 print(xy) 6 16 dev.off() 7 17 8 # CREAR MAPA DE VORONOI 18 #Importar valores reales wlc 9 g.remove rast=rvorwle vect=clvorwle, 19 wlc<-read.csv("wlc.csv",sep=";",dec=".", vorwle header=TRUE) 10 v.voronoi input=wle ouput=vorwle 20 11 v.clean input=vorwle output=clvorwle 21 #Importar los valores estimados en GRASS type=boundary,line,centroid,area 22 idw<-read.csv(file="˜/geo/r/mapasgrass/ tool=break,rmdupl,snap idw.values.asc",sep="|") 12 g.region vect=clvorwle 23 vor<-read.csv(file="˜/geo/r/mapasgrass/ 13 r.colors map=rvorwle rast=splines voronoi.values.asc",sep="|") 14 24 splines<-read.csv(file="˜/geo/r/ 15 # CREAR MAPA IDW mapasgrass/splines.values.asc",sep=" 16 g.remove rast=idw vect=idwcontour |") 17 v.surf.idw input=wle output=idw col=u 25 18 r.colors map=idw rast=splines 26 # #Mostrar medias, varianzas y demas.... 19 r.contour input=idw output=idwcontour 27 Desv<-function(datos){sqrt(var(datos))} step=250 28 CS<-function(V){sum((V-mean(V))ˆ3)/( 20 length(V)*Desv(V)ˆ3)} 21 # GENERAR MAPAS PS 29 K<-function(V){sum((V-mean(V))ˆ4/length( 22 ps.map input=splines.psmap output= V))/Desv(V)ˆ4-3} splines.ps 30 CV<-function(V){Desv(V)/mean(V)} 23 ps.map input=voronoi.psmap output= 31 voronoi.ps 32 datos<-list(wlc$V,vor$value,idw$value, 24 ps.map input=idw.psmap output=idw.ps splines$value) 25 33 print("Resumen") 26 # EXPORTAR A CSV 34 print(lapply(datos,summary)) 27 r.to.vect input=idw output=idw feature= 35 print("Varianza") point #convertir a puntos 36 print(lapply(datos,var)) 28 r.to.vect input=splines output=splines 37 print("Desviaci´n T´pica") o ı feature=point #convertir a puntos 38 print(lapply(datos,Desv)) 29 r.to.vect input=rvorwle output=voronoi 39 print("Simetr´a") ı feature=point #convertir a puntos 40 print(lapply(datos,CS)) 30 41 print("Apuntalamiento") 31 echo "SELECT * FROM idw" | db.select > 42 print(lapply(datos,K)) idw.values.asc #valores 43 print("Coeficiente de Variaci´n") o 32 echo "SELECT * FROM splines" | db.select 44 print(lapply(datos,CV)) > splines.values.asc #valores 45 33 echo "SELECT * FROM voronoi" | db.select 46 postscript("imgs/04/hist %01d.ps",onefile > voronoi.values.asc #valores =FALSE) 34 47 # layout(matrix(1:4,2,2,byrow=TRUE)) 35 #v.out.ascii input=idw output=idw.coor. 48 hist(datos[[1]],main="WLC",xlab="V",ylab asc format=point # si quisieramos

×