SlideShare uma empresa Scribd logo
1 de 30
ANÁLISIS DE LOS FLUJOS DE LLAMADAS
EN UNA ORGANIZACIÓN CON TEORÍA DE
GRAFOS Y R
Dr. Rafael Nogueras
https://rafaelnogueras.wordpress.com
Agosto 2021
ÍNDICE
 Alcance
 Introducción
 Teoría de Grafos
 Lenguaje de Programación R
 Planteamiento del Problema
 Creación de la Red
 Visualización de la Red
 Análisis de la Red
 Conclusiones
 Bibliografía 2
Teoría
de
Grafos
y
R
ALCANCE
SITUACIÓN
 En una organización puede haber un número elevado de líneas
telefónicas.
 Estas líneas son asignadas a los empleados para uso
profesional.
 Puede haber un gasto elevado en llamadas telefónicas y en
tiempo de trabajo.
OBJETIVOS
 Analizar el uso de las líneas telefónicas.
 Detectar usos indebidos.
 Determinar posibles relaciones profesionales para mejorar la
eficiencia y reorganizar departamentos.
 Disminuir el gasto telefónico y el tiempo ocioso en la
organización.
3
Teoría
de
Grafos
y
R
INTRODUCCIÓN
 Según la RAE “una red es un conjunto de elementos
organizados para determinado fin”.
 También “un conjunto de equipos informáticos conectados
entre sí y que pueden intercambiar información”.
 Existe un interés creciente por el análisis de datos y en
concreto, por el análisis de datos de redes.
Tipos de redes:
 Redes sociales: Facebook, LinkedIn, ResearchGate, etc.
 Redes de infraestructuras: electricidad, saneamiento,
carreteras, aeropuertos, etc.
 Redes biológicas: epidemiológicas (covid-19), neuronales,
etc.
 Redes informáticas: Internet, redes locales, páginas webs,
etc.
4
Teoría
de
Grafos
y
R
INTRODUCCIÓN
En una organización:
 Gran cantidad de información (datos) disponible para su
análisis.
 Necesario  Herramientas y conocimientos para aplicar las
técnicas adecuadas.
Pero, ¿cómo se pueden modelar las llamadas telefónicas
mediante una red?
 Cada línea telefónica puede modelarse como un vértice
(nodo) de una red.
 Las llamadas telefónicas entre diferentes líneas son las
aristas (ejes) que conectan cada nodo de la red. 5
Teoría
de
Grafos
y
R
TEORÍA DE GRAFOS
 Un grafo G es un elemento formado por un conjunto de
puntos llamados vértices o nodos (V), unidos por un conjunto
de aristas denominadas arcos o ejes (E).
G = (V, E).
 Leonhard Euler, matemático y físico suizo, desarrolló la teoría
de grafos en el siglo XVIII, al resolver el problema de los siete
puentes de Königsberg.
 Las redes se pueden representar matemáticamente mediante
grafos y la teoría de grafos es la rama de las matemáticas
que estudia sus propiedades.
 Actualmente la teoría de grafos tiene una gran aplicabilidad
en diversas áreas de la ingeniería informática.
6
Teoría
de
Grafos
y
R
TEORÍA DE GRAFOS
Definiciones:
 Nodos (vértices): conjunto de objetos que se interrelacionan.
El número total de nodos es el orden de la red y se denota
por Nv.
 Ejes (aristas): conjunto de pares de nodos relacionados. El
número total de ejes es el tamaño de la red y se denota por
Ne.
 Atributos: características de los nodos o de los ejes.
 El grafo puede ser dirigido (si existe un orden entre los nodos
relacionados).
 Un nodo es aislado si no tiene relación con el resto.
 Un eje es un lazo si conecta un nodo consigo mismo. 7
Teoría
de
Grafos
y
R
LENGUAJE DE PROGRAMACIÓN R
 R es un entorno y un lenguaje de programación orientado al
análisis estadístico.
 Muy utilizado en ciencia de datos y en aprendizaje
automático. También para problemas económicos y
financieros.
 R proporciona un amplio abanico de herramientas
estadísticas (modelos lineales y no lineales, tests
estadísticos, análisis de series temporales, algoritmos
de clasificación y agrupamiento, etc.).
 R tiene una gran capacidad gráfica, que permite generar
gráficos con alta calidad.
 R forma parte de un proyecto colaborativo y abierto, lo que
permite incrementar los paquete disponibles.
8
Teoría
de
Grafos
y
R
LENGUAJE DE PROGRAMACIÓN R
igraph – The network analysis package
 La librería igraph es una colección de herramientas para el
análisis de redes open source y free.
 igraph puede programarse en diversos lenguajes: R, Python,
Mathematica y C/C++.
 La URL es: https://igraph.org
La versión para R:
 Dispone de múltiples algoritmos para el análisis de redes de
gran tamaño.
 Facilita la representación y visualización de la red.
 La URL es: http://igraph.org/r
9
Teoría
de
Grafos
y
R
PLANTEAMIENTO DEL PROBLEMA
Componentes de la red:
 Nodos: las líneas telefónicas de la organización. Nv ≈ 250.
 Ejes: las llamadas realizadas entre dos líneas (nodos)
durante un periodo de tiempo t. Ne ≈ 10000, t = 30 días.
 La red es dirigida, ya que el orden de la llamada tiene
relevancia.
 Los ejes iguales se agrupan añadiendo un peso que
representa el número de llamadas realizadas entre ellos.
10
Teoría
de
Grafos
y
R
PLANTEAMIENTO DEL PROBLEMA
Atributos de la red:
 Cada nodo tiene un atributo “ext”, que representa la extensión
del número de teléfono, es decir, su número interno corto.
 Cada eje (x,y) dispone de un atributo denominado “weight”
