Categories

Archives

La vie associative à Nantes (1)

Le site open-data de Nantes, data.nantes.fr, est riche. On y trouve : un fond de carte des “quartiers”, un fond de carte des “bureaux de vote”, la liste (avec les adresses) des associations, et enfin un fichier avec la géolocalisation de chaque adresse postale. En combinant ces fichiers, il est possible de repérer dans quels “microquartiers” la vie associative est plus développée, ou, au moins là où les associations sont implantées.

nantes-associations

Les Nantais ou les spécialistes de la Sociologie de Nantes comprendront sans doute mieux que moi la logique des implantations.

La réalisation a consister à assigner à chaque adresse de Nantes le nombre d’associations qui y avaient élu domicile (pas leur siège, mais leur lieu d’activité), et ensuite à associer à chaque adresse un “bureau de vote” correspondant, et enfin à associer à chaque bureau de vote le nombre d’associations qui se trouvaient dans son ressort.

Voici le code R :

library(maptools)
library(sp)
library(RColorBrewer)
library(classInt)
 
# shapefile des quartiers de Nantes
# Charger le fichier des adresses
adresses<-readShapeSpatial("~/Desktop/nantes/ADRESSES_NM_shp_l93/ADRESSES_NM.shp")
adresses<-subset(adresses,adresses$NOMCOM=="NANTES")
adresses$ADRESSE<-iconv(adresses$ADRESSE,from="latin1",to="ASCII//TRANSLIT")
adresses$ADRESSE<-toupper(adresses$ADRESSE)
# Charger le fichier associations
associations <- read.csv("~/Desktop/nantes/nantes-associations.csv",header=T)
# charger le shapefile des bureaux de vote de Nantes
nantesbv<-readShapeSpatial("~/Desktop/nantes/DECOUPAGE_BUREAUX_VOTE_NANTES_shp_l93/DECOUPAGE_BUREAUX_VOTE_NANTES.shp")
 
assoces<-associations[,c("SIEGE_NUM","SIEGE_VOIE","LIEU_ACT_NUM","LIEU_ACT_VOIE","LIB_THEME")]
assoces$SIEGE<-paste(assoces$SIEGE_NUM,assoces$SIEGE_VOIE)
assoces$LIEU<-paste(assoces$LIEU_ACT_NUM,assoces$LIEU_ACT_VOIE)
assoces$SIEGE<-iconv(assoces$SIEGE,from="UTF-8",to="ASCII//TRANSLIT")
assoces$LIEU<-iconv(assoces$LIEU,from="UTF-8",to="ASCII//TRANSLIT")
assoces$SIEGE<-toupper(assoces$SIEGE)
assoces$LIEU<-toupper(assoces$LIEU)
assoces$NB<-1
 
#assoces_adresses<-aggregate(NB~SIEGE,data=assoces,sum)
assoces_adresses<-aggregate(NB~LIEU,data=assoces,sum)
 
# associer les adresses des associations avec leurs coordonnées
#m<-match(adresses$ADRESSE,assoces_adresses$SIEGE)
m<-match(adresses$ADRESSE,assoces_adresses$LIEU)
adresses$NB<-assoces_adresses$NB[m]
 
# nantesbv : bureaux de votes de nantes
# associer chaque adresse à un bureau de vote
# code non optimal : boucle "for" très lente
BV<-NULL
test2<-NULL
for (i in 1:nrow(adresses)){
for (j in 1:nrow(nantesbv))	{
ifelse(point.in.polygon(adresses@coords[[i,1]],adresses@coords[[i,2]],nantesbv@polygons[[j]]@Polygons[[1]]@coords[,1],nantesbv@polygons[[j]]@Polygons[[1]]@coords[,2])==1,BV[i]<-j,test2<-j)
}
}
 
