1 Introducción

La conexión selectiva entre vértices de acuerdo con una(s) determinada(s) característica(s) se denomina mezcla selectiva (asortativa) (assortative mixing).

Los coeficientes de asortatividad cuantifican la mezcla selectiva de una red.

2 Interpretación

Los coeficientes de assortividad son positivos si los vértices similares (basados en alguna propiedad externa) tienden a conectarse entre ellos, y negativo en caso contrario.

Los coeficientes de assortividad miden el nivel de homofilia del grafo, basándose en algunas etiquetas de los vértice o valores asignados a los vértices. Si el coeficiente es alto, eso significa que los vértices conectados tienden a tener las mismas etiquetas o valores asignados similares.

La homofilia de red se refiere a la teoría de la ciencia de redes que establece que, según los atributos de los nodos, es más probable que los nodos similares se unan entre sí que los diferentes.

3 Características categóricas

suponga que cada vértice de un grafo \(G=(V,E)\) se puede etiquetar de acuerdo con una de \(M\) categorías. El coeficiente de assortividad en este escenario se define como \[ r_a = \frac{\sum_{i=1}^n f_{i,i} - \sum_{i=1}^n f_{i\bullet}f_{\bullet i}}{1 - \sum_{i=1}^n f_{i\bullet}f_{\bullet i}} \] donde:

Se tiene que \(-1\leq r_a \leq 1\). Es igual a \(0\) cuando la mezcla en el grafo no es diferente de la obtenida mediante una asignación aleatoria de aristas que conserva la distribución marginal de grados. Es igual a uno cuando hay una mezcla selectiva perfecta (es decir, cuando los bordes solo conectan vértices de la misma categoría). Sin embargo, en el caso de que la mezcla sea perfectamente desasortativa (cada arista conecta vértices de dos categorías diferentes) el coeficiente no toma necesariamente el valor \(-1\).

Ver assortativity_nominal en igraph.

3.1 Ejemplo: Yeast

Von Mering, C., Krause, R., Snel, B., Cornell, M., Oliver, S. G., Fields, S., & Bork, P. (2002). Comparative assessment of large-scale data sets of protein–protein interactions. Nature, 417(6887), 399-403.

Interacciones entre proteínas que tienen una confianza “alta” y “media”. Las interacciones proteína-proteína prometen revelar aspectos de la compleja red reguladora que subyace a la función celular.

suppressMessages(suppressWarnings(library(igraph)))
suppressMessages(suppressWarnings(library(igraphdata)))
data(yeast)
# orden
vcount(yeast)
## [1] 2617
# tamaño
ecount(yeast)
## [1] 11855
# clases (hay NAs)
table(V(yeast)$Class)
## 
##   A   B   C   D   E   F   G   M   O   P   R   T   U 
##  60 109 148 261  99 200 101 295 193 256  48 249 558
sum(table(V(yeast)$Class))
## [1] 2577
# NAs
# es posible evaluar el efecto de la imputacion via simulacion
# por ahora solo 1s
table(is.na(V(yeast)$Class))
## 
## FALSE  TRUE 
##  2577    40
# clase P
# se sabe que desempeñan un papel en la síntesis de proteinas
v.types <- (V(yeast)$Class == "P") + 1
v.types[is.na(v.types)] <- 1
# asortatividad
assortativity_nominal(graph = yeast, types = v.types, directed = F)
## [1] 0.5232879

3.2 Ejemplo: Zachary

Zachary, W. W. (1977). An information flow model for conflict and fission in small groups. Journal of anthropological research, 33(4), 452-473.

Los nodos representan a los miembros de un club de karate observado durante aproximadamente 2 años y los enlaces que conectan dos nodos indican interacciones sociales entre los dos miembros correspondientes.

# datos
data(karate)
# orden
vcount(karate)
## [1] 34
# tamaño
ecount(karate)
## [1] 78
# dirigida?
is_directed(karate)
## [1] FALSE
# ponderada?
is_weighted(karate)
## [1] TRUE
# clase
v.types <- V(karate)$Faction
# asortatividad
assortativity_nominal(graph = karate, types = v.types, directed = F)
## [1] 0.7434211

4 Características numéricas

Cuando la característica del vértice de interés es continua, se denota con \((x_e, y_e)\) los valores de esa característica para los vértices unidos por la arista \(e \in E\). El coeficiente de assortividad en este escenario se define como \[ r_a = \frac{\sum_{x,y} xy(f_{x,y} - f_{x\bullet}f_{\bullet y})}{\sigma_x \sigma_y} \] donde:

Comúnmente la característica continua se toma como el grado.

Ver assortativity y assortativity_degree en igraph.

4.1 Ejemplo: Yeast (cont.)

assortativity_degree(yeast)
## [1] 0.4610798

4.2 Ejemplo: Zachary (cont.)

assortativity_degree(karate)
## [1] -0.4756131

4.3 Ejemplo: Lazega

Red de relaciones de trabajo colaborativo entre miembros de una firma de abogados. Disponible en la librería sand de R.

Lazega, E. (2001). The collegial phenomenon: The social mechanisms of cooperation among peers in a corporate law partnership. Oxford University Press on Demand.

suppressMessages(suppressWarnings(library(sand)))
data(lazega)
# orden
vcount(lazega)
## [1] 36
# tamaño
ecount(lazega)
## [1] 115
# dirigida?
is_directed(lazega)
## [1] FALSE
# asortatividad nominal
assortativity(graph = lazega, types1 = V(lazega)$Office)
## [1] 0.2823909
assortativity(graph = lazega, types1 = V(lazega)$Practice)
## [1] 0.2409241
assortativity(graph = lazega, types1 = V(lazega)$School)
## [1] -0.06008441
# assortativiad continua
assortativity(graph = lazega, types1 = V(lazega)$Years)
## [1] -0.07569942
assortativity(graph = lazega, types1 = degree(lazega))
## [1] -0.1681201
assortativity_degree(graph = lazega, directed = F)
## [1] -0.1681201