En esta práctica continuaremos con el uso de Gephi y un poco de Cytoscape. Utilizaremos las funciones que tiene disponibles para cuantificar diferentes aspectos estructurales de la red y mostrarlos en la visualización.
IMPORTAR LISTA DE VÍNCULOS Y TABLA DE NODOS
Descarga el archivo juego_1.xlsx y ábrelo en excel para ver su estructura. Se trata de una pequeña lista hipotética de vínculos indicando también el peso de cada vínculo (ese peso puede ser cualquier cosa, por ejemplo, el número de veces que hablan por teléfono a la semana).
Ahora descarga el archivo nodos_juego_1.xlsx que encontrarás aquí y guárdalo junto con el archivo anterior. Esta es una lista de nodos correspondiente a juego_1.xlsx.
Abre Gephi y dirígete a la opción Archivo> Abrir y selecciona el archivo juego_1.xlsx.
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.
En el siguiente cuadro de diálogo asegúrate que esté seleccionada la casilla para importar la columna Weight, de modo que se importe el peso de los vínculos y el programa lo interprete como tal. Después presiona Terminar.
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.
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.
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 nodos_juego_1.xlsx.
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.
Nuevamente 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.
Utiliza los atributos de los nodos para representarlos en la visualización. Establece el color de los nodos de acuerdo con el género y luego, de acuerdo con la escolaridad.
CÁLCULO DE MÉTRICAS
Vuelve al panel de Vista general de la red. Dirígete a la sección del lado derecho en la pestaña que dice Estadísticas y ejecuta algunas de las métricas que vimos en clase. Observa cómo aparecen los valores de las métricas en la tabla de nodos o vínculos (dependiendo de la métrica). En algunos casos te aparecerán ventanas de reporte, indicando los resultados del análisis. Procura identificar algunas métricas globales (propias de toda la red) y algunas locales.
Asegúrate de haber ejecutado la función Grado y Modularidad. Después, dirígete a la sección superior izquierda en la pestaña Apariencia y establece el color de los nodos de acuerdo con los resultados de la modularidad (es decir, de acuerdo con el módulo al que pertenecen) y el tamaño de los nodos de acuerdo con el grado.
Ahora, dirígete al panel de Previsualización. En los controles del lado derecho busca la sección de Aristas y selecciona la casilla para Reescalar pesos. Esto hace que el grueso de las aristas sea proporcional al peso de los vínculos. Cada vez que hagas un cambio en esta sección, debes presionar el botón Refrescar en la parte de abajo para que se actualice la imagen con los cambios. Juega con los valores que definen el grosor mínimo y máximo (Peso reescalado mínimo y Peso reescalado máximo) hasta tener una visualización que deje notar diferencias de peso entre los nodos.
Finalmente, explora los otros controles de la previsualización. Cuando tengas una imagen que te guste, expórtala e inclúyela en tu reporte.
MÉTRICAS EN OTRAS REDES
Para la siguiente sección de la práctica, trabajarás con una red de colaboraciones entre artistas musicales basada en datos de spotify. Para ello usaremos una herramienta desarrollada por Bernhard Rieder de la Universidad de Amsterdam (si te interesa la minería de datos y análisis, puedes ver un poco de su trabajo aquí).
Dirígete a al sitio:https://labs.polsys.net/playground/spotify/
Escribe el nombre de algún artista en la barra del lado izquierdo de la ventana y presiona "go".
Una vez que aparezca y se estabilice la visualización de la red, descárgala con la opción "download network". Esto descargará un archivo en formato gdf. Esta herramienta genera redes donde los nodos representan artistas que han publicado canciones en spotify y los vínculos indican que ambos artistas están "relacionados" de acuerdo con el comportamiento de usuarios (qué tanto escuchan a ambos artistas). Cuando los usuarios consistentemente ponen a ciertos artistas en las mismas listas de reproducción o frecuentemente escuchan de manera sucesiva, el programa identifica estos patrones y los asocia a similitudes. Aquí puedes ver un poco más de información sobre esto y otros datos que se descargan con la red.
Abre Gephi y luego abre el archivo de la red de spotify que acabas de descargar.
Explora un poco los algoritmos de distribución, para modificar la visualización (puedes repasar los pasos de la práctica 2).
Ahora concéntrate en analizar diferentes propiedades de la red, utilizando las distintas métricas disponibles en la pestaña de Estadísticas en la Vista General.
Al igual que antes, utiliza algunas métricas generadas para modificar la visualización de la red. Por ejemplo, modifica el tamaño de los nodos de acuerdo con su centralidad por eigenvector (centralidad por vector propio), su centralidad por intermediación (betweenness centrality; en gephi se calcula junto con el diámetro) y el número de seguidores y mira cómo cambian los patrones que se ven en cada caso.
Una de las características que generan mucho interés en el análisis de redes es la identificación de subconjuntos de nodos más conectados entre sí que con el resto de la red (comunidades o módulos). Como vimos en clase, esto se puede cuantificar de distintas maneras. Ejecuta la modularidad en Gephi y revisa el informe para identificar qué algoritmo utiliza.
Calcula varias veces la modularidad, cambiando el valor de Resolución en la ventana del análisis. Explora cómo cambian los resultados cada vez (valor de modularidad, número de módulos, tamaño de los módulos).
Manipula las métricas y la visualización para generar una red donde el tamaño de los nodos indique alguna medida de centralidad y el color de los nodos indique el módulo al que pertenecen. Guarda una imagen de esta visualización para incluirla en tu reporte (Imagen 1 de la red de spotify).
Revisa este video sobre los filtros en Gephi y úsalos para identificar el número y porcentaje de nodos y vínculos incluidos en el componente gigante de tu red, así como el número y porcentaje de nodos y vínculos que quedan en la red si filtras los nodos con grado menor a 10 (aquí otro video, en este caso en español).
Genera una nueva visualización que te parezca informativa (explora distintas disposiciones de los nodos en la pestaña Layout; puedes apoyarte en este tutorial). Aprovecha lo que ya conoces sobre cómo manipular estilos y las métricas calculadas.. Aquí más información sobre los distintos tipos de "layout" disponibles en Gephi.
Exporta la tabla de Nodos (en Laboratorio de Datos > Nodos>Exportar tabla) en formato .csv. Esta tabla te puede facilitar el análisis de algunas métricas en programas distintos a Gephi.
Exporta la red (sin filtrar) como archivo con formato GraphML y guárdala en un directorio conocido para usarla más adelante.
Una vez exploradas las métricas y visualizaciones, exporta la red filtrada que trabajaste, primero como imagen para incluir en tu reporte (Imagen 2 de la red de spotify).
Abre el archivo GraphML (que generaste en el paso 29) en Cytoscape.
Ahora explora las funcionalidades básicas de análisis que ofrece Cytocape. Revisa las tablas de nodos y vínculos en cytoscape. A continuación, utiliza la función Tools > Analyze network. Deberás especificar si la red es dirigida o no. Posteriormente, verás que se calculan diversas métricas incluyendo varias de las que hemos visto en clase (detalles aquí); observa los datos que se añaden a la tabla de nodos y de vínculos. En la página de ayuda, revisa en qué consiste la distribución de grado "Degree distributions".
Vamos a utilizar algunas de las métricas generadas para modificar la visualización de la red. Primero modifica el tamaño de los nodos de acuerdo con su coeficiente de acumulación local (clustering coefficient). Para ello, dirígete a la pestaña "Style" que se encuentra en el costado izquierdo. En la parte inferior asegúrate de que está seleccionada la opción "Node". Ahora asegúrate de seleccionar la casilla que dice "Lock node width and height" en la parte inferior de las opciones de esa pestaña. Esto hace que se mantenga la relación de tamaño entre el ancho y alto de la figura del nodo. Ahora dirígete a la fila "Size" (tamaño). Selecciona el cuadro de en medio, en la columna de encabezado "Map". Debajo aparecerán las filas "Column" y "Mapping type". Da click en la opción Column y selecciona la variable clustering coefficient. Ahora en la opción de Mapping type selecciona "Continuous mapping".
Manipula las métricas y la visualización para generar una red donde el tamaño de los nodos indique el coeficiente de acumulación.
Modifica el grosor de los vínculos para que represente los valores de la columna "Edge Betweenness" en la tabla de vínculos. Además, puedes presentar otras métricas en la red.
Una vez exploradas las métricas y visualizaciones, genera una visualización que, además de los dos puntos anteriores, presente una distribución distinta a las dos imágenes previas y modifica la forma de los nodos. Luego exporta la imagen (File > Export > Network to Image...) para incluirla en tu reporte (Imagen 3 de la red de spotify).
Considerando tu exploración de la red de spotify en gephi y cytoscape, presenta una descripción de sus propiedades estructurales d incluyendo:
a) Breve explicación de qué es la red (¿qué sistema está representando? ¿qué son los nodos y qué son los vínculos?).
b) ¿Es binaria o con pesos?
c) ¿Es dirigida o no dirigida?
d) Número de nodos
e) Número de vínculos
f) Número de componentes conectados
g) Número y porcentaje de nodos en el componente gigante
h) Número y porcentaje de nodos y vínculos en la red si se filtran los nodos con grado menor a 10
i) Densidad de la red
j) Grado promedio, grado mínimo y grado máximo. Si es pertinente, presenta la fuerza promedio, mínima y máxima.
k) Coeficiente de acumulación promedio (clustering coefficient).
l) Diámetro de la red.
m) Camino más corto promedio
n) Número de módulos identificados (explicando si usas pesos o no y el valor de resolución usado) y número de nodos por módulo (esto último se puede presentar como gráfico).
-------------------
REPORTE (entregarse el 6 de marzo por correo electrónico antes de las 8:30 pm)
El reporte de esta práctica deberá incluir:
Imagen de la red "juego" de la primera sección donde le color de los nodos representa el módulo y el tamaño representa el grado.
Imagen 1 de la red spotify mostrando alguna medida de centralidad representada en el tamaño de los nodos y donde el color de los nodos indica el módulo al que fueron asignados de acuerdo con el análisis (especifica los parámetros del análisis de modularidad que usaste).
Imagen 2 de la red de spotify, mostrando la red una vez filtrados los nodos con grado menor a 10 y una visualización con características distintas a las del paso 2.
Imagen 3 de la red de spotify, ahora generada en Cytoscape.
Descripción cuantitativa de la red de spotify incluyendo los aspectos indicados en el paso 37.
Descripción de la distribución de grado "Degree distribution" presentada en cytoscape.
Recuerda, para cada imagen que presentes incluye una descripción de lo que se observa en la visualización (qué métricas están representadas).