Una vez modelada la red, el objetivo del ingeniero es extraer conocimiento cuantitativo. ¿Quiénes son los actores críticos? ¿Qué tan robusta es la red ante fallos? ¿Existen comunidades aisladas?
Para responder a esto, utilizamos medidas de centralidad (nivel nodo) y cohesión (nivel red).
8.1 Medidas de Centralidad
La centralidad mide la importancia de un nodo. Sin embargo, “importancia” es un concepto subjetivo. Dependiendo de lo que busquemos (liderazgo, control de flujo, rapidez), usamos distintas métricas.
Sociológicamente nodos centrales identifican líderes, de prestigio, con gran autonomía, que influencian a los que les siguen.
Warning: `graph()` was deprecated in igraph 2.1.0.
ℹ Please use `make_graph()` instead.
plot(g1, layout = layout_with_kk, main ="Red de Ejemplo")
8.1.1 1. Degree (Grado)
Número de arcos conectados a un vértice. Señala la actividad inmediata. * En Ingeniería: Identifica nodos con alta carga de conexiones (ej: un balanceador de carga).
degree(g1)
[1] 5 4 5 3 3 2 1 2 1 2
igraph::degree(g1, mode="in")
[1] 2 3 2 1 2 2 0 1 0 1
igraph::degree(g1, mode="out")
[1] 3 1 3 2 1 0 1 1 1 1
8.1.2 2. Betweenness (Intermediación)
Mide el grado en el que la información fluye a través de un vértice particular y su importancia relativa como un intermediario en la red [@freeman1977].
Cuántas veces un nodo actúa como “puente” en el camino más corto entre otros dos nodos.
Importancia: Describe el potencial de controlar flujos. Nodos con alto betweenness son Puntos Únicos de Fallo (SPOF).
Tip💡 Visión del Analista: Influencia vs. Intermediación
A la hora de diagnosticar una red social estructurada, el investigador debe elegir métricas según la naturaleza del “capital social”: - Elegiremos PageRank (o Eigenvector) cuando el capital social sea sumativo y dependa del prestigio (ej. líderes de opinión, la popularidad te la ceden otros nodos famosos). - Elegiremos Betweenness cuando el capital resida en la capacidad de arbitraje, control de vulnerabilidades estructurales o la posición de gatekeeper (ej. el único traductor entre dos ministerios aislados).
Un ejemplo claro, en una estrella el nodo central se encuentra en los caminos más cortos entre cualesquiera nodos de la red.
Describe el potencial de controlar flujos a través de la red. Nodos con alto “betweenness” tienen gran poder porque pueden parar los flujos de información.
betweenness(g1)
[1] 14 14 25 11 6 0 0 6 0 6
Definición: El número de caminos más cortos que pasan por un nodo dado (medida relativa) - la suma de las longitudes de los caminos más cortos entre otros nodos pasando por el nodo, dividida por las longitudes de camino más cortas (no necesariamente a través del nodo) entre los otros nodos.
8.1.3 3. Closeness (Cercanía)
Definición: Inverso de la suma de las distancias a todos los demás nodos.
Uso: Mide cuántos pasos se requieren para alcanzar el resto de la red. Ideal para ubicar servidores de caché.
Distancia a otros nodos. Un nodo con valor alto de este estimador es más central y puede difundir la información a muchos otros nodos.
Advertencia⚠️ Cuidado: Closeness en Redes Dirigidas
En grafos dirigidos o que no están completamente conectados, la métrica tradicional de Closeness puede llevar a una intepretación engañosa: por defecto, solo calcula la inversa de las distancias a los nodos que puede alcanzar. * Si un nodo (como el 7) solo tiene un arco de salida (al nodo 6), su suma total de distancias es 1. Su closeness será 1 / 1 = 1.0 (el máximo). * Un nodo central (como el 1 o el 3) llega a muchos nodos, sumando un denominador mucho mayor (ej. 12), obteniendo un closeness de 0.08. * Por tanto, en redes dirigidas, el closeness() estándar “premia” erróneamente a los nodos marginales o aislados.
Para solucionar esto, utilizamos la Centralidad Armónica. En lugar de la inversa de la suma, calcula la suma de las inversas de las distancias. Si no se puede alcanzar un nodo (distancia \(\infty\)), suma 1 / Inf = 0, penalizando correctamente el aislamiento y resolviendo el “efecto isla”.
Interpretación: Al ejecutar este nuevo estimador, la paradoja desaparece. El nodo 7, que solo llega a un vecino, obtiene un valor modesto (1.0). Por el contrario, los nodos verdaderamente hiperconectados como el nodo 1 o el 3 obtienen las puntuaciones más altas de centralidad armónica, reflejando fielmente su poder difusor real en la red.
8.1.4 4. Eigenvector e Importancia Relativa
No todas las conexiones valen lo mismo. Esta métrica puntúa más a quienes están conectados a nodos que ya son importantes.
La medida Eigenvector Centrality [@bonacich1987] se calcula como el autovalor de mayor módulo de la matriz de adyacencia que contiene los pesos.
a high score to vertices that either have a lot of connections, or are connected to someone with a lot of connections
Diámetro: El camino más corto más largo entre cualquier par de nodos. Indica la latencia máxima de propagación.
Distancia Geodésica: El menor número de saltos para conectar dos nodos específicos.
diameter(g1)
[1] 6
shortest_paths(g1, from="1", to="10")$vpath
[[1]]
+ 3/10 vertices, from 1e59ca8:
[1] 1 5 10
8.2.2 Transitividad y Coeficiente de Clustering
Mide la probabilidad de que los amigos de mis amigos sean también mis amigos (triángulos cerrados). Es la base del célebre modelo Small-World de Watts y Strogatz.
Definición formal del Coeficiente de Clustering local\(C(v)\):
\[C(v) = \frac{\text{nº de triángulos cerrados en el vecindario de } v}{\text{nº de triples centrados en } v} = \frac{2 \cdot t_v}{k_v(k_v - 1)}\]
Sea \(v\) (Tú) un nodo con dos conexiones directas: A y B. * El denominador (triples centrados en \(v\)): Representa todas las “V” o puentes que formas con tus contactos (A - Tú - B). Es decir, el número total de potenciales amistades entre tus amigos. * El numerador (triángulos cerrados): Cuenta en cuántas de esas “V” resulta que A y B ya se conocen entre sí, cerrando gráficamente un triángulo real (A - Tú - B - A).
En resumen: el coeficiente de clustering local simplemente calcula el porcentaje de tus amigos que también son amigos entre sí.
\(C = 1\): todos los vecinos están conectados entre sí → sub-comunidad perfectamente cohesiva.
\(C = 0\): ningún vecino se conoce → el nodo es el único punto de contacto entre grupos distintos (structural hole).
# Coeficiente de Clustering global (proporción de triángulos totales)C_global <-transitivity(g1, type ="global")# Coeficiente local (uno por nodo)C_local <-transitivity(g1, type ="local")cat("Clustering global C =", round(C_global, 3), "\n")
Clustering global C = 0.257
cat("Clustering local por nodo:\n")
Clustering local por nodo:
print(round(C_local, 3))
[1] 0.200 0.333 0.300 0.333 0.333 0.000 NaN 0.000 NaN 0.000
# 📌 Análisis: nodos con C=1 son miembros de cliques; nodos con C≈0 son brokersbrokers <-which(C_local <0.1&!is.nan(C_local))cat("\nNodos con C < 0.1 (posibles brokers):", brokers, "\n")
Nodos con C < 0.1 (posibles brokers): 6 8 10
NotaRelación con la Estructura Global
La diferencia entre la transitividad global y la media de la transitividad local revela si la cohesión está uniformemente distribuida o concentrada en pocos nodos. Una red con \(C_{global} \gg \bar{C}_{local}\) tiene pocos pero densos cliques (típico de redes organizacionales con jerarquía). Una red con \(C_{global} \approx \bar{C}_{local}\) tiene cohesión distribuida (típico de redes sociales).
8.3 Análisis de Aristas y Comunidades
8.3.1 Edge Betweenness
Similar al betweenness de nodos, identifica aristas que actúan como cuellos de botella.
Dividir la red en grupos densamente conectados. El algoritmo de Edge Betweenness elimina progresivamente los “puentes” más importantes para separar la red en comunidades.
comm <-cluster_edge_betweenness(g1)plot(comm, g1, main ="Detección de Comunidades")
8.3.3 E) Los Puertos de Información: Hubs y Authorities (HITS)
El algoritmo HITS (Hyperlink-Induced Topic Search) [@kleinberg1999], creado por Jon Kleinberg, es un sistema dual de centralidad, especialmente diseñado para redes dirigidas (como la World Wide Web o Twitter). A diferencia de PageRank, que da un solo valor, HITS clasifica a los elementos destacados en dos roles simultáneos y mutuamente dependientes:
Authorities (Autoridades): Son los nodos referentes. Contienen la información de máximo valor hacia la que muchos apuntan (alto “In-Degree” de máxima calidad).
Hubs (Concentradores): Son los nodos directores. No crean contenido propio, pero son valiosos porque tienen enlaces (apuntan) a las mejores Autoridades.
Un buen Hub es aquel que apunta a buenas Authorities. Y una buena Authority es aquella a la que apuntan buenos Hubs.
¿Para qué sirve? En análisis de comercio internacional, permite distinguir entre países productores (Authorities) y países logísticos/revendedores (Hubs). En redes sociales, permite separar al Creador de Contenido (Authority) del Agregador o Medio Digital que lo enlaza constantemente (Hub).
Cálculo en R:
# Para grafos dirigidos (g1 no lo es formalmente como ej. puro dirigido, pero sirve la función)hub_score(g1)$vector
Warning: `hub_score()` was deprecated in igraph 2.0.3.
ℹ Please use `hits_scores()` instead.
Existen otras métricas globales que enriquecen el análisis estructural. La Densidad (edge_density) cuantifica la saturación de la red comparando las conexiones existentes con las posibles. Los Cliques identifican subconjuntos de nodos “todos conectados con todos”, revelando núcleos cohesivos extremos.
8.5 Redes Egocéntricas (Ego Networks)
Hasta ahora hemos analizado la red desde una vista panorámica (sociocéntrica). Pero, ¿qué ocurre si no tenemos el grafo completo de toda la humanidad, sino solo a un individuo (“Ego”) y a sus contactos directos (“Alters”)?
Las Ego Networks (o Redes Personales) consisten en aislar a un nodo focal y estudiar exclusivamente su vecindario.
Orden 1 (Step 1): Yo y mis amigos directos.
Orden 2 (Step 2): Yo, mis amigos directos, y los amigos de mis amigos.
8.5.1 ¿Por qué son vitales en Análisis de Datos?
Epidemiología: Si el “Ego” es el Paciente Cero, su Ego-Network de orden 1 son las personas que deben ser puestas en cuarentena inmediata.
Marketing de Recomendación: Analizar la densidad de la red egocéntrica de un cliente. Si los “alters” de un cliente no se conocen entre sí, el cliente es un “bróker” puenteando varios mundos sociales (ideal para expandir el alcance de una campaña).
Encuestas limitadas: A menudo es imposible mapear toda la empresa. Te entrevistas con 5 directivos (Egos) y les pides que nombren a sus 3 personas de mayor confianza (Alters).
8.5.2 Extrayendo una Ego-Network en R
Vamos a aislar el vecindario inmediato del nodo 3 en nuestra red de ejemplo.
# Extraemos el subgrafo que rodea al nodo "3" (Orden 1 por defecto)# makes_ego_graph devuelve una lista de grafos, usamos [[1]] para sacar el primeroego_red_3 <-make_ego_graph(g1, order =1, nodes =3)[[1]]# Para visualizarlo claramente, pintamos al "Ego" de un color distinto a sus "Alters"V(ego_red_3)$color <-ifelse(as.numeric(V(ego_red_3)) ==3, "gold", "lightblue")plot(ego_red_3, layout = layout_as_star, main ="Ego Network del Nodo '3' (Orden 1)")
Al extraer este submundo, podemos calcular métricas hiper-locales. Por ejemplo, comparar el tamaño del vecindario (vcount(ego_red_3) - 1) del nodo 3 frente al vecindario del nodo 8 para perfilar el “Capital Social” relativo de cada uno en la empresa.