• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Laboratorio
    • Estadística
      • Calculadora del Tamaño Muestral en Encuestas
      • Calculadora de estadísticos descriptivos
      • Test de normalidad
      • Calculadora de contrastes de hipotesis
      • Calculadora de tamano del efecto
      • Simulador de Regresión Lineal con Ruido
      • Visualizador de PCA
      • Visualizador de Series Temporales
      • Simulador de Regresión Logística
      • Simulador de K-Means
      • Simulador de DBSCAN
      • Detector de la Ley de Benford
    • Probabilidad
      • Calculadora de Probabilidad de Distribuciones
      • Calculadora de Probabilidades de Lotería
      • Simulador del Problema de Monty Hall
      • Simulador de la Estrategia Martingala
    • Finanzas
      • Calculadora de Préstamos e Hipotecas
      • Conversor TIN ↔ TAE
      • Calculadora DCA con ajuste por inflación
      • Calculadora XIRR con Flujos Irregulares
      • Simulador FIRE (Financial Independence, Retire Early)
    • Negocios
      • CLV
      • Scoring
    • Herramientas
      • Formateador / Minificador de JSON
      • Conversor CSV ↔ JSON
      • Comparador y Formateador de Texto y JSON
      • Formateador y Tester de Expresiones Regulares
      • Inspector de JWT
      • Generador y verificador de hashes
      • Codificador / Decodificador Base64 y URL
      • Conversor de bases numericas
      • Conversor de Timestamp Unix
      • Conversor de colores
      • Generador de UUIDs
    • Juegos
      • Tres en Raya
      • Nim con Q-Learning
    • Más
      • Método D’Hondt
      • Generador de Contraseñas Seguras
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • Excel

Introducción a igraph en R (Parte 5): Centralidad de autovector (Eigenvector Centrality) en Grafos

abril 9, 2025 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 5 minutos

En las entradas anteriores, exploramos diversas medidas de centralidad, como la centralidad de grado, la centralidad de intermediación y la centralidad de cercanía. Esta semana nos enfocaremos en una métrica fundamental dentro del análisis de redes: la centralidad de autovector (eigenvector centrality).

Esta medida extiende la idea de la centralidad de grado, teniendo en cuenta no sólo el número de conexiones de un nodo, sino también la importancia de los nodos a los que está conectado. Esto la convierte en una métrica fundamental para identificar los nodos más influyentes dentro de una red y es especialmente útil en aplicaciones donde la influencia o la reputación de un nodo dependen de su contexto en la red. Además, esta métrica es ampliamente utilizada en disciplinas como las ciencias sociales, la biología, la informática y la economía, donde la estructura de la red puede influir en los resultados y las interacciones entre los nodos.

Concepto y relación con la importancia de un nodo

La centralidad de autovector asigna un puntaje a cada nodo basado en la importancia de sus vecinos. Matemáticamente, se define como la solución al siguiente sistema de ecuaciones: C_a​(i) = \frac{1}{\lambda} \sum_{j \in N(i)} A_{ij} x_j, donde:

  • x_i es la centralidad del nodo i.
  • A_{ij} es el valor de la matriz de adyacencia en la posición (i, j), indicando si hay una conexión entre los nodos i y j.
  • \lambda es el mayor autovalor de la matriz de adyacencia.

La idea clave es que un nodo es importante si está conectado a otros nodos importantes. Esta propiedad hace que la centralidad de autovector sea útil en aplicaciones como:

Nuevo test de normalidad interactivo en el laboratorio de Analytics Lane
En Analytics Lane
Nuevo test de normalidad interactivo en el laboratorio de Analytics Lane

  • Redes sociales: Para identificar usuarios influyentes y líderes de opinión.
  • Redes de transporte: Para detectar las estaciones críticas dentro de la red de infraestructuras y evaluar su impacto en la eficiencia del sistema.
  • Ciencias biomédicas: Para analizar interacciones de proteínas en redes biológicas y su impacto en enfermedades complejas.
  • Finanzas: Para evaluar la importancia de instituciones en sistemas financieros interconectados y detectar nodos clave en la propagación de crisis financieras.
  • Redes eléctricas y de telecomunicaciones: Para determinar nodos estratégicos en la distribución de recursos y mejorar la eficiencia de la red.