con el número de llamadas realizadas desde la línea x a la y.
11
Teoría
de
Grafos
y
R
CREACIÓN DE LA RED
 La red se puede crear a partir de datos representados en dos
estructuras:
 Matrices de proximidad (adjacency matrix): matriz que relaciona los
nodos en filas y columnas. Función en R:
g  graph_from_data_frame
 Edgelist: matriz de dos columnas en la que cada fila representa una
conexión entre dos nodos individuales. Función en R:
g  graph.edgelist
 En ambos casos se crea el objeto de R denominado igraph.
 El fichero de datos con todas las llamadas realizadas con los
números de la organización tiene la forma:
(tel1,ext,tel2,weight).
Doble Análisis:
 Llamadas entre números internos.
 Llamadas a números externos.
12
Teoría
de
Grafos
y
R
CREACIÓN DE LA RED
Llamadas entre números internos:
 Antes de la creación de la red se filtran las llamadas (ejes) 
inicialmente solo llamadas entre números internos.
 En R se puede hacer con la función filter.
 El gráfico se puede dibujar con la función plot usando
diversos tipos de layout (circular):
13
Teoría
de
Grafos
y
R
VISUALIZACIÓN DE LA RED
La representación gráfica de una red con muchos nodos y ejes
puede ser confusa  Reducir la red:
 Se pueden eliminar nodos aislados mediante la función:
delete.vertices(g,degree(g)==0)
 Se pueden eliminar ejes cuyo peso sea menor que p:
delete_edges(g, E(g)[weight < p])
 El orden de eliminación influye en el resultado.
14
Teoría
de
Grafos
y
R
VISUALIZACIÓN DE LA RED
 Primero se eliminan los nodos aislados y después los ejes
con peso menor que p:
 Primero se eliminan los ejes con peso menor que p y después
los nodos aislados:
15
Teoría
de
Grafos
y
R
VISUALIZACIÓN DE LA RED
Algunas conclusiones:
 Se observan algunas agrupaciones de llamadas entre
números.
 Hay números de teléfono aislados o solo conectados con otro
número.
 Existen múltiples opciones para representar los grafos:
 Ordenados en una retícula (layout_on_grid)
 En círculo (layout_in_circle)
 En árbol (layout_as_tree)
 Siguiendo diversos algoritmos: simulated annealing
(layout_with_dh), método de Kamada-Kawai (layout_with_kk),
algoritmo de Fruchterman-Reingold (layout_with_fr), etc.
 La elección de la representación puede ser importante. 16
Teoría
de
Grafos
y
R
ANÁLISIS DE LA RED
Definición: distancia geodésica
 Para una red la distancia geodésica entre dos nodos u y v,
denotada por dist(u,v), se define como la longitud del camino
mas corto entre los nodos, es decir, el numero de ejes para ir
de un nodo al otro.
 dist (u,v) = ∞ si u y v son inalcanzables entre sí (en grafos
dirigidos si desde u no se puede llegar a v).
 El valor de la mayor distancia geodésica (excluyendo ∞) en
una red se denomina diámetro de la red.
17
Teoría
de
Grafos
y
R
ANÁLISIS DE LA RED
Nodos de gran influencia  Medidas de Centralidad
El grado de un nodo es el número de ejes que salen o llegan al
nodo  es un indicador de la conectividad del nodo.
 Las llamadas que realizan: dg  degree(g, mode = c(“out”))
 Las llamadas que reciben: dg  degree(g, mode = c(“in”))
 ¿Cuál es el teléfono que más llama?
which.max(degree(g, mode = c(“out”)))
 ¿Cuántas llamadas realiza?
max(degree(g, mode = c(“out”)))
 Ordenar todos los teléfonos por número de llamadas:
dg[order(degree(g, mode = c("out")), decreasing = T, na.last = T)]
18
Teoría
de
Grafos
y
R
ANÁLISIS DE LA RED
Nodos de gran influencia  Medidas de Centralidad
La centralidad por intermediación de un nodo (betweenness) es
la frecuencia de aparición del nodo en todos los caminos
mínimos del grafo.
𝐵𝑒𝑡𝑤𝑒𝑒𝑛𝑛𝑒𝑠𝑠 𝑣 =
𝑖,𝑗≠𝑣∈𝑉
𝜎𝑖𝑗 𝑣
𝜎𝑖𝑗
Siendo 𝜎𝑖𝑗 el número de rutas de mínima distancia entre i y j y 𝜎𝑖𝑗(v) el número de rutas de mínima
distancia entre i y j que pasan por v.
 Es una medida de la importancia de un nodo, como punto
intermedio de conexión entre los demás.
 Cálculo: b <- betweenness(g, directed = T)
 ¿Cuál es el teléfono más influyente? which.max(b) 19
Teoría
de
Grafos
y
R
ANÁLISIS DE LA RED
Nodos de gran influencia  Medidas de Centralidad
La centralidad por cercanía de un nodo (closeness) es el
promedio de las distancias del nodo a todos los demás.
𝐶𝑙𝑜𝑠𝑒𝑛𝑒𝑠𝑠(𝑣) =
1
𝑖∈𝑉 𝑑𝑖𝑠𝑡(𝑣, 𝑖)
 Se considera una medida de centralidad global. Menos fiable
para grafos desconectados.
 Cálculo: c <- closeness(g, directed = T)
 ¿Cuál es el teléfono más influyente según su closeness?
which.max(c)
20
Teoría
de
Grafos
y
R
ANÁLISIS DE LA RED
Nodos de gran influencia  Medidas de Centralidad
La centralidad del autovector (authority.score) analiza el
nodo en función de los autovalores y autovectores de la matriz
de adyacencia.
 Se considera una medida de centralidad global.
 Cálculo: as <- authority.score(g)$vector
 ¿Cuál es el teléfono más influyente según su closeness?