adresses$BV<-nantesbv$IDBURO[BV]
assoc_bv<-aggregate(NB~BV,data=adresses,sum)
m<-match(nantesbv$IDBURO,assoc_bv$BV)
nantesbv$NB<-assoc_bv$NB[m]
nclr <- 7
plotclr <- brewer.pal(nclr,"RdYlBu")[nclr:1] 
class <- classIntervals(nantesbv$NB, nclr, style="fisher",dataPrecision=0)
colcode <- findColours(class, plotclr)
par(mar=c(1,1,1,1))
plot(nantesbv,col=colcode,border="black",lwd=.1)
legend(348479,6698193,legend=names(attr(colcode,"table")), fill=attr(colcode, "palette"), cex=2, bty="n",title="Nombre d'associations")
plot(quartiers,add=T)
title(sub="Réalisation Baptiste Coulmont, http://coulmont.com | Données : data.nantes.fr",cex.sub=1,adj=0,line=-3)
title(main="La vie associative à Nantes",line=-1.7,cex.main=3,adj=0)

Created by Pretty R at inside-R.org

Sexualitics : une collaboration

sexualitics-logo-150x150Antoine Mazières a mis en ligne Sexualitics, une collaboration pluridisciplinaire autour de “big data” issues de sites vidéo pornographiques. Les données (concernant 2 millions de clips) sont là http://sexualitics.github.io.
sexualitics-thumb

À partir de ces données, Antoine, avec Christophe Prieur, Mathieu Trachman, Jean-Philippe Cointet et moi-même avons proposé un article à la revue Porn studies, le “working paper” est disponible sur HAL.
Une autre exploration de ces données est proposée sur http://porngram.sexualitics.org où des graphiques représentent la proportion de titres comportant tel ou tel mot. La simplicité apparente de l’outil, et la possibilité de passer plusieurs minutes à tester tel ou tel mot, a intéressé plusieurs journalistes :

  1. wired.co.uk : Porngram: a Google Trends for niche sexual interests powered by ‘sexualitics’
  2. the atlantic : SFW: When Big Data Meets Porn
  3. fastCompany : Porn, Big Data, And What We Search For When No One’s Looking
  4. The Economist : “Worth Reading”
  5. L’Express : Porngram: plongée dans les fantasmes des amateurs de porno
  6. Le Tag Parfait [NSFW] : Porngram : le big data du porn

Sexualitics (et la grande majorité des titres et des tags des vidéos) est en anglais, et cela permet sans doute d’être diffusé, dans d’autres langues, par des anglophones. Ci-dessous, un extrait de reprises sur twitter, en allemand, en turc, néerlandais, japonais, suédois (?), espagnol, russe (ou bulgare ?)…
porngram-twitter-international

« Tenir le haut de l’affiche » en accès libre

La Revue française de sociologie a placé mon article, « Tenir le haut de l’affiche. Analyse structurale des prétentions au charisme » en accès libre. Il est disponible ici en PDF : http://www.rfs-revue.com/sites/rfs/IMG/pdf/RFS-2013-3-B-_Coulmont.pdf.
L’article revisite la sociologie wébérienne du charisme en insistant non pas sur la reconnaissance par une population dominée charismatiquement, mais sur la reconnaissance entre porteurs de charismes.
Je ne peux que vous encourager à le lire, à le discuter, à le partager… Je rappelle que les données initiales (200 affiches pour des événements évangéliques) sont elles aussi disponibles sur flickr.

Dix ans et mille billets

Le blog que vous lisez a aujourd’hui dix ans. Mille billets y ont été publiés (N=997).

Où faire une licence de sociologie ?

Un des signes distinctifs de la sociologie américaine, c’est l’objectivation du prestige. On en trouverait des exemples dans Street Corner Society, dans Middletown, mais aussi plus récemment chez Podolny (Status Signals). C’est dans cette tradition, probablement, que s’inscrit cette tentative d’établissement d’un classement des départements de socio étatsuniens.
J’ai utilisé le même outil, avec une liste des universités et autres établissements proposant des licences ou des masters de sociologie : vous pouvez répondre à la question Dans quel département de sociologie faire sa licence ou son master ? en choisissant, dans une paire de départements, celui que vous préférez.
On peut, avec ce processus, arriver à un “classement” (mais qui exprime quoi ? le “prestige” ? ce n’est pas certain) :
classement-paires-socio
Mais comme les données sont exportables, et que chaque “votant” reçoit un identifiant, il sera possible de faire d’autres traitements statistiques, qui montrent, probablement, un espace qui n’est pas structuré par une seule échelle.
classement-data-socio
Je donnerai accès au fichier de données à toute personne qui souhaiterait travailler dessus. En attendant, allez dire Où faire sa licence ou son master de sociologie.