Conexión con el algoritmo PageRank

Una de las aplicaciones más famosas de la centralidad de autovector es el algoritmo PageRank, desarrollado por Google para clasificar las páginas web. El PageRank es una variante de la centralidad de autovector, con la diferencia de que introduce un factor de amortiguamiento para evitar problemas en grafos desconectados.

La idea detrás de PageRank es similar: una página web es importante si es enlazada por otras páginas importantes. Este concepto se extiende a redes sociales, donde los usuarios con más conexiones a otros usuarios influyentes tienen mayor autoridad en la comunidad. También se aplica en sistemas de recomendación y en análisis de influencia política en redes de comunicación.

Matemáticamente, PageRank se calcula iterativamente de la siguiente manera: PR(i) = (1-d) + d \sum_{j \in N(i)} \frac{PR(j)}{L(j)}, donde:

  • PR(i) es el PageRank del nodo i.
  • d es el factor de amortiguamiento (por defecto 0.85).
  • N(i) representa los nodos que enlazan a i.
  • L(j) es el número de enlaces salientes del nodo j.

Este método ha sido clave en el éxito de Google y en muchos otros motores de búsqueda y redes sociales, permitiendo una clasificación más efectiva de la relevancia de los nodos dentro de la red.

Publicidad


Cálculo con eigen_centrality() en igraph

La centralidad de autovector se puede calcular fácilmente en igraph utilizando la función eigen_centrality(). Para el PageRank se puede usar la función page_rank().Veamos un ejemplo práctico en R:

library(igraph)

# Crear un grafo simple
g <- graph(edges = c(1,2, 1,3, 2,4, 2,5, 3,6, 5,6, 4,5, 3,4), directed = FALSE)

# Calcular la centralidad de autovector
centralidad_eigen <- eigen_centrality(g)

# Mostrar los valores de centralidad
centralidad_eigen$vector

# Calcular PageRank
centralidad_page_rank <- page_rank(g)

# Mostrar los valores del PageRank
centralidad_page_rank$vector

Este código devuelve un vector con los valores de centralidad de autovector de cada nodo y otro con el PageRank. En concreto, la centralidad de autovector es:

0.6535266 0.9497121 0.8416578 1.0000000 0.9497121 0.6535266

Mientras que el PageRank es:

0.1304151 0.1844428 0.1876104 0.1826739 0.1844428 0.1304151

Ahora, podemos visualizar el grafo escalando el tamaño de los nodos según su importancia en base a la centralidad de autovector:

# Ajustar tamaño de los nodos según su centralidad
V(g)$size <- centralidad_eigen$vector * 20

# Graficar el grafo
plot(g, vertex.label.cex=1.2, edge.width=2, main="Centralidad de Autovector")
Gráfico de un grafo donde el tamaño de los nodos está escalado según su centralidad de autovector. Los nodos más grandes indican mayor importancia dentro de la red, al estar conectados con otros nodos influyentes. Las aristas representan las conexiones entre nodos, con un grosor uniforme para destacar la estructura del grafo.
Grafo en el que tamaño de los nodos está escalado según su centralidad de autovector.

Caso práctico: Red de colaboración académica

Imaginemos una red de colaboración académica donde los nodos representan investigadores y las aristas indican coautorías en publicaciones científicas. Queremos identificar a los investigadores más influyentes en función de su red de colaboraciones.

# Crear un grafo de colaboración
colaboracion <- graph(edges = c("Alice","Bob", "Alice","Charlie", "Bob","David", "Bob","Eve", "Charlie","Fay", "Eve","Fay", "David","Eve", "Charlie","David"), directed = FALSE)

# Calcular la centralidad de autovector
centralidad_eigen_colab <- eigen_centrality(colaboracion)