which.max(as)
21
Teoría
de
Grafos
y
R
ANÁLISIS DE LA RED
Nodos de gran influencia  Resultados
1) Examinando el grado de los nodos se detecta que hay unas
pocas líneas desde las que se realizan muchas llamadas a
números diferentes (internos y externos).
2) Con las métricas de centralidad se detectan algunas líneas
influyentes, diferentes a las detectadas en el punto anterior.
3) Además, accediendo directamente a los datos se encuentran
pares de líneas desde las que se realiza un gran número de
llamadas entre ellas.
22
Teoría
de
Grafos
y
R
ANÁLISIS DE LA RED
Nodos de gran influencia  Otras métricas
 Distancia promedio (mean_distance): calcula el promedio de
las distancias entre todos los pares de nodos de la red.
 Excentricidad de un nodo (eccentricity): se define como la
distancia del nodo al nodo más lejano del grafo.
 Diámetro (diameter): calcula el valor máximo de la
excentricidad.
 Densidad (edge_density): es la proporción de pares de
nodos conectados en el grafo sobre todos los posibles.
 Transitividad (transitivity): es una medida de la ocurrencia de
pequeñas subredes de tres nodos totalmente conexas.
 Reciprocidad (reciprocity): calcula la probabilidad de que si
existe un eje E(x,y) también exista el eje E(y,x). 23
Teoría
de
Grafos
y
R
ANÁLISIS DE LA RED
Detección de comunidades
 Se trata de detectar la existencia de subredes mediante la
segmentación de los nodos de la red en conjuntos disjuntos.
 A los subconjuntos de nodos más estrechamente
relacionados se le denomina comunidad.
Existen muchos algoritmos para detectar comunidades:
 Método de Girvan-Newman (cluster_edge_betweenness(g))
 Algoritmo voraz (cluster_fast_greedy(g))
 Algoritmo de propagación de etiquetas (cluster_label_prop(g))
 Método de camino aleatorio (cluster_walktrap(g))
24
Teoría
de
Grafos
y
R
ANÁLISIS DE LA RED
Detección de comunidades
 Método de Girvan-Newman
 Algoritmo voraz
25
Teoría
de
Grafos
y
R
ANÁLISIS DE LA RED
Detección de comunidades: Cliques
 Un clique C, en un grafo no dirigido G = (V, E), es un
conjunto de nodos, C ⊆ V, tal que todo par de nodos distintos
son adyacentes, es decir, existe un eje que los conecta. Esto
equivale a decir que el subgrafo de G inducido por C es
un grafo completo.
 En R tenemos la función largest_cliques(g) para obtener los
cliques más grandes de la red.
26
Teoría
de
Grafos
y
R
ANÁLISIS DE LA RED
Detección de comunidades: Cliques
 Se detectan varios cliques de tamaño máximo 7.
 En este subconjunto de líneas de teléfono existe una relación
completa, es decir, existen llamadas entre cada par de líneas.
27
Teoría
de
Grafos
y
R
ANÁLISIS DE LA RED
Detección de comunidades  Resultados
1) Se detectan subredes de números de teléfonos, es decir,
comunidades y cliques de números afines entre sí.
2) Muchos números de teléfono están aislados. Esto no implica
que no realicen llamadas, sino simplemente que no
pertenecen a ninguna subred (comunidad).
3) Estas subredes (comunidades) pueden ser debidas a:
 Relaciones profesionales por ser números pertenecientes a
personas vinculadas en la organización profesionalmente (p.ej.:
pertenecen al mismo departamento o a departamentos afines).
 Relaciones no profesionales: personas afines que se llaman entre
sí, pero no por motivos profesionales (p. ej.: llamadas fuera del
horario laboral). 28
Teoría
de
Grafos
y
R
CONCLUSIONES
 La teoría de grafos es una herramienta matemática muy
potente para la detección de relaciones en una organización.
 Con R se dispone de las utilidades necesarias para analizar
de forma eficiente un grafo o una red.
 Cualquier estructura social que se pueda representar
mediante un grafo puede ser analizada para extraer
información útil de ella.
 En el proyecto estudiado se ha modelado el conjunto de
líneas telefónicas de una organización para extraer las
relaciones existentes entre los empleados.
 Se detectan relaciones potencialmente no profesionales y, por
lo tanto, posibles llamadas telefónicas innecesarias para la
organización.
29
Teoría
de
Grafos
y
R
BIBLIOGRAFÍA
Teoría de Grafos
 van Steen, Maarten (2010). “Graph Theory and Complex Networks:
An Introduction”.
 Trudeau, Richard J. (1993). “Introduction to Graph Theory”.
 Deo, Narsingh (1974). Graph “Theory with Application to
Engineering and Computer Science”, Prentice-Hall, Englewood Cliffs,
N.J.
R
 R Core Team (2018). “R: A Language and Environment for Statistical
Computing”. R Foundation for Statistical Computing. Vienna, Austria.
URL: https://www.R-project.org
 Csardi, Gabor y Nepusz, Tamas (2005). “The igraph software
package for complex network research”. InterJournal Complex
Systems, pág. 1695. URL: http://igraph.org
30
Teoría
de
Grafos
y
R

Mais conteúdo relacionado

Mais procurados

02 c++ Array Pointer
02 c++ Array Pointer02 c++ Array Pointer
02 c++ Array Pointer
Tareq Hasan
 
Taller modelo entidad relacion
Taller modelo entidad relacionTaller modelo entidad relacion
Taller modelo entidad relacion
Angeliik Cortes
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
tephyfree
 

Mais procurados (20)

Estructura de registros
Estructura de registrosEstructura de registros
Estructura de registros
 
02 c++ Array Pointer
02 c++ Array Pointer02 c++ Array Pointer
02 c++ Array Pointer
 
