Mars 2012
Pascal Eusebio – PSAR AT -
Utilisation d’igraphPopularité, modularité et communauté
Avril 2012
Plan
Problématique et définition
Théorie des graphes: package igraph
1. Partitionnement de graphe : ex. les communautés
2. Analyse des réseaux : ex. la popularité
Avril 2012
Les flux domicile-travail, un graphe à analyser.
Avril 2012
Problématique
A partir d’une matrice de flux, quelles sont les relations préférentielles?
Qui est pôle d’échange ?
Pour y répondre, nous utiliserons la théorie des graphes avec la librairie igraph.
Avril 2012
C’est:
la somme des flux internes d’une communauté -la somme des flux reliant les mêmes communes dans un graph plein. Le poids de chaque flux est repondéré pour conserver le degré des nœuds.
Définition: modularité
Avril 2012
Définition: La modularité
La modularité est une mesure pour la qualité d'un partitionnement des nœuds d'un graph, en communautés.
L’objectif des partitionnements est de maximiser (sous contrainte ou non) la modularité.
Avril 2012
Le partitionnement de graphe
L’approche divisive, on part d’une communauté, les divisions successives doivent améliorer la modularité.
Avril 2012
Le partitionnement de graphe
Module de igraph:leading.eigenvector.community
Code:library(igraph)library(foreign)base = "C:/Flux_dt_au.dbf"base_flux=read.dbf(base,as.is=T)
g=graph.adjacency(matriceflux,mode="undirected",diag=F,weighted=T,add.rownames="name")
lec <- leading.eigenvector.community(g)communautes <- data.frame(V(g)$name, lec$membership)modularite<- modularity(g, lec$membership)
Avril 2012
Le partitionnement de graphe
A l’inverse, l’approche gloutonne fusionne de manière récursive des communautés atomiques à la première étape.
Avril 2012
Le partitionnement de graphe
Module de igraph: fastgreedy.community
Code:g=graph.adjacency(matriceflux,mode="undirected",diag=F,weighted=T)fgc<-fastgreedy.community(g,merges=T,modularity=T,weights=E(g)$weight)communautes<-community.to.membership(g,fgc$merges, steps=20)modularite<-modularity(g, communautes$membership)
Avril 2012
Analyse des réseaux: la popularité
Quel indicateur permet de définir le territoire moteur des échanges d’une zone ?
La réponse facebook est : « Le plus populaire est celui qui a des amis populaires ».
Il existe plusieurs méthodes fondées sur l’étude du premier vecteur propre de la matrice de flux dont le page rank.
g=graph.adjacency(matriceflux,mode="directed",weighted=T,diag=F,add.rownames="name")pr<-data.frame(V(g)$name,page.rank(g)$vector)
Top Related