# Visualizar el grafo
V(colaboracion)$size <- centralidad_eigen_colab$vector * 50
plot(colaboracion, vertex.label.cex=1.2, edge.width=2, main="Red de Colaboración Académica")
Gráfico de una red de colaboración académica donde los nodos representan investigadores y las conexiones indican colaboraciones directas. El tamaño de cada nodo refleja su centralidad de autovector, resaltando los investigadores con mayor influencia dentro de la red. Los nodos más grandes están conectados con múltiples colaboradores clave, formando un núcleo central en la red.
Grafo con el ejemplo de la red de colaboración académica donde los nodos representan investigadores y las conexiones indican colaboraciones directas.

Conclusiónes

La centralidad de autovector es una medida avanzada que permite identificar nodos influyentes en redes sociales, académicas y de información. Su conexión con el algoritmo PageRank la hace fundamental en aplicaciones como la clasificación de páginas web y la detección de líderes en redes sociales.

En esta entrega, hemos explorado su definición, su relación con otras medidas de centralidad, su implementación en igraph y un caso práctico de aplicación. Además, hemos visto cómo se vincula con el PageRank y su importancia en distintos dominios.

En la próxima publicación, abordaremos otra métrica clave: el centralidad de Katz, que expande la centralidad de autovector considerando el impacto de conexiones indirectas.

Nota: La imagen de este artículo fue generada utilizando un modelo de inteligencia artificial.

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicidad


Publicaciones relacionadas

  • Nuevo test de normalidad interactivo en el laboratorio de Analytics Lane
  • Nuevo conversor de timestamp Unix en el laboratorio de Analytics Lane
  • Calculadora de Contrastes de Hipótesis: interpreta correctamente el p-valor y toma decisiones estadísticas con confianza
  • Calculadora de Tamaño del Efecto: la herramienta clave para entender cuánto importa realmente una diferencia
  • Simulador de DBSCAN: descubre cómo encontrar clusters reales (y ruido) sin fijar K
  • Conversor de Colores: convierte, compara y valida cualquier color en tiempo real
  • Analytics Lane lanza su Generador de UUIDs: identificadores únicos, seguros y listos para producción en segundos
  • 1200 publicaciones en Analytics Lane
  • Analytics Lane lanza su Conversor TIN ↔ TAE: la herramienta definitiva para entender el coste real de depósitos, préstamos e hipotecas

Publicado en: R Etiquetado como: Análisis de redes, igraph

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Noticias

Analytics Lane lanza la versión 1.1 del laboratorio con nuevas suites de CLV y Scoring

mayo 18, 2026 Por Daniel Rodríguez

Interés compuesto: la fuerza que multiplica tu dinero (y los errores que la anulan)

mayo 14, 2026 Por Daniel Rodríguez

Cómo comparar datos con barras en Matplotlib: agrupadas, apiladas y porcentuales

mayo 12, 2026 Por Daniel Rodríguez

Publicidad

Es tendencia

  • ¿Cuál es la diferencia entre parámetro e hiperparámetro? publicado el diciembre 16, 2019 | en Ciencia de datos
  • Creación de gráficos de barras y gráficos de columnas con Seaborn publicado el julio 18, 2023 | en Python
  • Buscar en Excel con dos o más criterios publicado el septiembre 7, 2022 | en Herramientas
  • ¿Es la inteligencia artificial imparcial y objetiva? Desmitificando la imparcialidad de la IA [Mitos de la Inteligencia Artificial 6] publicado el julio 11, 2024 | en Opinión
  • Cómo calcular el tamaño de la muestra para encuestas publicado el septiembre 9, 2025 | en Ciencia de datos

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.1 (11)

Aplicar el método D’Hondt en Excel

Comentarios recientes

  • bif en JSON en bases de datos: cuándo es buena idea y cuándo no
  • bif en Cómo desinstalar Oracle Database 19c en Windows
  • M. Pilar en Cómo eliminar las noticias en Windows 11 y recuperar tu concentración
  • Daniel Rodríguez en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • Pepe en Probabilidad básica: cómo entender el azar en nuestra vida diaria

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2026 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto