Etiqueta: visualizacion

IronViz #1 2017: Conectando Tableau a Shapefiles

Primer concurso IronViz del año, y a diferencia de los del año pasado donde cada uno tuvo una temática diferente – comida, música y política – esta vez la temática concreta de la visualización ha sido libre, con el único requisito de utilizar una de las nuevas funcionalidades de Tableau 10.2: la conexión a archivos geoespaciales (.shp, .kml, .geojson…).

El primer reto, y tal vez el más complicado, fue encontrar archivos geoespaciales Y datos adicionales para aportar valor a la visualización. En este sentido, mi primera idea era utilizar los archivos disponibles en la página web http://www.iucnredlist.org/ sobre especies amenazadas. El tema me parecía súmamente interesante, pero aparte de los mapas, la página web u otras páginas que he consultado no disponen de datos que sustenten la visualización. Varios intentos más de buscar archivos espaciales + datos de apoyo corrieron la misma suerte, así que decidí cambiar el enfoque de la visualización e ir hacia algo de primeras más sencillo en cuanto a la búsqueda de información, pero con el suficiente nivel de detalle como para que resultara interesante.

Así que finalmente me decidí por centrarme en un tema en el que supiera seguro que podría encontrar shapefiles y datos que aportasen valor adicional. El Instituto de Estadística de la Comunidad de Madrid permite la descarga de shapefiles con las delimitaciones territoriales de toda la Comunidad Autónoma, y la web del Ayuntamiento de Madrid ofrece información demográfico y de estructura de la población a nivel tanto de distrito y de barrio ¿Por qué no combinar ambas fuentes y crear una visualización de Madrid distrito a distrito y barrio a barrio?

Tras decidir el tema vino el segundo reto, y es la general mala estructura de archivos de datos en España. La información por barrio viene en un archivo diferente para cada distrito. Es decir en total 21 archivos con el siguiente aspecto:

Así que lo primero de todo había que hacer una aburrida labor de organización y limpieza de los diferentes archivos. La cual realicé parcialmente de forma manual y en parte utilizando Alteryx. Además, decidí que no era sólo interesante mostrar la información barrio a barrio, sino permitir al usuario cambiar la visualización para ver toda la información por barrio o distrito cambiando entre ambas vistas a través de un parámetro, con lo cual decidí utilizar un segundo archivo geoespacial y incluirlo como una conexión adicional. Este es el aspecto de las distintas bases de datos que he utilizado y como las he unido en Tableau:

Tercer reto: problemas en la unión de los datos generales con el shapefile de distritos debido a varios acentos en el nombre del distrito. Por alguna razón Tableau no identificaba correctamente algunos caracteres (cuando normalmente si lo hace, tal vez sea un problema sólo con shapefiles que se solucione en el futuro). Así que en lugar de utilizar el nombre del distrito, y ante la falta de un identificador numérico en el archivo global de datos para cada distrito, utilicé un cálculo en la unión para crear dicho campo con la función CASE:

Debido a la utilización de distintos archivos de datos de la web del Ayuntamiento de Madrid y al unir toda la información sin poder dedicar demasiado tiempo a la estructura del archivo de datos que era más adecuada, la visualización contiene multitud de campos calculados para obtener en cada caso la información necesaria para cada gráfico.

Tal vez la parte que pueda resultar algo más compleja es la central, con las pirámides de población. Que cuenta con un filtro contextual para separar los distritos y barrios del este de los del oeste. Dos campos calculados para separar de forma dinámica las pirámides de población utilizando small multiples que son los siguientes:

Column = (INDEX()-1)%ROUND(SQRT(SIZE()))                               Row = INT((INDEX()-1)/ROUND(SQRT(SIZE())))

Ambos además calculados en base a un campo calculado adicional enlazado a un parámetro para seleccionar entre distritos o barrios. He utilizado además un cálculo LOD para fijar la distribución de la población total del municipio de Madrid y mostrarla a modo de referencia utilizando líneas. De todas formas toda la visualización se puede descargar desde Tableau Public.

 

Este es el resultado final. Haz click en la imagen para ver la versión dinámica.

Makeover Monday Semana 2

Segunda semana de Makeover Monday. Esta vez analizando datos de ventas cuatrimestrales de iPhone desde la primera versión disponible del teléfono de Apple en 2007. Podeis consultar el artículo original en este enlace y descargar los datos en la web de Makeover Monday en este otro enlace.

Como comenté la semana pasada, para este año me voy a centrar en realizar todas las visualizaciones de Makeover Monday utilizando una única hoja en Tableau, imágenes y texto. Esta semana quería no solo centrarme en la evolución de la cantidad absoluta de iPhone vendidos, sino también en la diferencia cada cuatrimestre respecto al mismo cuatrimestre del año anterior. Este es el resultado (click en la imagen para ver el dashboard):

