Saturday, March 07, 2015

Business Analytics con componente espacial

De manera general, en el mundo de la minería y análisis de datos (Business Intelligence, Business Analytics) se suele trabajar con colecciones de “individuos” sobre los que se tienen distintas observaciones (o variables). Por ejemplo, en un sistema de salud los individuos serían los pacientes y las variables todos los datos que sobre cada paciente sean relevantes para su historia clínica o más en especial la prevención o tratamiento de una determinada enfermedad. Con este tipo de técnicas de BI se pueden realizar clasificaciones (clusters), simulaciones, predecir una determinada variable (recaída en una determinada enfermedad, etc.) y tomar decisiones (prevención, etc.).

Análisis espacial
Cuando introducimos en el análisis la componente “espacial”, el “hecho” espacial, la localización de un fenómeno, pasa a convertirse en el “individuo” de la colección, ya que dicha localización es el elemento que permite que las distintas variables que se tengan sobre ella converjan sobre un mismo punto que permite relacionarlas.

Para ello, en primer lugar, se debe definir un “terreno de juego” común y conocido para todas las variables que se desean relacionar (correspondiente a un determinado territorio, puede ser toda la superficie de la tierra).

Es decir, toda la información deberá estar referida al mismo Sistema de Referencia Espacial (SRS). Un sistema de referencia muy conocido y aplicable a estos análisis cuando se trabaja a nivel global es el WGS 84 (EPSG:4326), dado que nos ofrece cobertura global y tiene una precisión suficiente que suele ser suficiente en este ámbito.

En segundo lugar, debemos considerar que los fenómenos que se producen sobre la superficie de la tierra y que aportan las variables pueden ser de dos tipos: discretos (el punto exacto donde se ha registrado un accidente de tráfico, por ejemplo) o continuos (por ejemplo la altura o elevación del terreno de un territorio).

Tipos de representación geográfica en GIS
Los sistemas de información geográfica (GIS) utilizan distintas aproximaciones a la hora de representar dichos fenómenos.

Así, para el primer tipo (fenómenos discretos), se utiliza la representación vectorial en la que los distintos “individuos” de una determinada variable (o capa, como en el caso del ejemplo el accidente de tráfico), se representan mediante puntos (un par de coordenadas X, Y), líneas o polígonos.

Para el segundo tipo (fenómenos continuos) se utilizan representaciones que permitan cubrir una superficie continua como por ejemplo las redes de triángulos irregulares (TINs, la base de los videojuegos actuales) o los rasters.

Un raster no es otra cosa que una malla regular de celdas (normalmente de forma cuadrada) que cubren completamente un espacio, que están referidos a un origen geográfico (debemos saber a qué punto de la realidad corresponde algún punto del raster, normalmente su esquina inferior izquierda)  y de cuyas celdas necesitamos conocer cuál es su resolución y extensión (es decir, cuál es el espacio geográfico abarcado por cada una de ellas y por todas ellas en conjunto).

Dentro de un raster, para cada celda conoceremos habitualmente:
  • Un identificador de celda: normalmente un número secuencial que empieza en 1.
  • El número de fila y el número de columna de cada celda: no es imprescindible ya que puede obtenerse si se conoce el identificador (posición) de la celda y el número de filas por celda.
  • El valor de la variable representada.

Ejemplo de ráster: modelo digital de elevaciones.

En el ejemplo anterior, correspondiente a un modelo digital de elevaciones, el espacio objetivo está dividido en celdas, y para cada una de ellas se conoce el valor de la variable altura, que es representable en un mapa asignando un color distinto a cada uno de los valores (o rangos de valores) de altura.

Es decir, cada raster nos permite recoger el valor de una variable dentro de un espacio subdividido en celdas regulares, aportando cada celda el valor de la variable que se puede atribuir al espacio que delimita dicha celda.

Como puede deducirse, la precisión de la información estará condicionada por la resolución del raster (espacio real delimitado por cada celda) ya que todo el espacio comprendido dentro de una celda ha de asumir un mismo valor para la variable.

Asimismo, dependiendo de cuál sea el SRS elegido, las celdas podrán estar definidas en unidades de medida angulares (en sistemas de coordenadas geográficas) o en unidades lineales (en sistemas de coordenadas proyectadas).

Es frecuente el uso de rasters basados en celdas cuyo extensión se define en unidades de medida angular (esto equivale a realizar una proyección Plate Carrée en el raster resultante) ya que facilitan el trabajo a nivel global. Nótese que en ese caso debe asumirse la variabilidad de la resolución de las celdas dado que la distancia lineal de un grado de longitud en el Ecuador y en los Polos no es la misma (siendo cero en los Polos).

No obstante lo anterior, los raster permiten relacionar espacialmente distintas variables de manera directa e inmediata ya que, dadas dos variables referidas al mismo espacio (espacio definido por el raster, es decir, origen, extensión y resolución) la relación espacial de ambas la obtendremos a través del número de celda al que pertenecen, esto es, podemos decir que el número de celda nos define el “individuo” (que en este caso es la porción de espacio definida por la celda) y sobre él podremos agrupar y relacionar los distintos valores de las distintas variables que se tengan sobre él.

Por tanto, un raster puede reducirse a una colección de valores numéricos y literales (datos alfanuméricos), y un conjunto de rasters puede entenderse como una matriz o tabla, en la que cada fila se corresponde a cada una de las celdas (identificada mediante un número único que facilita los procesos posteriores) del raster y en la que cada columna representa cada una de las variables obtenidas de cada uno de los raster originales.

El identificador de celda, fila y columna los podemos considerar variables aportadas por un raster base que nos define el espacio o “terreno de juego”.