Introduction to Python programming Language
Introduction to Python programming LanguageIntroduction to Python programming Language
Introduction to Python programming Language
 
Teoria de Automatas & Lenguajes Formales
Teoria de Automatas & Lenguajes FormalesTeoria de Automatas & Lenguajes Formales
Teoria de Automatas & Lenguajes Formales
 
Strings in c++
Strings in c++Strings in c++
Strings in c++
 
Máquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y AplicacionesMáquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y Aplicaciones
 
Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison
 
Python 2 vs. Python 3
Python 2 vs. Python 3Python 2 vs. Python 3
Python 2 vs. Python 3
 
Sistema operativo Symbian
Sistema operativo SymbianSistema operativo Symbian
Sistema operativo Symbian
 
Historia Y EvolucióN De Los Lenguajes De ProgramacióN
Historia Y EvolucióN De Los Lenguajes De ProgramacióNHistoria Y EvolucióN De Los Lenguajes De ProgramacióN
Historia Y EvolucióN De Los Lenguajes De ProgramacióN
 
Manual sql server parte 1
Manual sql server parte 1Manual sql server parte 1
Manual sql server parte 1
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseint
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
 
Flujos de Entrada y Salida en Java
Flujos de Entrada y Salida en JavaFlujos de Entrada y Salida en Java
Flujos de Entrada y Salida en Java
 
Taller modelo entidad relacion
Taller modelo entidad relacionTaller modelo entidad relacion
Taller modelo entidad relacion
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Modelo E R
Modelo E RModelo E R
Modelo E R
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
Evolución de los sgbd
Evolución de los sgbdEvolución de los sgbd
Evolución de los sgbd
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 

Semelhante a Análisis de llamadas telefónicas con Teoría de Grafos y R

Presentación1 grafos
Presentación1 grafosPresentación1 grafos
Presentación1 grafos
ozilricardo
 
Presentación1 grafos
Presentación1 grafosPresentación1 grafos
Presentación1 grafos
ozilricardo
 

Semelhante a Análisis de llamadas telefónicas con Teoría de Grafos y R (20)

Ciencia de redes con R: Una introducción al universo de paquetes para ciencia...
Ciencia de redes con R: Una introducción al universo de paquetes para ciencia...Ciencia de redes con R: Una introducción al universo de paquetes para ciencia...
Ciencia de redes con R: Una introducción al universo de paquetes para ciencia...
 
Grafos
GrafosGrafos
Grafos
 
Minimización de Red
Minimización de RedMinimización de Red
Minimización de Red
 
Segunda Parte Teórica: Teoría de Redes
Segunda Parte Teórica: Teoría de RedesSegunda Parte Teórica: Teoría de Redes
Segunda Parte Teórica: Teoría de Redes
 
Grafos 8.1 2016
Grafos 8.1 2016Grafos 8.1 2016
Grafos 8.1 2016
 
Grafos 8.1 2016
Grafos 8.1 2016Grafos 8.1 2016
Grafos 8.1 2016
 
717
717717
717
 
Grafos 8.1.1
Grafos 8.1.1Grafos 8.1.1
Grafos 8.1.1
 
Actividad complementaria
Actividad complementariaActividad complementaria
Actividad complementaria
 
Visualización de Redes: Herramientas y Técnicas para la Creación y Evaluación...
Visualización de Redes: Herramientas y Técnicas para la Creación y Evaluación...Visualización de Redes: Herramientas y Técnicas para la Creación y Evaluación...
Visualización de Redes: Herramientas y Técnicas para la Creación y Evaluación...
 
REDES.PPT
REDES.PPTREDES.PPT
REDES.PPT
 
Tema 5 diapositivas de la teoría de grafos.pptx
Tema 5 diapositivas de la teoría de grafos.pptxTema 5 diapositivas de la teoría de grafos.pptx
Tema 5 diapositivas de la teoría de grafos.pptx
 
Dialnet redes neuronalesy-predicciondetrafico-3802210
Dialnet redes neuronalesy-predicciondetrafico-3802210Dialnet redes neuronalesy-predicciondetrafico-3802210
Dialnet redes neuronalesy-predicciondetrafico-3802210
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
 
Practica #2
Practica #2Practica #2
Practica #2
 
Presentación1 grafos
Presentación1 grafosPresentación1 grafos
Presentación1 grafos
 
Presentación1 grafos
Presentación1 grafosPresentación1 grafos
Presentación1 grafos
 
Teoria de Redes
Teoria de Redes Teoria de Redes
Teoria de Redes
 
Unidad iii
Unidad iiiUnidad iii
Unidad iii
 
Grafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número CromáticoGrafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número Cromático
 

Mais de Rafael Nogueras

Mais de Rafael Nogueras (14)

Analyzing Resilience to Computational Glitches in Island-based Evolutionary A...
Analyzing Resilience to Computational Glitches in Island-based Evolutionary A...Analyzing Resilience to Computational Glitches in Island-based Evolutionary A...
Analyzing Resilience to Computational Glitches in Island-based Evolutionary A...
 
A Performance Analysis of Self-* Evolutionary Algorithms on Networks with Cor...
A Performance Analysis of Self-* Evolutionary Algorithms on Networks with Cor...A Performance Analysis of Self-* Evolutionary Algorithms on Networks with Cor...
A Performance Analysis of Self-* Evolutionary Algorithms on Networks with Cor...
 
Evaluating Island-based EAs on Unstable Networks with Complex Failure Patterns
Evaluating Island-based EAs on Unstable Networks with Complex Failure PatternsEvaluating Island-based EAs on Unstable Networks with Complex Failure Patterns
Evaluating Island-based EAs on Unstable Networks with Complex Failure Patterns
 
