SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

The dag representation of basic blocks
The dag representation of basic blocksThe dag representation of basic blocks
The dag representation of basic blocksShabeen Taj
 
Graph theory[1]
Graph theory[1]Graph theory[1]
Graph theory[1]sethamit
 
SCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATION
SCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATIONSCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATION
SCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATIONaftab alam
 
Matlab matrices and arrays
Matlab matrices and arraysMatlab matrices and arrays
Matlab matrices and arraysAmeen San
 
Directed Acyclic Graph
Directed Acyclic Graph Directed Acyclic Graph
Directed Acyclic Graph AJAL A J
 
Directed Acyclic Graph Representation of basic blocks
Directed Acyclic Graph Representation of basic blocksDirected Acyclic Graph Representation of basic blocks
Directed Acyclic Graph Representation of basic blocksMohammad Vaseem Akaram
 
Learning Graph Representation for Data-Efficiency RL
Learning Graph Representation for Data-Efficiency RLLearning Graph Representation for Data-Efficiency RL
Learning Graph Representation for Data-Efficiency RLlauratoni4
 
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...lauratoni4
 
Applied parallel coordinates for logs and network traffic attack analysis
Applied parallel coordinates for logs and network traffic attack analysisApplied parallel coordinates for logs and network traffic attack analysis
Applied parallel coordinates for logs and network traffic attack analysisUltraUploader
 
Generating code from dags
Generating code from dagsGenerating code from dags
Generating code from dagsindhu mathi
 
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...lauratoni4
 
Scala as a Declarative Language
Scala as a Declarative LanguageScala as a Declarative Language
Scala as a Declarative Languagevsssuresh
 
A New Signature Protocol Based on RSA and Elgamal Scheme
A New Signature Protocol Based on RSA and Elgamal SchemeA New Signature Protocol Based on RSA and Elgamal Scheme
A New Signature Protocol Based on RSA and Elgamal SchemeZac Darcy
 
Dica trentatrè. &lt;?php echo "33"; ?>. Controllare lo stato di salute di una...
Dica trentatrè. &lt;?php echo "33"; ?>. Controllare lo stato di salute di una...Dica trentatrè. &lt;?php echo "33"; ?>. Controllare lo stato di salute di una...
Dica trentatrè. &lt;?php echo "33"; ?>. Controllare lo stato di salute di una...Michele Orselli
 
Analysis of Impact of Graph Theory in Computer Application
Analysis of Impact of Graph Theory in Computer ApplicationAnalysis of Impact of Graph Theory in Computer Application
Analysis of Impact of Graph Theory in Computer ApplicationIRJET Journal
 
data structures and algorithms Unit 2
data structures and algorithms Unit 2data structures and algorithms Unit 2
data structures and algorithms Unit 2infanciaj
 
Ec2203 digital electronics questions anna university by www.annaunivedu.org
Ec2203 digital electronics questions anna university by www.annaunivedu.orgEc2203 digital electronics questions anna university by www.annaunivedu.org
Ec2203 digital electronics questions anna university by www.annaunivedu.organnaunivedu
 
Finding the shortest path in a graph and its visualization using C# and WPF
Finding the shortest path in a graph and its visualization using C# and WPF Finding the shortest path in a graph and its visualization using C# and WPF
Finding the shortest path in a graph and its visualization using C# and WPF IJECEIAES
 

What's hot (20)

The dag representation of basic blocks
The dag representation of basic blocksThe dag representation of basic blocks
The dag representation of basic blocks
 
8150.graphs
8150.graphs8150.graphs
8150.graphs
 
Graph theory[1]
Graph theory[1]Graph theory[1]
Graph theory[1]
 
SCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATION
SCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATIONSCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATION
SCALABLE PATTERN MATCHING OVER COMPRESSED GRAPHS VIA DE-DENSIFICATION
 
Matlab matrices and arrays
Matlab matrices and arraysMatlab matrices and arrays
Matlab matrices and arrays
 
Directed Acyclic Graph
Directed Acyclic Graph Directed Acyclic Graph
Directed Acyclic Graph
 
Directed Acyclic Graph Representation of basic blocks
Directed Acyclic Graph Representation of basic blocksDirected Acyclic Graph Representation of basic blocks
Directed Acyclic Graph Representation of basic blocks
 
Learning Graph Representation for Data-Efficiency RL
Learning Graph Representation for Data-Efficiency RLLearning Graph Representation for Data-Efficiency RL
Learning Graph Representation for Data-Efficiency RL
 
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
 
Programming with matlab session 6
Programming with matlab session 6Programming with matlab session 6
Programming with matlab session 6
 
Applied parallel coordinates for logs and network traffic attack analysis
Applied parallel coordinates for logs and network traffic attack analysisApplied parallel coordinates for logs and network traffic attack analysis
Applied parallel coordinates for logs and network traffic attack analysis
 
Generating code from dags
Generating code from dagsGenerating code from dags
Generating code from dags
 
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
Graph Signal Processing for Machine Learning A Review and New Perspectives - ...
 
Scala as a Declarative Language
Scala as a Declarative LanguageScala as a Declarative Language
Scala as a Declarative Language
 
A New Signature Protocol Based on RSA and Elgamal Scheme
A New Signature Protocol Based on RSA and Elgamal SchemeA New Signature Protocol Based on RSA and Elgamal Scheme
A New Signature Protocol Based on RSA and Elgamal Scheme
 
Dica trentatrè. &lt;?php echo "33"; ?>. Controllare lo stato di salute di una...
Dica trentatrè. &lt;?php echo "33"; ?>. Controllare lo stato di salute di una...Dica trentatrè. &lt;?php echo "33"; ?>. Controllare lo stato di salute di una...
Dica trentatrè. &lt;?php echo "33"; ?>. Controllare lo stato di salute di una...
 
Analysis of Impact of Graph Theory in Computer Application
Analysis of Impact of Graph Theory in Computer ApplicationAnalysis of Impact of Graph Theory in Computer Application
Analysis of Impact of Graph Theory in Computer Application
 
data structures and algorithms Unit 2
data structures and algorithms Unit 2data structures and algorithms Unit 2
data structures and algorithms Unit 2
 
Ec2203 digital electronics questions anna university by www.annaunivedu.org
Ec2203 digital electronics questions anna university by www.annaunivedu.orgEc2203 digital electronics questions anna university by www.annaunivedu.org
Ec2203 digital electronics questions anna university by www.annaunivedu.org
 
Finding the shortest path in a graph and its visualization using C# and WPF
Finding the shortest path in a graph and its visualization using C# and WPF Finding the shortest path in a graph and its visualization using C# and WPF
Finding the shortest path in a graph and its visualization using C# and WPF
 

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

Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXBenjamin Bengfort
 
An Introduction to Graph Databases
An Introduction to Graph DatabasesAn Introduction to Graph Databases
An Introduction to Graph DatabasesInfiniteGraph
 
Graceful labelings
Graceful labelingsGraceful labelings
Graceful labelingsradhikamathy
 
GraphSignalProcessingFinalPaper
GraphSignalProcessingFinalPaperGraphSignalProcessingFinalPaper
GraphSignalProcessingFinalPaperChiraz Nafouki
 
EVOLUTIONARY CENTRALITY AND MAXIMAL CLIQUES IN MOBILE SOCIAL NETWORKS
EVOLUTIONARY CENTRALITY AND MAXIMAL CLIQUES IN MOBILE SOCIAL NETWORKSEVOLUTIONARY CENTRALITY AND MAXIMAL CLIQUES IN MOBILE SOCIAL NETWORKS
EVOLUTIONARY CENTRALITY AND MAXIMAL CLIQUES IN MOBILE SOCIAL NETWORKSijcsit
 
DDGK: Learning Graph Representations for Deep Divergence Graph Kernels
DDGK: Learning Graph Representations for Deep Divergence Graph KernelsDDGK: Learning Graph Representations for Deep Divergence Graph Kernels
DDGK: Learning Graph Representations for Deep Divergence Graph Kernelsivaderivader
 
Embedding bus and ring into hex cell
Embedding bus and ring into hex cellEmbedding bus and ring into hex cell
Embedding bus and ring into hex cellIJCNCJournal
 
Laplacian-regularized Graph Bandits
Laplacian-regularized Graph BanditsLaplacian-regularized Graph Bandits
Laplacian-regularized Graph Banditslauratoni4
 
Abstracting Strings For Model Checking Of C Programs
Abstracting Strings For Model Checking Of C ProgramsAbstracting Strings For Model Checking Of C Programs
Abstracting Strings For Model Checking Of C ProgramsMartha Brown
 
An Efficient Algorithm to Calculate The Connectivity of Hyper-Rings Distribut...
An Efficient Algorithm to Calculate The Connectivity of Hyper-Rings Distribut...An Efficient Algorithm to Calculate The Connectivity of Hyper-Rings Distribut...
An Efficient Algorithm to Calculate The Connectivity of Hyper-Rings Distribut...ijitcs
 
Using spectral radius ratio for node degree
Using spectral radius ratio for node degreeUsing spectral radius ratio for node degree
Using spectral radius ratio for node degreeIJCNCJournal
 
Massive parallelism with gpus for centrality ranking in complex networks
Massive parallelism with gpus for centrality ranking in complex networksMassive parallelism with gpus for centrality ranking in complex networks
Massive parallelism with gpus for centrality ranking in complex networksijcsit
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
From Data to Knowledge thru Grailog Visualization
From Data to Knowledge thru Grailog VisualizationFrom Data to Knowledge thru Grailog Visualization
From Data to Knowledge thru Grailog Visualizationgiurca
 

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

Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkX
 
An Introduction to Graph Databases
An Introduction to Graph DatabasesAn Introduction to Graph Databases
An Introduction to Graph Databases
 
Graceful labelings
Graceful labelingsGraceful labelings
Graceful labelings
 
Ijcnc050213
Ijcnc050213Ijcnc050213
Ijcnc050213
 
Massivegraph telecom ppt
Massivegraph telecom pptMassivegraph telecom ppt
Massivegraph telecom ppt
 
Dijkstra
DijkstraDijkstra
Dijkstra
 
d
dd
d
 
GraphSignalProcessingFinalPaper
GraphSignalProcessingFinalPaperGraphSignalProcessingFinalPaper
GraphSignalProcessingFinalPaper
 
EVOLUTIONARY CENTRALITY AND MAXIMAL CLIQUES IN MOBILE SOCIAL NETWORKS
EVOLUTIONARY CENTRALITY AND MAXIMAL CLIQUES IN MOBILE SOCIAL NETWORKSEVOLUTIONARY CENTRALITY AND MAXIMAL CLIQUES IN MOBILE SOCIAL NETWORKS
EVOLUTIONARY CENTRALITY AND MAXIMAL CLIQUES IN MOBILE SOCIAL NETWORKS
 
DDGK: Learning Graph Representations for Deep Divergence Graph Kernels
DDGK: Learning Graph Representations for Deep Divergence Graph KernelsDDGK: Learning Graph Representations for Deep Divergence Graph Kernels
DDGK: Learning Graph Representations for Deep Divergence Graph Kernels
 
Embedding bus and ring into hex cell
Embedding bus and ring into hex cellEmbedding bus and ring into hex cell
Embedding bus and ring into hex cell
 
Laplacian-regularized Graph Bandits
Laplacian-regularized Graph BanditsLaplacian-regularized Graph Bandits
Laplacian-regularized Graph Bandits
 
Abstracting Strings For Model Checking Of C Programs
Abstracting Strings For Model Checking Of C ProgramsAbstracting Strings For Model Checking Of C Programs
Abstracting Strings For Model Checking Of C Programs
 
An Efficient Algorithm to Calculate The Connectivity of Hyper-Rings Distribut...
An Efficient Algorithm to Calculate The Connectivity of Hyper-Rings Distribut...An Efficient Algorithm to Calculate The Connectivity of Hyper-Rings Distribut...
An Efficient Algorithm to Calculate The Connectivity of Hyper-Rings Distribut...
 
CPP Homework Help
CPP Homework HelpCPP Homework Help
CPP Homework Help
 
Using spectral radius ratio for node degree
Using spectral radius ratio for node degreeUsing spectral radius ratio for node degree
Using spectral radius ratio for node degree
 
Massive parallelism with gpus for centrality ranking in complex networks
Massive parallelism with gpus for centrality ranking in complex networksMassive parallelism with gpus for centrality ranking in complex networks
Massive parallelism with gpus for centrality ranking in complex networks
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
From Data to Knowledge thru Grailog Visualization
From Data to Knowledge thru Grailog VisualizationFrom Data to Knowledge thru Grailog Visualization
From Data to Knowledge thru Grailog Visualization
 
Algorithms Design Exam Help
Algorithms Design Exam HelpAlgorithms Design Exam Help
Algorithms Design Exam Help
 

Recently uploaded

Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfLars Albertsson
 
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...Suhani Kapoor
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSAishani27
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...Florian Roscheck
 
Data Science Project: Advancements in Fetal Health Classification
Data Science Project: Advancements in Fetal Health ClassificationData Science Project: Advancements in Fetal Health Classification
Data Science Project: Advancements in Fetal Health ClassificationBoston Institute of Analytics
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxFurkanTasci3
 
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...shivangimorya083
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改atducpo
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 

Recently uploaded (20)

Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
VIP High Class Call Girls Bikaner Anushka 8250192130 Independent Escort Servi...
 
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
(PARI) Call Girls Wanowrie ( 7001035870 ) HI-Fi Pune Escorts Service
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in  KishangarhDelhi 99530 vip 56974 Genuine Escort Service Call Girls in  Kishangarh
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
 
Russian Call Girls Dwarka Sector 15 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
Russian Call Girls Dwarka Sector 15 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...Russian Call Girls Dwarka Sector 15 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
Russian Call Girls Dwarka Sector 15 💓 Delhi 9999965857 @Sabina Modi VVIP MODE...
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
Ukraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICSUkraine War presentation: KNOW THE BASICS
Ukraine War presentation: KNOW THE BASICS
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
E-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptxE-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptx
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
 
Data Science Project: Advancements in Fetal Health Classification
Data Science Project: Advancements in Fetal Health ClassificationData Science Project: Advancements in Fetal Health Classification
Data Science Project: Advancements in Fetal Health Classification
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptx
 
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
Full night 🥵 Call Girls Delhi New Friends Colony {9711199171} Sanya Reddy ✌️o...
 
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
代办国外大学文凭《原版美国UCLA文凭证书》加州大学洛杉矶分校毕业证制作成绩单修改
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 

Análisis 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