Investigación abierta y reproducible, narrativas computacionales y visualización de datos

27 views
Skip to first unread message

Offray Vladimir Luna Cárdenas

unread,
Mar 15, 2016, 11:27:58 PM3/15/16
to Open Data Colombia
Hola :-),

He estado animando a algunas de los participantes en el Data Week 3 a que se vinculen a esta lista y se hagan más activos dentro de ella. En mi experiencia en distintas comunidades virtuales, esto suele tomar tiempo y uno pasa por algunos periodos de observación silenciosa antes de enviar su primera pregunta o comentario a las listas comunitarias.

Para animarlos aún más, voy a mostrar algo de lo que estoy haciendo en la idea de cuadernos interactivos, que son documentos que combinan texto, gráficas, ecuaciones, algoritmos y/o datos para construir una narrativa o argumento a propósito de un fenómeno (digamos los gastos públicos o el discurso político en Twitter). Suena un poco técnico, pero puede ser algo bien versátil y hasta entretenido. Por ejemplo, acá una captura de pantalla de lo último que estoy haciendo:



Este es un cuaderno interactivo en grafoscopio[1]: El árbol de la izquierda contiene la estructura del documento, con una jerarquía emergente y arbitraria que va surgiendo en la medida en que se explora un problema y se escribe sobre él (pueden ser capítulos, subcapítulos, ideas, párrafos, código). Dicho árbol está compuesto por nodos que esencialmente son de dos tipos: texto o código y cuyo contenido es mostrado el panel del centro. El panel de la izquierda contiene "zooms" a los nodos de código interactivos y puede invocar distintos tipos de objetos: gráficos, bases de datos, tweets, etc.

[1] http://mutabit.com/grafoscopio/

Grafoscopio toma algunas ideas prestadas de otros proyectos y se mueve en el terreno de los cuadernos interactivos al igual que Jupyter[2], Baker[3] o Zeppeling[4], pero agrega algunas ideas propias también y enfoques originales. Su principal diferencia es que es altamente amoldable, pudiéndose cambiar rápidamente para adecuarse a necesidades y visualizaciones específicas (ejp [5]) y contrario a la tendencia popular no se ejecuta en un navegador (aunque podría publicar en la web), sino que es totalmente autocontenido y se podría ejecutar desde una memoria USB, máquinas modestas o poderosas.

[2] http://jupyter.org/
[3] http://beakernotebook.com/
[4] http://zeppelin.incubator.apache.org/
[5] http://mutabit.com/offray/blog/en/entry/sdv-infomed

Imagino a grafoscopio como una herramienta que es usada por gente que quiere contar historias y argumentar de modo diferente, usando una combinación de los recursos antes mencionados (prosa, código, datos, visualizaciones, ecuaciones) en lo que se llama investigación abierta y reproducible (ya sea periodísitca, activista y/o académica). Algunos trozo de tales historias se pueden volver apps/portales/applets con interacciones preconfiguradas, específicas y sencillas, pero la intensión es brindar textos completos sobre asuntos complejos que pueden ser leídos por niveles y por diferentes públicos.

Bueno, ya me estoy extendiendo demasiado y no sé si esto desaliente más de lo que aliente :-P. Lo cierto es que si tienen preguntas o comentarios sobre estos temas o proyectos (o sobre otros), o una nueva idea, por embrionaria que sea, les animo a que escriban acá para contárnosla. Espero que al menos la captura de pantalla les cause algo de curiosidad y anime la conversación en esta lista (así no sea sobre Terminator! o su anti-precuela: grafoscopio :-P).

Hasta pronto,

Offray

digitalfredy

unread,
Mar 16, 2016, 9:20:18 AM3/16/16
to Offray Vladimir Luna Cárdenas, Open Data Colombia
Hola todos

Me parece clave destacar que de las personas que asistimos al DataWeek3 algunos estamos interesados en continuar con el tema de los datos abiertos y las visualizaciones, tal vez no hay claridad en qué hacer pero por sugerencia de Offray vamos a hacerlo desde aquí e integrarnos con ustedes.

Yo me llamo Fredy y luego de usar los datos de Cobra creo que es importante hacer un conjunto de scripts para limpiarlos, especialmente las cifras pues aunque en el taller limpiamos una columna del CSV pero cualquier otra persona que quiera hacer visualizaciones con los números podría lograrlo más rápido si las cifras están limpias.

Aunque no se programar quiero esta semana intentar hacer un script en python para tal fin, si lo logro compartiré los resultados en la lista.

Respecto al tema de visualización no sé si podemos con libertad plantear las preguntas de grafoscopio aquí.

Abrazos

David Przybilla

unread,
Mar 16, 2016, 11:06:10 AM3/16/16
to digitalfredy, Offray Vladimir Luna Cárdenas, Open Data Colombia
Como sugerencia de lectura [1], en UK hace un par de anios se destapo un escandalo de gastos, como sugiere la lectura haber convertido el dataset de gastos en un articulo alrededor de un infografico no habria revelado nada.

El punto clave fue buscar historias puntuales en los datos.

De nuevo felicitaciones por poner crear equipos multidisciplinarios :) 



--
Has recibido este mensaje porque estás suscrito al grupo "Open Data Colombia" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a opendataco+...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a opend...@googlegroups.com.
Para ver este debate en la Web, visita https://groups.google.com/d/msgid/opendataco/727A9103-0410-4E8D-BB80-333FF87F134D%40gmail.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

Offray Vladimir Luna Cárdenas

unread,
Mar 16, 2016, 12:23:36 PM3/16/16
to opend...@googlegroups.com
Bienvenido Fredy!

Algunos comentarios entre líneas más abajo.

On 16/03/16 08:20, digitalfredy wrote:
> Hola todos
>
> Me parece clave destacar que de las personas que asistimos al DataWeek3 algunos estamos interesados en continuar con el tema de los datos abiertos y las visualizaciones, tal vez no hay claridad en qué hacer pero por sugerencia de Offray vamos a hacerlo desde aquí e integrarnos con ustedes.

Gracias por aceptar la invitación a participar de esta comunidad. Fredy
es un viejo amigo (no por la edad, sino por el tiempo de conocernos :-P)
y compañero de esta y otras luchas (el software libre, los derechos en
Internet, desde el colectivo RedPaTodos) y compadre.

> Yo me llamo Fredy y luego de usar los datos de Cobra creo que es importante hacer un conjunto de scripts para limpiarlos, especialmente las cifras pues aunque en el taller limpiamos una columna del CSV pero cualquier otra persona que quiera hacer visualizaciones con los números podría lograrlo más rápido si las cifras están limpias.
>
> Aunque no se programar quiero esta semana intentar hacer un script en python para tal fin, si lo logro compartiré los resultados en la lista.

El tema de limpieza de datos es clave. Si bien estamos haciendo la
limpieza orientados por la visualización que queremos hacer, la limpieza
es estructural en el sentido que los datasets que vamos publicando (ejp
[1]) ya los tienen limpios, para nuestra visualización o cualquier otro
uso. Me parece chévere la idea del script en python, aunque después de
ver lo sencilla que fue con SQLite, yo seguiré por ahí. Hay formas de
combinar SQLite con Python en el trabajo con datasets grandes[2][3], por
si te interesa. Después de haber visto la charla de Richard Hipp "SQLite
as an Application File Format"[4] (que recomiendo sobre manera!), creo
que usarlo como "formato" para publicar los datos e incluso limpiarlos y
republicarlos de vuelta puede ayudar con la idea de frictionless
data[5][6] que presentamos en el taller, democratizando la participación
y sin entrar en complejidades técnicas de lo NoSQL los "big data" y el
"next trending topic" :-P. La ventaja del script es que hace la
extracción y limpieza trazable, con lo cual se puede mirar qué fue lo
que se hizo a los datos para limpiarlos. Mi idea es dejar esa traza pero
desde grafoscopio, mostrando cómo se extrajeron, como se transformaron
en bases de datos y cómo se limpiaron. Sin embargo voy a ir "hacia
atrás", de las visualizaciones que necesitamos construir a las
interacciones con los datos para que ellas ocurran (incluidas su
importación, limpieza y la trazabilidad de las mismas).

[1]
https://datahub.io/dataset/contratos-publicos-en-colombia-para-licitaciones-publicas
[2] http://sebastianraschka.com/Articles/2013_sqlite_database.html
[3] http://sebastianraschka.com/Articles/2014_sqlite_in_python_tutorial.html
[4] https://www.youtube.com/watch?v=8y_ABXwYtuc
[5]
http://blog.okfn.org/2013/04/22/forget-big-data-small-data-is-the-real-revolution/
[6]
http://blog.okfn.org/2013/04/24/frictionless-data-making-it-radically-easier-to-get-stuff-done-with-data/

> Respecto al tema de visualización no sé si podemos con libertad plantear las preguntas de grafoscopio aquí.