A Study of the Performance of Self-* Memetic Algorithms on Heterogeneous Ephe...
A Study of the Performance of Self-* Memetic Algorithms on Heterogeneous Ephe...A Study of the Performance of Self-* Memetic Algorithms on Heterogeneous Ephe...
A Study of the Performance of Self-* Memetic Algorithms on Heterogeneous Ephe...
 
Self-sampling Strategies for Multimemetic Algorithms in Unstable Computationa...
Self-sampling Strategies for Multimemetic Algorithms in Unstable Computationa...Self-sampling Strategies for Multimemetic Algorithms in Unstable Computationa...
Self-sampling Strategies for Multimemetic Algorithms in Unstable Computationa...
 
Sensitivity Analysis of Checkpointing Strategies for Multimemetic Algorithms ...
Sensitivity Analysis of Checkpointing Strategies for Multimemetic Algorithms ...Sensitivity Analysis of Checkpointing Strategies for Multimemetic Algorithms ...
Sensitivity Analysis of Checkpointing Strategies for Multimemetic Algorithms ...
 
Self-Balancing Multimemetic Algorithms in Dynamic Scale-Free Networks
Self-Balancing Multimemetic Algorithms in Dynamic Scale-Free NetworksSelf-Balancing Multimemetic Algorithms in Dynamic Scale-Free Networks
Self-Balancing Multimemetic Algorithms in Dynamic Scale-Free Networks
 
On Meme Self-Adaptation in Spatially-Structured Multimemetic Algorithms
On Meme Self-Adaptation in Spatially-Structured Multimemetic AlgorithmsOn Meme Self-Adaptation in Spatially-Structured Multimemetic Algorithms
On Meme Self-Adaptation in Spatially-Structured Multimemetic Algorithms
 
A Study on Multimemetic Estimation of Distribution Algorithms
A Study on Multimemetic Estimation of Distribution AlgorithmsA Study on Multimemetic Estimation of Distribution Algorithms
A Study on Multimemetic Estimation of Distribution Algorithms
 
An Analysis of Migration Strategies in Island-Based Multimemetic Algorithms
An Analysis of Migration Strategies in Island-Based Multimemetic AlgorithmsAn Analysis of Migration Strategies in Island-Based Multimemetic Algorithms
An Analysis of Migration Strategies in Island-Based Multimemetic Algorithms
 
An Analysis of a Selecto-Lamarckian Model of Multimemetic Algorithms with Dyn...
An Analysis of a Selecto-Lamarckian Model of Multimemetic Algorithms with Dyn...An Analysis of a Selecto-Lamarckian Model of Multimemetic Algorithms with Dyn...
An Analysis of a Selecto-Lamarckian Model of Multimemetic Algorithms with Dyn...
 
Analyzing Meme Propagation in Multimemetic Algorithms
Analyzing Meme Propagation in Multimemetic AlgorithmsAnalyzing Meme Propagation in Multimemetic Algorithms
Analyzing Meme Propagation in Multimemetic Algorithms
 
Introducción de Sesgo Heurístico en Algoritmos Genéticos Mediante Operadores ...
Introducción de Sesgo Heurístico en Algoritmos Genéticos Mediante Operadores ...Introducción de Sesgo Heurístico en Algoritmos Genéticos Mediante Operadores ...
Introducción de Sesgo Heurístico en Algoritmos Genéticos Mediante Operadores ...
 
On Partitioned Fitness Distributions of Genetic Operators for Predicting GA P...
On Partitioned Fitness Distributions of Genetic Operators for Predicting GA P...On Partitioned Fitness Distributions of Genetic Operators for Predicting GA P...
On Partitioned Fitness Distributions of Genetic Operators for Predicting GA P...
 

Último

Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
JC Díaz Herrera
 
Conversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latinoConversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latino
BESTTech1
 
ETICA EN LA CADENAS la cadena de suministro
ETICA EN LA CADENAS la cadena de suministroETICA EN LA CADENAS la cadena de suministro
ETICA EN LA CADENAS la cadena de suministro
IrisMoreno27
 

Último (20)

Los más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdfLos más ricos administradores de fondo de cobertura (1968-2024).pdf
Los más ricos administradores de fondo de cobertura (1968-2024).pdf
 
Tipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptxTipos de Educacion en diferentes partes del mundo.pptx
Tipos de Educacion en diferentes partes del mundo.pptx
 
Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1Alfredo Gabriel Rodriguez Yajure Tarea#1
Alfredo Gabriel Rodriguez Yajure Tarea#1
 
El Manierismo. El Manierismo
El Manierismo.              El ManierismoEl Manierismo.              El Manierismo
El Manierismo. El Manierismo
 
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de CyclisticAnálisis de datos en acción: Optimizando el crecimiento de Cyclistic
Análisis de datos en acción: Optimizando el crecimiento de Cyclistic
 
Principales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto RicoPrincipales Retos Demográficos de Puerto Rico
Principales Retos Demográficos de Puerto Rico
 
COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .COMUNICADO PARA TODO TIPO DE REUNIONES .
COMUNICADO PARA TODO TIPO DE REUNIONES .
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
Conversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latinoConversacion.pptx en guarani boliviano latino
Conversacion.pptx en guarani boliviano latino
 
Los idiomas más hablados en el mundo (2024).pdf
Los idiomas más hablados en el mundo  (2024).pdfLos idiomas más hablados en el mundo  (2024).pdf
Los idiomas más hablados en el mundo (2024).pdf
 
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILASistema Nacional de Vigilancia en Salud Pública SIVIGILA
Sistema Nacional de Vigilancia en Salud Pública SIVIGILA
 
Panorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATOPanorama Sociodemográfico de México 2020: GUANAJUATO
Panorama Sociodemográfico de México 2020: GUANAJUATO
 
Presentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdfPresentacion-Prevencion-Incendios-Forestales.pdf
Presentacion-Prevencion-Incendios-Forestales.pdf
 
