El objetivo de esta sesión es familiarizarse con Gephi, una de las muchas herramientas disponibles para visualizar y analizar redes sociales. Gephi es un programa usado ampliamente y tiene la ventaja de ser de libre acceso. Cuenta con una gran variedad de extensiones para expandir sus funciones, además de contar con una comunidad de usuarios que puede ayudar en caso necesario. También presentaremos Cytoscape, para que conozcas otra opción similar. Aquí encontrarás otras herramientas que pueden ser de tu interés.
PARTE A. RED DE BLUESKY SOCIAL (https://bsky.app/)
Bluesky Social es una red social similar a X (antes Twitter). Para muchos usuarios, bluesky se volvió una alternativa tras los cambios que siguieron a la compra de Twitter por Elon Musk. Aprovecharemos que bluesky aún permite minar datos para generar una red de seguidores y seguidos de una cuenta de tu elección.
Para obtener los datos de bluesky, usaremos el script de R que puedes descargar aquí. Descarga el archivo, ábrelo en RStudio y sigue las instrucciones.
Tras correr el script, tendrás un archivo con extensión "graphml" que consiste en la red generada a partir de los datos de bluesky. Este será el archivo que explorarás en GEPHI durante esta parte de la práctica. Identifica la ubicación del archivo. Si por alguna razón no obtienes el archivo, puedes descargar y usar red_bsky_sandrateles-esmag.bsky.social.graphml pero será más interesante si usas datos de tu propia cuenta o de alguna cuenta de tu interés.
Abre GEPHI
En GEPHI, dirígete al menú en la parte superior izquierda Archivo > Abrir
Navega en tu computadora hasta la ubicación del archivo graphml que generaste en el punto 1, selecciónalo y elige abrir.
Se abrirá una ventana con características de la red que vas a abrir incluyendo "Tipo de grafo", que debe decir "Dirigido", el número de nodos y de vínculos de la red. Acepta y continúa.
Inicialmente es posible que veas la visualización sobrelapada (nodos superpuestos) formando un sólo punto o un cuadro, así que vas a manipular un poco la distribución para verla mejor. Para eso dirígete a la parte inferior izquierda de la ventana en el panel de "Distribución". Busca en la lista desplegable que dice "---Elige una distribución" y selecciona la que dice "Yifan Hu". Una vez seleccionada, presiona el botón "Ejecutar" ahí mismo para que entre en acción el algoritmo de distribución. Cuando la distribución te permita ver los nodos puedes presionar "Parar" para que los nodos dejen de moverse o esperar a que el algoritmo se detenga solo. Observa las opciones debajo del botón ejecutar y modifica el parámetro "Fuerza relativa" de 0.2 a 0.1. Vuelve a presionar el botón "Ejecutar" y observa cómo cambia la distribución. Presiona "Parar" o deja que se detenga y repite la operación, ahora eligiendo la distribución "Force Atlas 2". Puedes jugar con otros algoritmos de distribución hasta encontrar una distribución que te guste. Aquí más información sobre los distintos tipos de "layout" disponibles en Gephi. Dependiendo del tamaño de tu red (si tiene miles de nodos) y del procesador de tu computadora, es posible que algunos algoritmos funcionen muy lento. Te puedes apoyar de los tutoriales de visualización y distribución que encuentras en este video en español. También te puede servir esta guía rápida de inicio de GEPHI. OJO: GEPHI no tiene función para "deshacer" o regresar en los algoritmos.
Explora la red manualmente, moviendo los nodos para notar cómo se ven sus vínculos, su posición en la red y la estructura que surge del patrón general de vínculos entre los nodos.
Ahora dirígete al panel "Apariencia" que se encuentra encima del panel de Distribución. Debajo de la pestaña "Apariencia" verás las opciones "Nodos" y "Aristas". Presiona la opción Nodos y explora las posibilidades de este panel para ver cómo modifican la apariencia de la red. Después explora las opciones para "Aristas". Puedes apoyarte en este video tutorial para cambiar el color de los nodos, el de las aristas y poner etiquetas a los nodos.
Posiblemente notarás que esta red tiene muchas "hojas", es decir, muchos nodos que sólo están conectados a un nodo (nodos seguidos o seguidores de un nodo que no son seguidos/seguidores de nadie más de la red. Revisa este video o este sobre los filtros en Gephi y úsalos para filtrar los nodos con grado igual o menor a 2, es decir, para quitar los nodos que tienen menos de 3 vínculos.
Una vez filtrada la red vuelve a jugar con los algoritmos de distribución para ajustar la visualización.
Busca la manera de ver etiquetas de los nodos usando el nombre de los usuarios como la etiqueta. En los algoritmos de distribución, explora la opción "Ajuste de etiquetas".
Explora otros controles del programa incluyendo el panel de "Previsualización" que encontrarás en la parte superior derecha junto a las barras de "Vista general" y "Laboratorio de datos". Nota cómo te permite manipular características como el grosor y forma de las aristas (cada vez que modifiques algo desde este panel debes apretar el botón "Refrescar" para que se apliquen los cambios). Juega un poco con las opciones que vayas encontrando hasta generar una visualización que te guste. Cuando la tengas, dirígete a la parte superior izquierda en la pestaña Archivo > Exportar > Archivo SVG/PDF/PNG... y guarda tu red como imagen PNG.
Busca la opción de Laboratorio de Datos en la parte superior derecha y observa la estructura de la tabla de Nodos y de Vínculos. Exporta la tabla de nodos y la de vínculos (en la opción Exportar tabla). Después visualízalas en Excel o el programa de tu preferencia.
Desde Gephi, exporta la red como archivo GraphML (Archivo > Exportar > Archivo de grafo... selecciona el formato GraphML), sobrescribiendo el archivo que tenías antes.
Guarda la sesión de GEPHI de modo que puedas retornar a la misma visualización que tienes ya trabajada: Archivo > Guardar y en la ventana que aparece, selecciona la opción de Archivos Gephi (extensión *.gephi). Usa un nombre distinto al que usaste en el paso anterior.
Cierra Gephi.
PARTE B. RED DESDE DATOS "CRUDOS"
Ahora crea un archivo en formato csv (valores separados por comas) a partir de una hoja de datos como excel (sugerencia: guarda el archivo con el nombre PRACTICA2_vinculos). Coloca la tabla de vínculos que construiste en la Práctica 1 pero sustituye los encabezados “Persona 1” y “Persona 2”, por “Source” y “Target” como se muestra en el ejemplo. Recuerda, en la tabla de vínculos, cada fila corresponde a un vínculo entre dos nodos identificados por un ID (en este caso el nombre de las personas) que se usará para generar la lista de nodos. Acá un ejemplo del resultado esperado:
OJO: procura mantener los mismos encabezados, al menos de las primeras dos columnas (Source y Target).
19. Ahora repite el punto anterior pero, en esta ocasión, guardando la tabla de nodos de la práctica 1, de modo que generes un archivo .csv con un contenido similar al siguiente (sugerencia: guarda el archivo con el nombre PRACTICA2_nodos):
20. Una vez que tengas guardados los dos archivos (PRACTICA2_vinculos.csv y PRACTICA2_nodos.csv), abre Gephi y dirígete al menú en la parte superior izquierda Archivo > Importar hoja de cálculo y navega al archivo PRACTICA2_vinculos.csv para abrir primero los vínculos.
21. Cuando presiones Abrir, se desplegará una ventana de diálogo con una previsualización de la tabla. En la opción Importar como, asegúrate que diga Tabla de aristas y presiona Siguiente.
22. El siguiente cuadro de diálogo que aparece es un Informe de importación indicando información general de la red como el número de nodos y vínculos. Esto permite asegurarnos que el programa está interpretando bien nuestros datos. También permite definir si la red es dirigida o no. En este caso, vamos a considerar que la red no es dirigida así que en la opción Tipo de grafo, elige No dirigido y después elige Aceptar para cerrar el cuadro de diálogo.
23. Dirígete a la barra Laboratorio de datos (parte superior izquierda). Una vez en ese panel, busca debajo de Tabla de datos la opción Nodos. Ahí podrás ver desplegada la lista de nodos de la red.
24. Ahí mismo busca la opción de Importar hoja de cálculo y selecciónala. Se abrirá una ventana para explorar tu computadora. Selecciona el archivo PRACTICA2_nodos.csv.
25. Nuevamente se abrirá un cuadro de diálogo similar al que viste con la lista de vínculos. Ahora asegúrate de que la opción Importar como diga Tabla de nodos. Si todo se ve en orden, selecciona la opción Siguiente para continuar. En la siguiente ventana sólo asegúrate que estén seleccionadas todas las columnas y presiona Terminar. Estas corresponden a los atributos de los nodos para la red.
26. De nuevo verás el cuadro de diálogo Informe de importación que debe reportar 0 aristas, pues estamos importando una tabla de nodos. Aquí busca la opción de Añadir al espacio de trabajo existente y selecciónala para que el programa sepa que la lista de nodos corresponde a los vínculos que ya habías importado (de lo contrario el programa creará un nuevo espacio de trabajo como si fuera información de una nueva red). Finalmente, vuelve a seleccionar No dirigido en la opción Tipo de grafo y Aceptar para finalizar el diálogo.
27. Ahora revisa la tabla de nodos y asegúrate que sigue habiendo sólo 10 nodos. OJO: si alguno de los nombres estaba escrito de manera distinta en la tabla de vínculos que importaste con respecto a la tabla de nodos, GEPHI los identificará como nodos distintos. Si esto sucede, regresa a los archivos .csv, homogeneiza los nombres de los nodos para que estén igual en ambos archivos (por ejemplo, revisa que no haya espacios al final del nombre en uno y en el otro no) y vuelve al inicio de la sección (tras haber cerrado GEPHI).
28. Modifica las opciones para visualizar la red y explora cómo puedes agregar datos sobre los nodos o los vínculos, en las tablas correspondientes.
29. En la tabla de vínculos, agrega un atributo más a los vínculos.
30. A cada nodo de esta red, asígnale una identidad de género y edad.
31. Utiliza los atributos de los nodos para representarlos en la visualización. Establece el color de los nodos de acuerdo con la identidad de género.
32. Define una visualización que te parezca informativa.
33. Una vez que tengas la visualización deseada, guarda la imagen.
34. Desde Gephi, exporta la red como archivo GraphML (Archivo > Exportar > Archivo de grafo... selecciona el formato GraphML).
35. Guarda tu sesión de trabajo en Gephi (Archivo > Guardar > el archivo se guardará en formato .gephi y cuando lo abras se verá exactamente igual que antes de cerrarlo).
OJO: Puedes revisar la sección de Software para el curso en este sitio. Al final, donde se menciona GEPHI, encontrarás enlaces a más videos tutoriales que te pueden ser de utilidad.
VISUALIZACIÓN DE REDES EN CYTOSCAPE
Si aún no lo haces, dirígete al final de la sección de Software para el curso y descarga e instala Cytoscape. Se trata de un programa concebido originalmente para visualizar redes de regulación genética, pero puede usarse para analizar redes en cualquier sistema. Además, tiene la ventaja de ser de libre acceso, cuenta con una gran variedad de accesorios (apps) para expandir sus funciones y hay una gran comunidad de usuarios que puede ayudar en caso necesario.
36. Abre Cytoscape
37. En Cytoscape, abre la red de bluesky que guardaste con formato GraphML usando GEPHI. Para esto usa el menú File > Import > Network from file…
38. En la ventana que se abre a continuación, selecciona el archivo GraphML. Cytoscape reconocerá ese archivo como una red.
38. En ocasiones parecerá que ves sólo un nodo porque todos aparecen superpuestos sobre uno. Si es así, hay que separarlos de forma que se vean todos los nodos y los vínculos. Ve al menú Layout y selecciona “Apply preferred layout” o presiona el botón con dos flechas en círculo. Ahora puedes ver los nodos separados de forma que los menos conectados se encuentran más en la periferia de la red.
40. Explora la relación entre la red visualizada y las tablas que aparecen abajo (Node, Edges y Network). Observa cómo puedes seleccionar nodos o vínculos manualmente en la red y cómo se actualizan las tablas correspondientes.
41. Explora cómo puedes modificar diferentes aspectos de la visualización, en la pestaña “Style”. Observa los estilos predeterminados para la visualización y sus diferencias. Observa cómo cada aspecto puede depender de variables específicas incluidas en las tablas.
42. Nota las tres pestañas en la parte inferior del panel Style: Node, Edge, Network, Table. Elige la opción Node y explora las opciones para cambiar el color y la forma de los nodos. en la opción Edge ahora modifica el tipo de línea de los vínculos.
43. Juega con las opciones y una vez que llegues a una visualización deseada, exporta tu red como una imagen hacia un directorio conocido en la computadora (File > Export > Network to Image...) para incluir en tu reporte. Procura que la imagen muestre etiquetas de nodos, los nodos coloreados de algún color distinto al default y con una forma distinta a rectángulos.
-------------------------------
Para profundizar
Si terminas y quieres explorar más: prueba usar Gephi o Cytoscape para explorar alguna de las redes disponibles en este sitio de la Universidad de Michigan o en el Colorado Index of Complex Networks.
-------------------------------
REPORTE (a entregarse a más tardar el 26 de febrero al correo: curso.ars.unam.2020@gmail.com)
El reporte de esta práctica debe incluir:
Portada que incluya nombre y número de la práctica
Una breve introducción del tema de la práctica
Una breve descripción de la actividad que se desarrolló
Imágenes de las dos redes generadas en Gephi: red de bluesky y red "de cero", con una breve descripción de lo que son nodos y vínculos así como de las características que usaste para la visualización (eg. color, tamaño, grosor).
Imagen de la red de bluesky generada con Cytoscape mostrando etiquetas de nodos. Los nodos deberán tener un color distinto al default y con una forma distinta a rectángulos. También cambia el color de los vínculos. Añade una descripción de cada uno de los elementos mostrados en la red.
Una breve conclusión.