A partir de aquí,  se podrán aplicar técnicas de análisis tradicionales y las herramientas del ámbito del BI como pueden ser Stata o el lenguaje y herramientas de código abierto R (http://www.r-project.org) sobre dichas tablas o matrices de datos alfanuméricos.

Descripción del proceso
Se describe a continuación los pasos principales para realizar un análisis de distintas variables referidas al espacio con la aproximación raster:
  1. Deberá definirse un “terreno de juego” común, es decir un raster base que abarque todo el espacio objetivo del análisis y que tenga la resolución necesaria. Al tratarse de un espacio geográfico su origen y tamaño de cada celda deberá estar referido a un determinado SRS. Necesitaremos también una representación vectorial de dicho raster para el tratamiento de la información vectorial de la que dispongamos: por cada celda de nuestro raster tendremos un polígono que delimite su extensión que tendrá como atributos (o campos temáticos) el identificador de la celda (y opcionalmente sus coordenadas de fila y columna).
  2. Todas las fuentes de información deben estar referidas al mismo SRS que el raster base para lo cual se deberán realizar las transformaciones necesarias mediante el uso de herramientas GIS como QGIS.
  3. La información vectorial deberá rasterizarse, es decir, deberemos obtener una capa raster por cada variable de las capas vectoriales que dispongamos. Esto puede hacerse mediante análisis espacial, concretamente por intersección de las capas vectoriales y la capa raster base representada en forma vectorial. Debemos tener en cuenta que un mismo fenómeno representado vectorialmente puede solapar con varias celdas de nuestro raster base. En este caso no es preciso que el raster resultante esté en un formato GIS, basta con tener el resultado alfanumérico que nos indique cuál es el valor que le corresponde a cada celda del raster, siendo inicialmente dos los valores posibles: que en dicha celda exista intersección con la capa vectorial o que no. Estos valores pueden incrementarse con los dos distintos valores de los atributos (campos temáticos) de la capa vectorial original.
  4. La información raster que dispongamos puede requerir transformación en caso de que su resolución no sea la misma que la del raster base. En caso de que la resolución sea mayor que la del raster base se realizará un proceso de generalización. En caso de que sea menor se tendrá que asumir la resolución de la fuente original.
  5. Una vez se tenga toda la información en formato raster y referida al mismo raster base se deberá exportar a un formato alfanumérico admitido por los programas de BI / análisis estadístico.
  6. Se realiza el proceso de análisis estadístico multi-variable siguiendo las técnicas de análisis tradicionales.
  7. El resultado del análisis, se podrá representar en un mapa. Ejemplo: si como resultado del análisis se ha predicho el valor de una nueva variable, dicha variable estará referida a una celda y podrá ser representado en un mapa en forma de raster. Para ello pueden utilizarse las capacidades de ploteo de los paquetes de BI mencionados o se podría exportar la variable a un formato raster o vectorial (raster vectorizado) comprensible por un GIS.

Sunday, February 15, 2015

Inspección de datos GIS

Existen proyectos de implantación de nuevos sistemas informáticos en los que es necesario realizar una migración de datos existentes en sistemas anteriores. En estos procesos es posible que se tenga que contar también con nueva información resultante de un proyecto de actualización o mejora general del sistema.

Para ello tendremos que entender la naturaleza de los datos que tendremos que migrar o integrar en el nuevo sistema. Esto implica:
  • Conocer el medio físico del que obtendremos los nuevos datos: bases de datos, ficheros, etc.
  • Conocer el significado de la información y cómo se ha estructurado e implementado: entidades, tipos de datos y las relaciones lógicas entre las entidades.
Para ello, además de toda la documentación de la que podamos disponer, necesitaremos inspeccionar los datos, de manera que podamos asegurarnos de la validez de la documentación (si la hay) y resolver dudas concernientes a la realidad de los datos, su semántica y calidad.

Del resultado de la inspección se podrá obtener un conocimiento más preciso de los datos de partida que se traducirá en decisiones relacionadas con la estrategia de carga de los datos y con las acciones necesarias para la corrección, transformación y mejora de los datos para su correcto encaje en el nuevo sistema.

Para ello haremos uso de herramientas como clientes de consulta SQL para chequear la información existente en bases de datos, visores de hojas de cálculo, editores de texto o la herramienta que mejor se ajuste al medio en cada momento.

En el caso de un GIS (Sistema de Información Geográfica) la necesidad de inspeccionar los datos es la misma pero se han de utilizar técnicas y herramientas acordes a la naturaleza de la información que se maneja, esto es, la información geográfica.

Para ello es habitual el uso de herramientas de escritorio que permiten la consulta de diversos orígenes de datos como:

  • Bases de datos geográficas: Oracle, SQL-Server, Postgres/PostGIS son ejemplos de bases de datos relacionales con soporte a tipos de datos espaciales.
  • Ficheros con información geográfica: Shapefiles, KML/KMZ, etc.
  • Servicios interoperables OGC: WMS, WFS,  etc.

Existen una amplia variedad de herramientas comerciales y de código abierto entre las que se encuentran:

  •  QGIS: basado en C++, muy completo a día de hoy y sigue creciendo con una amplia base de desarrolladores.
  • uDig GIS: basado en java, más sencillo pero funcional y muy recomendable para adentrarse en este mundo y para ser integrado en aplicaciones basadas en java.
Además de estas herramientas específicas del ámbito GIS seguirán siendo de utilidad las mismas herramientas para la inspección de los datos desde las perspectivas "relacionales" tradicionales.

Metadatos
Por último es importante recordar la importancia que en todo sistema de información deberían tener los metadatos, que en términos sencillos son: datos relativos a los datos. Más aún en el ámbito de la información geográfica en la que parámetros como la precisión, las técnicas de recolección, la frecuencia de actualización, etc., son aspectos clave a la hora de aplicar los datos a la hora de realizar cualquier implantación de sistemas o trabajos de análisis geoespacial (ver estándares de metadatos GIS).