ETICA EN LA CADENAS la cadena de suministro
ETICA EN LA CADENAS la cadena de suministroETICA EN LA CADENAS la cadena de suministro
ETICA EN LA CADENAS la cadena de suministro
 
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdfPosiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
 
procedimiento paran la planificación en los centros educativos tipo v(multig...
procedimiento  paran la planificación en los centros educativos tipo v(multig...procedimiento  paran la planificación en los centros educativos tipo v(multig...
procedimiento paran la planificación en los centros educativos tipo v(multig...
 
Posiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdfPosiciones en el IDH global de EUA (1950-2024).pdf
Posiciones en el IDH global de EUA (1950-2024).pdf
 
La Guerra Biologica - Emiliano Paico Vilchez.pdf
La Guerra Biologica - Emiliano Paico Vilchez.pdfLa Guerra Biologica - Emiliano Paico Vilchez.pdf
La Guerra Biologica - Emiliano Paico Vilchez.pdf
 
Los primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdfLos primeros 60 países por IDH en el año (2024).pdf
Los primeros 60 países por IDH en el año (2024).pdf
 
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdfIndustria musical de EUA vs Industria musical Corea del Sur (2024).pdf
Industria musical de EUA vs Industria musical Corea del Sur (2024).pdf
 

Análisis de llamadas telefónicas con Teoría de Grafos y R

  • 1. ANÁLISIS DE LOS FLUJOS DE LLAMADAS EN UNA ORGANIZACIÓN CON TEORÍA DE GRAFOS Y R Dr. Rafael Nogueras https://rafaelnogueras.wordpress.com Agosto 2021
  • 2. ÍNDICE  Alcance  Introducción  Teoría de Grafos  Lenguaje de Programación R  Planteamiento del Problema  Creación de la Red  Visualización de la Red  Análisis de la Red  Conclusiones  Bibliografía 2 Teoría de Grafos y R
  • 3. ALCANCE SITUACIÓN  En una organización puede haber un número elevado de líneas telefónicas.  Estas líneas son asignadas a los empleados para uso profesional.  Puede haber un gasto elevado en llamadas telefónicas y en tiempo de trabajo. OBJETIVOS  Analizar el uso de las líneas telefónicas.  Detectar usos indebidos.  Determinar posibles relaciones profesionales para mejorar la eficiencia y reorganizar departamentos.  Disminuir el gasto telefónico y el tiempo ocioso en la organización. 3 Teoría de Grafos y R
  • 4. INTRODUCCIÓN  Según la RAE “una red es un conjunto de elementos organizados para determinado fin”.  También “un conjunto de equipos informáticos conectados entre sí y que pueden intercambiar información”.  Existe un interés creciente por el análisis de datos y en concreto, por el análisis de datos de redes. Tipos de redes:  Redes sociales: Facebook, LinkedIn, ResearchGate, etc.  Redes de infraestructuras: electricidad, saneamiento, carreteras, aeropuertos, etc.  Redes biológicas: epidemiológicas (covid-19), neuronales, etc.  Redes informáticas: Internet, redes locales, páginas webs, etc. 4 Teoría de Grafos y R
  • 5. INTRODUCCIÓN En una organización:  Gran cantidad de información (datos) disponible para su análisis.  Necesario  Herramientas y conocimientos para aplicar las técnicas adecuadas. Pero, ¿cómo se pueden modelar las llamadas telefónicas mediante una red?  Cada línea telefónica puede modelarse como un vértice (nodo) de una red.  Las llamadas telefónicas entre diferentes líneas son las aristas (ejes) que conectan cada nodo de la red. 5 Teoría de Grafos y R
  • 6. TEORÍA DE GRAFOS  Un grafo G es un elemento formado por un conjunto de puntos llamados vértices o nodos (V), unidos por un conjunto de aristas denominadas arcos o ejes (E). G = (V, E).  Leonhard Euler, matemático y físico suizo, desarrolló la teoría de grafos en el siglo XVIII, al resolver el problema de los siete puentes de Königsberg.  Las redes se pueden representar matemáticamente mediante grafos y la teoría de grafos es la rama de las matemáticas que estudia sus propiedades.  Actualmente la teoría de grafos tiene una gran aplicabilidad en diversas áreas de la ingeniería informática. 6 Teoría de Grafos y R
  • 7. TEORÍA DE GRAFOS Definiciones:  Nodos (vértices): conjunto de objetos que se interrelacionan. El número total de nodos es el orden de la red y se denota por Nv.  Ejes (aristas): conjunto de pares de nodos relacionados. El número total de ejes es el tamaño de la red y se denota por Ne.  Atributos: características de los nodos o de los ejes.  El grafo puede ser dirigido (si existe un orden entre los nodos relacionados).  Un nodo es aislado si no tiene relación con el resto.  Un eje es un lazo si conecta un nodo consigo mismo. 7 Teoría de Grafos y R
  • 8. LENGUAJE DE PROGRAMACIÓN R  R es un entorno y un lenguaje de programación orientado al análisis estadístico.  Muy utilizado en ciencia de datos y en aprendizaje automático. También para problemas económicos y financieros.  R proporciona un amplio abanico de herramientas estadísticas (modelos lineales y no lineales, tests estadísticos, análisis de series temporales, algoritmos de clasificación y agrupamiento, etc.).  R tiene una gran capacidad gráfica, que permite generar gráficos con alta calidad.  R forma parte de un proyecto colaborativo y abierto, lo que permite incrementar los paquete disponibles. 8 Teoría de Grafos y R
  • 9. LENGUAJE DE PROGRAMACIÓN R igraph – The network analysis package  La librería igraph es una colección de herramientas para el análisis de redes open source y free.  igraph puede programarse en diversos lenguajes: R, Python, Mathematica y C/C++.  La URL es: https://igraph.org La versión para R:  Dispone de múltiples algoritmos para el análisis de redes de gran tamaño.  Facilita la representación y visualización de la red.  La URL es: http://igraph.org/r 9 Teoría de Grafos y R
  • 10. PLANTEAMIENTO DEL PROBLEMA Componentes de la red:  Nodos: las líneas telefónicas de la organización. Nv ≈ 250.  Ejes: las llamadas realizadas entre dos líneas (nodos) durante un periodo de tiempo t. Ne ≈ 10000, t = 30 días.  La red es dirigida, ya que el orden de la llamada tiene relevancia.  Los ejes iguales se agrupan añadiendo un peso que representa el número de llamadas realizadas entre ellos. 10 Teoría de Grafos y R
  • 11. PLANTEAMIENTO DEL PROBLEMA Atributos de la red:  Cada nodo tiene un atributo “ext”, que representa la extensión del número de teléfono, es decir, su número interno corto.  Cada eje (x,y) dispone de un atributo denominado “weight” con el número de llamadas realizadas desde la línea x a la y. 11 Teoría de Grafos y R
  • 12. CREACIÓN DE LA RED  La red se puede crear a partir de datos representados en dos estructuras:  Matrices de proximidad (adjacency matrix): matriz que relaciona los nodos en filas y columnas. Función en R: g  graph_from_data_frame  Edgelist: matriz de dos columnas en la que cada fila representa una conexión entre dos nodos individuales. Función en R: g  graph.edgelist  En ambos casos se crea el objeto de R denominado igraph.  El fichero de datos con todas las llamadas realizadas con los números de la organización tiene la forma: (tel1,ext,tel2,weight). Doble Análisis:  Llamadas entre números internos.  Llamadas a números externos. 12 Teoría de Grafos y R
  • 13. CREACIÓN DE LA RED Llamadas entre números internos:  Antes de la creación de la red se filtran las llamadas (ejes)  inicialmente solo llamadas entre números internos.  En R se puede hacer con la función filter.  El gráfico se puede dibujar con la función plot usando diversos tipos de layout (circular): 13 Teoría de Grafos y R
  • 14. VISUALIZACIÓN DE LA RED La representación gráfica de una red con muchos nodos y ejes puede ser confusa  Reducir la red:  Se pueden eliminar nodos aislados mediante la función: delete.vertices(g,degree(g)==0)  Se pueden eliminar ejes cuyo peso sea menor que p: delete_edges(g, E(g)[weight < p])  El orden de eliminación influye en el resultado. 14 Teoría de Grafos y R
  • 15. VISUALIZACIÓN DE LA RED  Primero se eliminan los nodos aislados y después los ejes con peso menor que p:  Primero se eliminan los ejes con peso menor que p y después los nodos aislados: 15 Teoría de Grafos y R
  • 16. VISUALIZACIÓN DE LA RED Algunas conclusiones:  Se observan algunas agrupaciones de llamadas entre números.  Hay números de teléfono aislados o solo conectados con otro número.  Existen múltiples opciones para representar los grafos:  Ordenados en una retícula (layout_on_grid)  En círculo (layout_in_circle)  En árbol (layout_as_tree)  Siguiendo diversos algoritmos: simulated annealing (layout_with_dh), método de Kamada-Kawai (layout_with_kk), algoritmo de Fruchterman-Reingold (layout_with_fr), etc.  La elección de la representación puede ser importante. 16 Teoría de Grafos y R
  • 17. ANÁLISIS DE LA RED Definición: distancia geodésica  Para una red la distancia geodésica entre dos nodos u y v, denotada por dist(u,v), se define como la longitud del camino mas corto entre los nodos, es decir, el numero de ejes para ir de un nodo al otro.  dist (u,v) = ∞ si u y v son inalcanzables entre sí (en grafos dirigidos si desde u no se puede llegar a v).  El valor de la mayor distancia geodésica (excluyendo ∞) en una red se denomina diámetro de la red. 17 Teoría de Grafos y R
  • 18. ANÁLISIS DE LA RED Nodos de gran influencia  Medidas de Centralidad El grado de un nodo es el número de ejes que salen o llegan al nodo  es un indicador de la conectividad del nodo.  Las llamadas que realizan: dg  degree(g, mode = c(“out”))  Las llamadas que reciben: dg  degree(g, mode = c(“in”))  ¿Cuál es el teléfono que más llama? which.max(degree(g, mode = c(“out”)))  ¿Cuántas llamadas realiza? max(degree(g, mode = c(“out”)))  Ordenar todos los teléfonos por número de llamadas: dg[order(degree(g, mode = c("out")), decreasing = T, na.last = T)] 18 Teoría de Grafos y R
  • 19. ANÁLISIS DE LA RED Nodos de gran influencia  Medidas de Centralidad La centralidad por intermediación de un nodo (betweenness) es la frecuencia de aparición del nodo en todos los caminos mínimos del grafo. 𝐵𝑒𝑡𝑤𝑒𝑒𝑛𝑛𝑒𝑠𝑠 𝑣 = 𝑖,𝑗≠𝑣∈𝑉 𝜎𝑖𝑗 𝑣 𝜎𝑖𝑗 Siendo 𝜎𝑖𝑗 el número de rutas de mínima distancia entre i y j y 𝜎𝑖𝑗(v) el número de rutas de mínima distancia entre i y j que pasan por v.  Es una medida de la importancia de un nodo, como punto intermedio de conexión entre los demás.  Cálculo: b <- betweenness(g, directed = T)  ¿Cuál es el teléfono más influyente? which.max(b) 19 Teoría de Grafos y R
  • 20. ANÁLISIS DE LA RED Nodos de gran influencia  Medidas de Centralidad La centralidad por cercanía de un nodo (closeness) es el promedio de las distancias del nodo a todos los demás. 𝐶𝑙𝑜𝑠𝑒𝑛𝑒𝑠𝑠(𝑣) = 1 𝑖∈𝑉 𝑑𝑖𝑠𝑡(𝑣, 𝑖)  Se considera una medida de centralidad global. Menos fiable para grafos desconectados.  Cálculo: c <- closeness(g, directed = T)  ¿Cuál es el teléfono más influyente según su closeness? which.max(c) 20 Teoría de Grafos y R
  • 21. ANÁLISIS DE LA RED Nodos de gran influencia  Medidas de Centralidad La centralidad del autovector (authority.score) analiza el nodo en función de los autovalores y autovectores de la matriz de adyacencia.  Se considera una medida de centralidad global.  Cálculo: as <- authority.score(g)$vector  ¿Cuál es el teléfono más influyente según su closeness? which.max(as) 21 Teoría de Grafos y R
  • 22. ANÁLISIS DE LA RED Nodos de gran influencia  Resultados 1) Examinando el grado de los nodos se detecta que hay unas pocas líneas desde las que se realizan muchas llamadas a números diferentes (internos y externos). 2) Con las métricas de centralidad se detectan algunas líneas influyentes, diferentes a las detectadas en el punto anterior. 3) Además, accediendo directamente a los datos se encuentran pares de líneas desde las que se realiza un gran número de llamadas entre ellas. 22 Teoría de Grafos y R
  • 23. ANÁLISIS DE LA RED Nodos de gran influencia  Otras métricas  Distancia promedio (mean_distance): calcula el promedio de las distancias entre todos los pares de nodos de la red.  Excentricidad de un nodo (eccentricity): se define como la distancia del nodo al nodo más lejano del grafo.  Diámetro (diameter): calcula el valor máximo de la excentricidad.  Densidad (edge_density): es la proporción de pares de nodos conectados en el grafo sobre todos los posibles.  Transitividad (transitivity): es una medida de la ocurrencia de pequeñas subredes de tres nodos totalmente conexas.  Reciprocidad (reciprocity): calcula la probabilidad de que si existe un eje E(x,y) también exista el eje E(y,x). 23 Teoría de Grafos y R
  • 24. ANÁLISIS DE LA RED Detección de comunidades  Se trata de detectar la existencia de subredes mediante la segmentación de los nodos de la red en conjuntos disjuntos.  A los subconjuntos de nodos más estrechamente relacionados se le denomina comunidad. Existen muchos algoritmos para detectar comunidades:  Método de Girvan-Newman (cluster_edge_betweenness(g))  Algoritmo voraz (cluster_fast_greedy(g))  Algoritmo de propagación de etiquetas (cluster_label_prop(g))  Método de camino aleatorio (cluster_walktrap(g)) 24 Teoría de Grafos y R
  • 25. ANÁLISIS DE LA RED Detección de comunidades  Método de Girvan-Newman  Algoritmo voraz 25 Teoría de Grafos y R
  • 26. ANÁLISIS DE LA RED Detección de comunidades: Cliques  Un clique C, en un grafo no dirigido G = (V, E), es un conjunto de nodos, C ⊆ V, tal que todo par de nodos distintos son adyacentes, es decir, existe un eje que los conecta. Esto equivale a decir que el subgrafo de G inducido por C es un grafo completo.  En R tenemos la función largest_cliques(g) para obtener los cliques más grandes de la red. 26 Teoría de Grafos y R
  • 27. ANÁLISIS DE LA RED Detección de comunidades: Cliques  Se detectan varios cliques de tamaño máximo 7.  En este subconjunto de líneas de teléfono existe una relación completa, es decir, existen llamadas entre cada par de líneas. 27 Teoría de Grafos y R
  • 28. ANÁLISIS DE LA RED Detección de comunidades  Resultados 1) Se detectan subredes de números de teléfonos, es decir, comunidades y cliques de números afines entre sí. 2) Muchos números de teléfono están aislados. Esto no implica que no realicen llamadas, sino simplemente que no pertenecen a ninguna subred (comunidad). 3) Estas subredes (comunidades) pueden ser debidas a:  Relaciones profesionales por ser números pertenecientes a personas vinculadas en la organización profesionalmente (p.ej.: pertenecen al mismo departamento o a departamentos afines).  Relaciones no profesionales: personas afines que se llaman entre sí, pero no por motivos profesionales (p. ej.: llamadas fuera del horario laboral). 28 Teoría de Grafos y R
  • 29. CONCLUSIONES  La teoría de grafos es una herramienta matemática muy potente para la detección de relaciones en una organización.  Con R se dispone de las utilidades necesarias para analizar de forma eficiente un grafo o una red.  Cualquier estructura social que se pueda representar mediante un grafo puede ser analizada para extraer información útil de ella.  En el proyecto estudiado se ha modelado el conjunto de líneas telefónicas de una organización para extraer las relaciones existentes entre los empleados.  Se detectan relaciones potencialmente no profesionales y, por lo tanto, posibles llamadas telefónicas innecesarias para la organización. 29 Teoría de Grafos y R
  • 30. BIBLIOGRAFÍA Teoría de Grafos  van Steen, Maarten (2010). “Graph Theory and Complex Networks: An Introduction”.  Trudeau, Richard J. (1993). “Introduction to Graph Theory”.  Deo, Narsingh (1974). Graph “Theory with Application to Engineering and Computer Science”, Prentice-Hall, Englewood Cliffs, N.J. R  R Core Team (2018). “R: A Language and Environment for Statistical Computing”. R Foundation for Statistical Computing. Vienna, Austria. URL: https://www.R-project.org  Csardi, Gabor y Nepusz, Tamas (2005). “The igraph software package for complex network research”. InterJournal Complex Systems, pág. 1695. URL: http://igraph.org 30 Teoría de Grafos y R