(Extraído de: [1] "Statistical Analysis of Network Data with R")
4.1 Introducción
4.2 Características de los vértices y aristas
4.2.1 Grado de un vértice
4.2.2 Centralidad de un vértice
La centralidad es una medida de la importancia relativa de un vértice dentro del grafo. Esta importancia no es una propiedad intrínseca del vértice, si no que viene determinada por la posición de éste en el grafo.Existen múltiples métricas que permiten determinar la centralidad de un vértice. Estas métricas se clasifican en dos grupos: métricas radiales y mediales. En las métricas radiales el vértice en cuestión es origen o destino de caminos generados con un cierto criterio, y la métrica de centralidad determina la cantidad de caminos existentes (métrica de volumen) o la longitud de estos (métrica de longitud). Sin embargo, en las métricas mediales se emplea para determinar la centralidad de los vértices y la cantidad de caminos que atraviesan dicho vértice.[2] Algunas de las métricas de centralidad más importantes son la centralidad de grado, de cercanía, de proximidad y de vector propio.
- Centralidad de grado
La centralidad de grado es una medida radial de volumen que se calcula como el número de aristas incidentes en el vértice. Esta medida da una idea de la conectividad de un vértice. La siguiente figura muestra la escala de centralidad de grado de los vértices de un grafo, en una escala en la que mayor oscuridad significa mayor centralidad. [2]
- Centralidad de cercanía
C_{Cl}(V)= \frac{1}{\sum_{u\in V} dist(v,u)},
Donde dist (v,u) es la distancia geodésica (camino más corto) entre los vértices {u,v\in V}. Esta media esta entre el intervalo [0,1], mediante la multiplicación por un factor N_{v-1}.
- Centralidad de intermediación
C_{B}(V)= \sum_{s\neq t\neq v \in V}\frac{\sigma (s,t\mid v)}{\sigma (s,t)},
Donde \sigma (s,t\mid v) es el número total de caminos más cortos entre s y t que pasan a través de v , y \sigma (s,t) es el número total de caminos más cortos entre s y t (independiente de si pasan o no por v). En el caso de que los caminos más cortos sean únicos, C_{B}(V) solo cuenta el número de caminos más cortos que pasan por v . Esta medida de centralidad puede estar restringida al intervalo unitario mediante la división por un factor de ( N_{v - 1}) ( N_{v - 2}) / 2.
Finalmente, otras medidas de centralidad se basan en nociones de "estatus" o "prestigio" o "rango". Es decir, buscan capturar la idea de que cuanto más centrales son los vecinos de un vértice, más central es ese vértice en sí. Estas medidas están implícitas de forma inherente en su definición y, por lo general, pueden expresarse en términos de soluciones de vectores propios de sistemas lineales de ecuaciones adecuadamente definidos.
- Centralidad de vector propio
Hay muchas medidas de centralidad del vector propio . Por ejemplo, Bonacich , siguiendo el trabajo de Katz y otros, definieron una medida de centralidad de la forma:
C_{Ei}(v)= \alpha \sum_{ \lbrace u,v \rbrace\in E } {C_{Ei}(u)}.
El vector C_{Ei}={(C_{Ei}(1), . . . ,C_{Ei}(N_v))}^T es la solución del problema de valor propio A_{C_{Ei}}={\alpha}^{-1}, donde A es la matriz de adyacencia para el grafo G, Bonacich argumenta que una elección óptima de {\alpha}^{-1} es el valor propio más grande de A , y por tanto C_{Ei}es el vector propio correspondiente.
Cuando G no es dirigido y conexo, el valor propio más grande de A será simple (multiplicidad algebraica 1) y el vector propio correspondiente tendrá todas sus entradas distintas de cero y compartiendo el mismo signo. Las entradas automáticamente estarán entre 0 y 1 por la ortonormalidad (conjunto ortogonal y la norma de cada uno de sus vectores es igual a 1) de vectores propios.
Una forma intuitivamente atractiva de mostrar centralidades de vértices (para grafos de tamaño pequeño a moderado) es utilizar un diseño radial, con más vértices centrales ubicados más cerca del centro. La función gplot.target , en el paquete sna , se puede utilizar para este propósito. Por ejemplo,
2 > library(network)
3 > g <- network::as.network.matrix(A)
4 > library(sna)
5 > sna::gplot.target(g, degree(g), main="Degree",
6 + circ.lab = FALSE, circ.col="skyblue",
7 + usearrows = FALSE,
8 + vertex.col=c("blue", rep("red", 32), "yellow"),
9 + edge.col="darkgray")
La aplicación de estas medidas a una red de blogs sobre el SIDA indica, que solo 6 de los 146 blogs de esta red desempeñan el papel de hub, mientras que la vasta mayoría de los vértices (incluidos algunos de los hubs) desempeñan el papel de una autoridad.
4.2.3 Caracterización de aristas
4.3 Caracterización de la cohesión en una red
Hay muchas formas en que podemos definir la cohesión de una red, dependiendo del contexto de la pregunta que se hace. Las definiciones difieren, por ejemplo, en escala, de rango local (por ejemplo, tríadas) a global (por ejemplo, componentes gigantes), y también en la medida en que se especifican explícitamente (p. ej., cliques (camarillas)) versus implícitamente (p. ej., 'grupos' o 'comunidades'). En esta sección discutimos una serie de formas comunes de definir y resumir la "cohesión" en una red.
4.3.1 Subgrafos y censos
Un enfoque para definir la cohesión de una red es mediante la especificación de un cierto subgrafo de interés. El ejemplo canónico de tal subgrafo es el de una camarilla. Recuerde que las camarillas son subgrafos completos y, por tanto, son subconjuntos de vértices que son totalmente cohesivo, en el sentido de que todos los vértices dentro del subconjunto están conectados por aristas. Un censo de camarillas nos permite tener una idea de cómo está estructurado el grafo como en este caso el grafo del club de karate:
2
3 1 2 3 4 5
Para el grafo del club de karate, un censo de este tipo refleja que hay 34 nodos (camarillas de tamaño uno) y 78 aristas (camarillas de tamaño dos), seguidos de 45 triángulos (camarillas de tamaño tres), etc. Pero hay cierta redundancia en este análisis, ya que las camarillas de más tamaño incluyen necesariamente camarillas de tamaños más pequeños. Una camarilla máxima es una camarilla que no es un subconjunto de una camarilla más grande. Por ejemplo, en el grafo del club de karate hay dos camarillas máximas.
2
3 2 3 4 5
4 11 21 2 2
En la práctica las camarillas máximas son relativamente raras. Para conocer el tamaño de la camarilla máxima (formalmente llamada, numero de camarilla), usamos la siguiente instrucción:
1 > clique.number(karate)2 [1] 5
Además, es popular para la visualización, usar la noción de núcleos, ya que proporciona una forma de descomponer una red en capas (como una cebolla), esto se pueden combinar de una manera particularmente efectiva con un diseño radial, por ejemplo, en el caso del grafo del club de karate:
1 > cores <- graph.coreness(karate)2 > sna::gplot.target(g, cores, circ.lab = FALSE,
3 + circ.col="skyblue", usearrows = FALSE,
4 + vertex.col=cores, edge.col="darkgray")
5 > detach("package:network")
6 > detach("package:sna")
Un censo de los posibles estados de estas dos clases de subgrafos, es decir, contando cuántas veces se observa cada estado en un grafo G , puede dar una idea de la naturaleza de la conectividad en un grafo. Por ejemplo, en la red de blogs sobre el SIDA (Figura 4.1.9), vemos que la gran mayoría de diadas son nulas, mientras de las que no son nulas, casi todas son asimétricas, lo que indica la clara unilateralidad con la que los blogs en la red se hacen referencia entre sí.
1 > aidsblog <- simplify(aidsblog)2 > dyad.census(aidsblog)
3 mut
4 [1] 3
5
6 asym
7 [1] 177
8
9 null
10 [1] 10405
Como podemos observar este análisis es consistente con las observaciones del análisis anterior de hubs y autoridades en esta red.
Podemos efectuar un censo de cualquier subgrafo de internes. Los pequeños subgrafos de interés conexos se denominan comúnmente motivos, ejemplos de estos motivos, son subgrafos con una estructura en forma de abanico (varias aristas dirigidas que emanan de un solo vértice) y bucles de avance (es decir, tres aristas rectas, entre tres vértices, de la forma \lbrace u, v \rbrace, \lbrace v, w \rbrace y \lbrace u, w \rbrace ). En una red enumerar estas apariciones puede llevar bastante tiempo. Por lo que se utiliza métodos de muestreo, con recuentos de motivos estimados, usando la función graph.motifs.
4.3.2 Densidad y nociones relacionadas de frecuencia relativa
den(H)= \frac{\vert E_H \vert}{\vert V_H \vert (\vert V_H \vert - 1)/2},
El valor de den(H) estará entre cero y uno (la densidad máxima es 1 (para un grafo completo) y la densidad mínima es de 0 ), proporcionando una medida de que tan cerca está H de ser una camarilla. En el caso de que G sea un dígrafo, el denominador se sustituye por {\vert V_H \vert (\vert V_H \vert - 1)}.
El concepto posiblemente simple de densidad se vuelve interesante a través de la libertad que tenemos en la elección del subgrafo H. Por ejemplo, tomando H = G se obtiene la densidad del grafo general G . Por el contrario, tomando H = H_V como el conjunto de vecinos de un vértice v \in V , y las aristas entre ellos, da una medida de densidad en la vecindad inmediata de v.
Aplicando estas ideas al grafo del club de Karate, por ejemplo, vemos que, en los subgrafos correspondientes a cada uno de los instructores y administradores, en unión con sus respectivos vecindarios inmediatos, es decir, las redes egocéntricas alrededor vértices 1 y 34: son notablemente más densos que la red general.
2 + neighborhood(karate, 1, 1)[[1]])
3 > ego.admin <- induced.subgraph(karate,
4 + neighborhood(karate, 1, 34)[[1]])
5 > graph.density(karate)
6 [1] 0.1390374
7 > graph.density(ego.instr)
8 [1] 0.25
9 > graph.density(ego.admin)
Lo cual es consistente con el grafo:
cl_{T}(G)= \frac{3\tau_\bigtriangleup (G)}{\tau_3 (G)},
donde \tau_\bigtriangleup(G) es el número de triángulos en el grafo G , y \tau_3(G), es el número de triples conectados (es decir, un subgrafo de tres vértices conectados por dos aristas, también a veces llamado 2-star). El valor cl_T(G) es llamado transitividad del grafo, y es una cantidad estándar de interés en la literatura de redes sociales ,donde también se conoce como la "fracción de triples transitivos". Hay que tener en cuenta que cl_T(G) es una medida de agrupamiento global, que resume la frecuencia relativa con la que los triples conectados se acercan para formar triángulos. Por ejemplo, en el grafo del club de karate vemos que sólo alrededor de una cuarta parte de los triples conectados se cierran de esta manera.
2 > dyad.census(aidsblog)
3 mut
4 [1] 3
5
6 asym
7 [1] 177
4.3.3 Conectividad, cortes y flujos
4.4 Particionamiento de grafos
4.4.1 Agrupación jerárquica
- Técnicas aglomerativas: comenzar con cada caso como un cluster individual. En cada paso, combinar el par de clusters más cercano hasta que sólo quede uno o k. [4]
- Técnicas divisivas: comenzar con un único cluster que englobe todos los casos de nuestro conjunto de datos. En cada paso, partir un cluster hasta que cada cluster contenga un único caso (o queden k clusters). [4]
La jerarquía resultante normalmente se representa en forma de un árbol, llamado dendrograma (organiza los datos en subcategorías que se van dividiendo en otros hasta llegar al nivel de detalle deseado asemejándose a las ramas de un árbol que se van dividiendo en otras sucesivamente). Este tipo de representación permite apreciar claramente las relaciones de agrupación entre los datos e incluso entre grupos de ellos, aunque no las relaciones de similitud o cercanía entre categorías. Observando las sucesivas subdivisiones podemos hacernos una idea sobre los criterios de agrupación de los mismos, la distancia entre los datos según las relaciones establecidas, etc. Como podemos ver a continuación:
4.4.3 Validación del particionamiento de grafos
Por ejemplo, las proteínas que se encuentran agrupadas en un grafo de proteínas entre las acciones a menudo participan en procesos biológicos similares; de manera similar, los actores agrupados en una red social pueden compartir ciertos intereses. La partición de grafos puede verse como una herramienta para descubrir dichos subconjuntos en la ausencia de conocimiento de estas características. Cuando tengamos conocimiento de alguna noción definida externamente de pertenencia a una clase, puede ser interesante comparar y contrastar las asignaciones resultantes con las que se derivan de la partición de grafos.
4.5 Assortividad y mezcla
Bibliografía
[2] Bayo, M. V. Aplicación de teoría de grafos a redes con elementos autónomos. Madrid: Universidad de Alcalá-Grado en Ingeniería en Tecnologías de las Telecomunicaciones (Escuela Politécnica Superior).
[3] M. E. J. Newman, S. Forrest, and J. Balthrop, Phys. Rev. E 66, 035101(R) (2002)
Comentarios
Publicar un comentario