Pues yo diría que si, a menos de que alguien se oponga. Hasta ahora la
lista ha sido de bajo tráfico y como nos damos cuenta, acá hay varios
temas en diálogo: aspectos técnicos, legales, narrativas de datos, etc.
Sugeriría colocar al comienzo algo que indique que el tema, por ejemplo
"[Grafoscopio]" y si vemos que estos temas empiezan a hacer ruido
podemos crear una lista aparte para ellos. Es decir, en prinicipio soy
partidario de la articulación con comunidades más grandes e
interdisciplinarias y luego dividirlas, en caso de ser necesario, de
acuerdo a la actividad que se vaya presentando.

Offray

David Przybilla

unread,
Mar 16, 2016, 1:56:45 PM3/16/16
to Offray Vladimir Luna Cárdenas, Open Data Colombia
Hola Offray, Fredy

En definitiva esta lista es para compartir estas historias. 

Algo que intente hacer con el dataset fue encontrar la entrada de Natalia Springer(que estoy seguro existe  en el raw dump).
Pero no esta en los datos limpios (algun bug?)

Espero darle un vistazo mas a fondo al dataset que ustedes generaron durante el fin de semana.


--
Has recibido este mensaje porque estás suscrito al grupo "Open Data Colombia" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a opendataco+...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a opend...@googlegroups.com.

Daniel Moreno Cortes

unread,
Mar 17, 2016, 5:14:16 PM3/17/16
to Open Data Colombia
Hola,

Aunque no participe en el DataWeek ni he interactuado mucho en el grupo (a pesar de que he estado pendiente de la conversación), aprovecho el empujón de Offray para presentarme, en parte porque tocó un tema que me gusta mucho, investigación reproducible, pero principalmente porque me gustaría involucrarme más y dar visibilidad a algunas cosas que van en el mismo espíritu del grupo.

Me presento: soy Daniel Moreno, soy estadístico y entusiasta de R. Me interesa la estadística computacional y las herramientas abiertas. Mi especialidad estadística son las series de tiempo, pero me interesa la estadística no paramétrica y bayesiana, me gusta la visualización de datos (tema que no se valora mucho desde la formación tradicional en estadística) y me interesa la discusión sobre educación estadística. También soy bueno limpiando datos :P

Sobre algunas cosas en las que he estado involucrado que pueden aportar al espíritu del grupo:

Por un lado como co-organizador del grupo de usuarios de R de Bogotá [1] he dado un par de charlas sobre R [2]. ¿Por qué puede ser relevante esto? Porque creo que R es la mejor opción para no-programadores [3] para hacer análisis y visualización de datos, reportes orientados a datos y demás, incluso es una buena opción para iniciarse en otros lenguajes de programación y en otras herramientas computacionales - la manera más valiosa de pensar sobre R es como una gran interfaz a todo tipo de algoritmos y herramientas.

Respecto a las charlas, con Juan Pablo Marín, recientemente dimos una charla conjunta en el grupo justamente sobre investigación reproducible con R [4], incluyendo cuadernos/documentos dinámicos de R con knitr y RMarkdown [5]. Hay otras dos charlas en las que colabore el año pasado: una puramente introductoria a R [6] y una haciendo un sobrevuelo sobre gráficas en R [7]. Juan Pablo también ofreció una charla introductoria a Shiny [8], el framework web para R orientado al diseño de aplicaciones interactivas orientadas a datos - visualización, analisis, etc.

Por otra parte en un mini-proyecto que iniciamos con un par de amigos, el proceso nos llevo a "empaquetar" algunos datos de interés en R, a saber los datos de las fronteras geográficas de Colombia (para dibujar mapas temáticos rápidamente) [9], datos de las pruebas saber 11 (que ofrece el ICFES de manera abierta a investigadores) [10] y algunos datos de homicidios que habían recopilado y organizado Alejandro Pelaez y Javier Moreno [11].

Espero poder aportar más al grupo con el tiempo (prioridades personales limitan la posibilidad de aportar). Y bueno, cualquier inquietud que tengan de R o estadística o análisis de datos en general pueden preguntarme con confianza!


Notas y enlaces:

[1] http://www.meetup.com/Bogota-R-Users-Group/ - la dinámica del grupo es algo irregular porque no hay muchas personas dispuestas a preparar charlas y los organizadores hemos sido muy pasivos, así que si hacen cosas con R y les gustaría dar una charla bienvenidos! Seria interesante hacer una charla aplicada abierta a todo publico donde se hagan ejercicios de exploración con datos abiertos que vaya produciendo el grupo.
[2] El material de las charlas en las que he colaborado esta en: https://github.com/bogota-r
[3] Para programadores las opciones son muy amplias. Hay una discusión interesante respecto a lenguajes de programación para analisis de datos (soy muy consciente de las grandes limitaciones que tiene R) y ya serán necesidades especificas, preferencias personales y otros contextos pero tanto Python, como R (entre otros) son grandiosos para datos y hay muchas cosas que se pueden aprender del uno y del otro.
[4] https://github.com/bogota-r/reproducible-research
[5] Para los curiosos, la primera parte de la charla fueron ideas generales y una reseña histórica de las ideas alrededor del tema, en particular sobre los orígenes de los documentos dinámicos que yacen en la idea de Literate Programming (en [4] pueden ver enlaces relacionados).
[6] https://github.com/bogota-r/intro
[7] https://github.com/bogota-r/graficas
[8] http://shiny.rstudio.com/
[9] https://github.com/nebulae-co/colmaps - los datos geográficos los tome sin agüero del geoportal que tiene el DANE (http://geoportal.dane.gov.co:8084/geoserver/web/) a pesar de que como se ha discutido no es clara la naturaleza (licencia) de esos datos. Hay un procesamiento ligero para reducir la resolución del mapa y hacer los datos levemente más livianos en el paquete. Por otra parte aprovecho para señalar que el README que se ve en el repositorio, al igual que las presentaciones, están construidas como "cuadernos" de R con RMarkdown.
[10] https://github.com/nebulae-co/saber
[11] https://github.com/nebulae-co/homicidios


Saludos.


Para publicar en este grupo, envía un correo electrónico a opend...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/opendataco/CA%2Bdry3ssFQHOUjauBzTxakti1ZUay-tEiXrZvu93n01ywk2fyA%40mail.gmail.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.



--
Daniel Moreno

Offray Vladimir Luna Cárdenas

unread,
Mar 18, 2016, 1:22:34 PM3/18/16
to opend...@googlegroups.com
Hola Daniel,

Gracias por compartir tu trabajo, intereses y esos enlaces con nosotros. Me gusta mucho la dinámica que va tomando la comunidad y los diferentes enfoques y temáticas que se movilizan desde los datos abiertos. Es chévere que a través de los intereses y experticias podemos dar una mirada panorámica de esas temáticas y ofrecer caminos distintos y complementarios sobre cómo abordarlas.

En la misma línea de investigación reproducible, el proyecto Jupyter, del que les comenté en el correo pasado, está hablando de narrativas computacionales[1], que puedan ir dirigidas a diferentes públicos a pesar de estar contenidas en un mismo "relato"/documento. Antes yo había mencionado algo similar en un borrador de un documento final[2] (de tono ñoño y académico) donde precisamente hablaba que la estructura arbórea de grafosocopio y su lenguaje de dominio específico podría crear tales vistas en un único documento autocontenido, pero orientado a públicos distintos. Esto a su vez recogía y extendía reflexiones previas que hice[3][4] sobre otras formas de escritura que son adecuadas para lo que Fernando Pérez, co-creador líder de IPython/Jupyter llama computación exploratoria.

[1] http://blog.jupyter.org/2015/07/07/project-jupyter-computational-narratives-as-the-engine-of-collaborative-data-science/
[2] http://mutabit.com/repos.fossil/piamed/doc/tip/Libro/libro.pdf
[3] http://mutabit.com/offray/static/blog/output/posts/la-forma-en-que-escribo-para-el-doctorado.html
[4] http://mutabit.com/offray/static/blog/output/posts/on-deepness-and-complexity-of-ipython-documents.html

Pienso que los datos abiertos y el activismo de datos y su visualización precisamente son esa forma de computación exploratoria y reproducible en la que no sabemos lo que vamos a encontrar, pero en la medida en que lo hacemos, queremos que otros puedan rastrear nuestros argumentos y reproducir nuestros hallazgos (o contra-argumentarlos). Bien sea que se use R, Python, Julia, Lua, Smalltalk, (No)SQL ese tipo de forma de argumentar reproducible y computacional está tomando forma y volviéndose la espectativa sobre el "estándar mínimo". Herramientas como Knitr[5] y R Markdown[6] muestran esa tendencia. A propósito viendo el tour rápido [7] recordé este otro flujo de trabajo con R para investigación reproducible en [8] y el mío en grafoscopio [9] :-P

[5] http://yihui.name/knitr/
[6] http://rmarkdown.rstudio.com/
[7] http://rmarkdown.rstudio.com/authoring_quick_tour.html
[8] https://kieranhealy.org/blog/archives/2014/01/23/plain-text/
[9] http://mutabit.com/repos.fossil/grafoscopio/doc/tip/Docs/Imagenes/grafoscopio-workflow.png

Hasta pronto y gracias de nuevo,

Offray
Reply all
Reply to author
Forward
0 new messages