Aunque las ventas se han estancado en 2016, de hecho es el primer año en el que descienden las ventas cuatrimestrales respecto al mismo cuatrimestre del año anterior, la venta de iPhones sigue siendo muy elevada. Posiblemente la capacidad para seguir creciendo en número de ventas respecto a años anteriores es difícil, pero no parece gozar de mala salud. Además, los últimos modelos «S» (5S y 6S) parece que impulsan en menor medida las ventas que cuando se actualiza de forma más «completa» el teléfono (iPhone 5 o iPhone 6 por ejemplo), por lo que habrá que ver si el nuevo modelo iPhone 7 impulsa en 2017 las ventas o se confirma el estancamiento de las ventas del teléfono de Apple.

Es un dashboard bastante sencillo como se puede comprobar. Para los curiosos, el cálculo de la diferencia porcentual respecto al mismo cuatrimestre del año anterior es el siguiente:

(ZN(SUM([Units sold (in millions)])) – LOOKUP(ZN(SUM([Units sold (in millions)])), -4))

/ ABS(LOOKUP(ZN(SUM([Units sold (in millions)])), -4))

Que no es más que un cálculo de tabla en el que calculamos la diferencia entre el valor actual y el valor 4 posiciones (cuatrimestres) antes, y lo dividimos por el valor absoluto del cuatrimestre del año anterior.

El Reto Makeover Monday

A principios de octubre hablé brevemente del proyecto Makeover Monday. Se trata de una idea de Andy Kriebel y Andy Cotgreave para practicar y mejorar el análisis y la visualización de datos utilizando Tableau.

¿En que consiste Makeover Monday?

Cada domingo se publica en la página web www.makeovermonday.co.uk un enlace a un artículo o noticia que incluya una visualización de datos, y un segundo enlace para descargar los datos.
El objetivo es utilizar Tableau para hacer una visualización que mejore la original. Es una excelente forma de practicar Tableau y disponer de una nueva fuente de datos cada semana sobre temas muy diferentes. Además, la cantidad y variedad de personas que participa cada semana hace que sea también una excelente manera de aprender de otras personas nuevas formas de analizar y visualizar datos.

La buena noticia es que en 2017 el proyecto sigue adelante. Este año con Andy Kriebel (The Information Lab) y Eva Murray (Exasol – si no conoces Exasol te recomiendo que le eches un vistazo a su web).
El año pasado participé varias semanas, y este año quiero no solo continuar sino hacerlo más a menudo. Pero también quiero hacerlo de una manera diferente. Por lo que me he planteado un reto para Makeover Monday 2017.

¿En qué consiste el reto?

El reto es el siguiente: crear una visualización cada semana con los datos de Makeover Monday, pero utilizando unicamente una hoja en Tableau. Al dashboard anadiré texto e imagenes cuando lo considere necesario, pero el dashboard tendrá única y exclusivamente una hoja.
El objetivo es tratar de maximizar la información analizada y los insights descubiertos utilizando el menor numero de gráficos posible. Creo que será una muy buena forma de continuar mejorando en Tableau y, sobre todo, de aprender a buscar la visualización que maximice la información transmitida al lector y centrarme en ser lo más claro y conciso posible.

Makeover Monday – Semana 1

Así que aquí está la primera visualización del año con datos sobre la disparidad de sueldos entre hombres y mujeres en Australia (Haz click en la imagen para ver la visualización interactiva).

 

Cómo crear small multiples en Tableau

Se llama small multiples a una serie de gráficos del mismo tipo usando un mismo eje, de forma que sean fácilmente comparables, permitiendo así visualizar distintas particiones de una base de datos de un solo vistazo. Resultan por tanto especialmente útiles cuando el principal objetivo es comparar datos entre distintos valores de una categoría. Aquí un ejemplo que cree hace unos días de small multiples utilizando pirámides de población en distintos países de Europa (click en la imagen para abrir el dashboard).

¿Cómo crear small multiples en Tableau?

Lo primero es crear la visualización base. En este caso, crearíamos la pirámide de población para un país concreto, Austria por ejemplo, utilizando la variable del país como filtro.

Una vez tengamos la visualización «base», si eliminásemos el filtro anterior, tan solo conseguiríamos crear una pirámide de población acumulada para todos los países. Si arrastramos la variable de país a filas o columnas, tendríamos todos los países en una misma fila o una misma columna. Y si utlizásemos tanto en filas como columnas, tan sólo obtendríamos algo similar a esto, muy lejos de lo queremos:

¿Cómo hacemos entonces los small multiples? Muy sencillo. Necesitamos indicarle a Tableau donde queremos que muestre cada uno de los países sin dejar espacios en blanco entre medias. Para ello te tenemos que crear dos variables que definan la fila y la columna en la que queremos mostrar cada país utilizando la función IF. Este sería por tanto el campo calculado para las columnas:

Y este el campo calculado para las filas:

 

Con estos campos, lo que estamos haciendo es indicar a Tableau donde queremos que situe cada uno de los países asegurando siempre una única posición por país. En mi ejemplo, España ocupará la posición «Columna 1 y Fila 8» en mi matriz. Hay que tener en cuenta también el número de valores totales que tenemos, es decir el número total de particiones (en este caso, 40 países) para elegir una distribución adecuada. En mi caso, al tener 40 países tiene sentido definir 8 filas y 5 columnas (8×5 = 40).
Una vez tengamos estos campos creados, arrastamos ambos desde las medidas a las dimensiones para que en lugar añadir un eje, se comporte como una variable categórica y divida nuestra visualización. A continuación arrastramos el campo «columnas» al estante de columnas, y el campo «filas» al estante de filas (¿quien lo iba a decir verdad? ). añadimos el campo de país a la marca de Detalle (Detail) para poder también añadir cada país a nuestras tooltips y ya tenemos la visualización creada. Tan sólo faltaría añadir una etiqueta para facilitar la identificación de cada país , editar las tooltips y por último ocultar de las cabeceras los valores de las dos variables que hemos creado. Para ello basta con hacer click derecho en la variable «filas» del estante de filas y desactivar la opción Show Header y hacer lo propio con la variable de columnas ¡Así de fácil! Finalmente bastará con añadir la visualización al dashboard y ajustarla al tamaño que consideremos adecuado:

Mucho más sencillo y eficiente que crear 40 visualizaciones y ajustar el tamaño de cada una de ellas manualmente.

La visualización como elemento esencial tras el análisis de datos: 11 libros recomendados

Ayer vi un tweet de Gemma Muñoz haciendo referencia a este post suyo con sus libros recomendados sobre analítica y datos. Varios de ellos ya los conocía al menos de oídas y otros han sido un interesante descubrimiento ya que tienen bastante buena pinta. Especialmente porque no es fácil encontrar buenos libros sobre análisis predictivo y análisis de datos.
Por mi experiencia, la mayoría o son muy generales sin aportar demasiado valor (enfocados a lectores que quieren saber «de que va esto») o son tan específicos que tratan sobre cómo utilizar una versión concreta de un software específico (sin tratar de explicar la lógica detrás de un tipo concreto de análisis: por qué, para qué, etc.). De hecho tengo pensando comprar en los próximos dias varios de los libros que Gemma recomienda confiando en que sean tan buenos como parecen.
Tras un par de tweets, Gemma me pidió alguna recomendación mía. Aunque de primeras tuve la tentación de centrar la recomendación en libros de análitica, tras darle un par de vueltas pensé que sería aún más interesante completar la lista con la parte a la que muchas veces damos menos  (o ninguna) importancia tras el análisis de datos: cómo visualizarlos. En un mundo en el que cada vez estamos más expuestos (y acostumbrados a ver) a datos, gráficos y números, cada vez es más importante saber cómo visualizarlos de la mejor forma posible, que tipo de gráfico funciona mejor en cada caso y como facilitar que el usuario reciba el mensaje que queremos transmitir. Así que aquí va mi lista como complemento de la de Gemma.
Primero algunos clásicos de Stephen Few. Para quien no le conozca, Stephen es desde hace muchos años una eminencia en la visualización y comunicación de datos cuantitativos. Sus libros suelen contar con algunos apartados similares, por lo que posiblemente no es necesario leerse todos ellos y con un par será suficiente. Puede que algunas cosas nos parezcan básicas o evidentes. Pero tener claro que tipo de gráfico utilizar según los datos que queramos presentar, como y por qué es algo que debemos plantearnos constantemente, y son cosas de las que por desgracia practicamente nadie se preocupa:
Now You See It
Show Me the Numbers
Signal
Information Dashboard Design
En seguno lugar, algunos libros adicionales sobre visualización, con algunas pinceladas de teoría del color o cómo capta información el cerebro. Alguno de ellos no está sólo centrado en la visualización gráfica tradicional, sino que también cubre visualizaciones más infográficas más típicas en el periodismo de datos. Dos de ellos son de Alberto Cairo, uno de los mayores expertos en visualización de información que tenemos en España:
The Functional Art
The Truthful Art
Data Points
Storytelling with Data
Y en tercer lugar, algunos libros para comenzar, mejorar y dominar la que para mi es la mejor herramienta para visualización de datos y creación de informes dinámicos y dashboards: Tableau. Especialmente por su facilidad de aprendizaje, reducido coste (incluso con versión gratuita aunque más limitada), una amplia comunidad muy involucrada y ofreciendo funcionalidades adicionales en cada versión:
Tableau Your Data
Learning Tableau
Communicating Data with Tableau
¡A leer!