L’anonymisation automatique des enquêtés

Les sociologues anonymisent leurs enquêtés : c’est une des différences avec le journalisme. Mme Dupont deviendra Mme Ponteau, ou alors Geneviève Pruvost deviendra Mme Genevost. Dans un des seuls articles existant sur la question, Anonymiser les enquêtés, Emmanuelle Zolesio donne quelques conseils.
La question a pris d’autant plus d’importance, ces dernières années, que se développaient des impératifs de protection de la vie privée : “confidentialité et anonymat sont (…) les deux faces d’un même problème” écrivent Béliard et Eideliman (cités dans Zolesio).
Il y a un peu plus d’un an, une collègue [Muriel D., ou Mme Murmon] m’écrivait, après avoir reçu Sociologie des prénoms :

je cherchais des outils internet pour anonymiser des enquêtés! Je cherchais notamment s’il n’y avait pas des données de type Besnard en ligne, et je suis rapidement arrivé à ton blog, à ta discussion sur les prenoms et aux sites que tu conseillais (ah, pas mal, ces sites, mais rien ne saurait remplacer un “anonymisateur” que tu vas inventer bientôt j’en suis sûre : un petit programme dans lequel les sociologues rentrent une liste de prénoms d’enquêtés, et qui sort une liste de prénoms anonymisés en tenant compte de la génération, de l’origine sociale etc!

Quelle demande ! Mais quelle demande intéressante. Et qui simplifierait un peu le travail. Ce mail m’est revenu en tête alors que je cherchais, moi-même, à anonymiser quelques personnes… et que je me suis tourné vers l’outil interactif mis en place après la petite étude sur les prénoms et les résultats au bac : http://coulmont.com/bac/
Et j’ai trouvé que, dans certaines circonstances, cela anonymisait pas mal. La “classification ascendante hiérarchique” réalisée à partir, simplement, de la répartition des résultats au bac groupait ensemble “Samir, Brahim et Said”, et les distinguait bien de “Alix, Jeanne, Josephine et Coline”. En discutant avec une autre collègue récemment, j’ai appris que je n’étais pas le seul à agir ainsi. En effet, me dit-elle, une doctorante du CREST, Joanie Cayouette, avait utilisé l’anonymisateur. Voici ce que Joannie m’écrit :

Dans le cadre de ma thèse en sociologie de l’éducation, qui consiste principalement à étudier, au moyen de leurs dossiers scolaires, les trajectoires d’une cohorte de 530 élèves, j’ai dû anonymiser, pour le moment, près de 120 prénoms d’élèves. Pour ce faire, outre le fait de choisir un prénom de même sexe, j’ai veillé à conserver l’appartenance nationale et/ou religieuse du prénom et, enfin, la connotation sociale des prénoms. Cela peut parfois se révéler particulièrement complexe. L’application coulmont.com/bac/ m’aide principalement pour les élèves au prénom français. Je chercher à partir du prénom de l’élève à anonymiser, un prénom dans la liste des prénoms au même profil. La principale contrainte apparaît lorsque le prénom de l’enquêté est trop rare et n’est pas inclus dans l’application. Il arrive alors que je trouve un prénom « analogue » mais déjà utilisé ou trop proche. À ce moment-là, je cherche à partir de celui-ci. Mais c’est parfois impossible. L’outil se révèle par contre moins adapté pour anonymiser les prénoms d’origine étrangère.

Lorsque j’ai commencé à travailler avec l’application coulmont.com/bac/, j’avais déjà anonymisé plus de la moitié des prénoms (grâce à la consultation de sites prénoms et/ou ma connaissance intuitive des prénoms et/ou en choisissant un prénom d’un élève « comparable » dans la base de données). Je pense qu’il est bon que tous les prénoms ne soient pas non plus anonymisés grâce à l’application puisque, les choix se révélant parfois limités lorsqu’il s’agit de choisir, au sein du groupe de prénoms, un prénom de même sexe et de même origine nationale et/ou religieuse, un risque existe que des enquêtés ou autres personnes refassent le chemin inverse à partir de l’application.

L’intérêt que J. Cayouette a trouvé à l’anonymisateur est lié à la grande proximité entre son objet d’étude (des élèves scolarisés dans le secondaire) et la source des données utilisées (les résultats nominatifs au bac). Il est très probable que, pour des populations plus “anciennes” (sur les maisons de retraites…), l’outil ne fonctionne pas du tout.
Et elle pointe un problème : l’anonymisateur permet parfois de “remonter la chaîne” de l’anonymisation, et de retrouver le prénom de départ. Dans ce cas précis, elle n’a pas d’inquiétude à avoir : dans quelques mois, la liste changera, et les “groupes-prénoms” seront plus larges ou légèrement modifiés, grâce à l’apport des résultats du bac 2013.

Comme vous le constatez, mes réflexions au sujet de l’anonymisation automatisée ne font que débuter. Si vous êtes sociologue (professeur émérite à Harvard ou étudiante de master à Reims, ou l’inverse), et si vous avez utilisé http://coulmont.com/bac/, dites-moi ce qui vous a été utile, ce que vous souhaiteriez voir intégré à l’anonymisateur, etc…

Blogs sociologiques

Les blogs de sociologues n’ont jamais été très nombreux en France. Les choses ont un peu changé avec l’émergence d’Hypotheses.org, mais l’écriture est souvent collective.
Quelques blogs sont encore, pour moi, “nouveaux” :

  Antérieurement sur le même thème : 2008, 2005, 2003

twitter et le réseau, suite

Mon exploration des “amis de mes amis”, sur twitter [rappel], ne m’a pas fait découvrir grand chose, sinon qu’ils ont tendance à me “follower”. Les spécialistes des réseaux sociaux diraient que c’est parce que “tu fais du structural à partir d’égocentré”, et ils doivent avoir raison.
Mais j’ai découvert deux ou trois choses avec R. Et notamment le package igraph.

Le twittplot au format PDF

Dans l’image précédente, la couleur dépend du score “k-core” de chaque personne (ou compte twitter), et la taille des points des “liens entrants” (plus un compte est suivi par mes “amis”, plus le point est gros). La disposition des points a été générée par l’algorithme Kamada-Kawai.

Il est quand même possible d’être surpris par certains résultat. La centralité d’intermédiarité permet de repérer des acteurs “intermédiaires”, qui me lient, indirectement, avec d’autres mondes-twitter. C’est particulièrement vrai pour certains compte twitter. Voici un PDF qui montre, je pense, que certains “petits” acteurs (que je “followe” mais qui sont peu “followés” par mes amis), sont des intermédiaires.

Twitter et le réseau

Je voulais réussir à savoir qui “followe” qui, parmi les personnes que je “followe” sur twitter, notamment afin de savoir s’il existe des personnes qui, suivies par nombre des personnes dont je lis la prose, pourraient m’intéresser.
A la fin de ma réflexion, pour l’instant parcellaire, voici ce que j’arrive à produire :

Pour produire cela, le code est assez simple (mais pas vraiment, en fait). Je le reproduis ci-dessous. Le principal problème est lié au fait que les comptes “privés” causent une erreur (« Erreur dans twFromJSON(out) : Error: Not authorized »). Et R ne gère pas encore le protocole utilisé par twitter pour se connecter, OAuth…

Dans le code suivant :
1- je charge les “bibliothèques” nécessaires (twitteR, plyr, igraph)
2- je télécharge la liste de mes “amis” (les personnes que je suis, sur twitter)
3- pour chaque “amis” je télécharge la liste de 20 “amis”, et j’installe tout cela dans un tableau de la forme “NomDeLAmi | NomDeSonAmi”. Pourquoi seulement 20 amis : pour que ça aille plus vite, je n’ai pas besoin, à l’heure actuelle, de la totalité des amis d’amis.
4- je transforme cela en graphe, et je dessine le graphe

library(twitteR)
library(plyr)
library(igraph)
f<-userFriends('coulmont', n=100)
friends<-ldply(f,screenName)
fff<-table(NA,NA)
for (i in 1:nrow(friends))
{
f<-userFriends(friends[i,], n=20)
ff<-ldply(f,screenName)
fff<-rbind(fff,cbind(rep(friends[i,],nrow(ff)),ff))
}
ats.g <- graph.data.frame(fff, directed=T)
coords <- layout.fruchterman.reingold(ats.g, dim=3)
V(ats.g)$label <- V(ats.g)$name
plot(ats.g, layout=coords,vertex.size=.5*degree(ats.g),vertex.label.cex=.3*log((degree(ats.g)+.1)),edge.arrow.size=0.1)

Created by Pretty R at inside-R.org

Pour produire cela, je me suis appuyé sur divers billets de blog : Cornelius Puschmann : générer des graphes de retweet, une question sur stackoverflow, R-chart, analyser des données de twitter avec R

 
L’image ci-dessous a été réalisée en prenant les 200 “amis” que suivent une trentaine de mes “amis”, puis en ne gardant du graphe que ceux qui étaient suivis plus de 4 fois dans le graphe.

Être visible

Je suis, entre autres activités administratives, le “webmaster” du site du Département de sociologie de l’université Paris 8. Depuis sa création, vers 2005, j’ai essayé de le rendre vivant : on y trouve par exemple des compte-rendus des séjours Erasmus des étudiantes, des informations concernant les publications diverses des collègues (dans Le Monde ou ailleurs) des interviews dans Sud Ouest etc… C’est un site “mixte”, au sens où il présente à la fois le département de socio pour l’extérieur (publications, présentation des collègues) et pour l’intérieur (surtout pour les étudiants). Il y a donc des informations sur les problèmes liés au passage à Apogée et sur les recrutements, auditions, classements aux différents postes (ATER, Prag, MCF et PR) ouverts en sociologie à P8. C’est, je pense, ce qui en fait la complexité.
Mais qu’il soit “vivant” (et avoir utilisé wordpress), c’est peut-être la raison pour laquelle, si vous tapez « sociologie paris » dans google, ce résultat intriguant s’affiche :

Avez-vous, chez vous ou au travail, le même résultat ?
Et, suivant les jours, les heures, les lieux et les “cookies”, taper “sociologie” tout simplement amènera le Département de sociologie au 3e, 4e ou 5e rang :

Les résultats sont un peu moins bons pour des recherche portant sur « licence sociologie » (peut-être parce qu’on l’appelle Licence de sociologie), et encore moins sur le master de sociologie.
Et pour ce qui est des statistiques de visite ? Voici une courbe amusante :

C’est une moyenne mobile, qui prend en compte des visites quotidiennes, depuis 2006. Les points roses montrent la chute des visites au cours des mois d’été, les points bleus les chutes au moment des vacances d’hiver. Les pics sont soit liés aux rentrées, soit aux mouvements sociaux (et j’ai eu la flemme de repérer les mouvements CPE, LRU et autres). Les visites augmentent, année après année, ce qui me satisfait. D’autres indicateurs, comme le nombre de pages vues par utilisateur, ou le temps moyen passé sur le site… sont très stables sur 5 ans (3 pages, et environ 2 minutes).

Note : Je suis conscient que mettre en avant ces formes d’objectivation sans raison participe indirectement à la course à l’évaluation fort bien décrite par Grégoire Chamayou, qui repose sur des classements, des distinctions honorifiques, des classements de classements, des sommes de citation, etc… Et ici, en multipliant les liens vers le site du département de sociologie, j’essaie, modestement, d’influencer le classement de google, qui repose, en grande partie, sur la multiplicités des liens.