Billet

Paris en couleurs

Billet publié le 25/04/2014

Les listes électorales sont une source de données formidables. J’ai eu l’occasion de les explorer récemment. Première tentative de synthèse ici.
mds-couleur
click to embigen

J’ai conservé quelques variables, à l’échelle du bureau de vote : l’âge moyen, la proportion de femmes inscrites, la proportion de personnes nées à l’étranger, la proportion de “nobles”, la proportion de personnes portant plus de deux prénoms.
J’ai appliqué à cela une procédure appelée “Multi-dimensional scaling“, qui permet de rapprocher entre eux des individus ayant des caractéristiques proches. Ici, les individus sont des bureaux de vote.
J’ai retenu trois dimensions.
La première dimension rassemble entre eux les bureaux de vote selon la proportion d’inscrits nés à l’étranger [on remarque que le 16e arrondissement est un peu différent du 8e et du 7e].
La deuxième dimension capture les variations de l’âge et du sexe apparemment.
La troisième dimension est plus complexe à interpréter immédiatement (et je n’ai pas encore exploré en détail).
Sur ces trois dimensions, chaque bureau de vote a un score, que je normalise entre 0 et 255, ce qui permet d’associer une couleur “RVB” à chaque bureau. Un bureau ayant un score semblable sur les trois dimension sera plutôt gris (clair ou foncé).

La carte oppose alors un bureau de vote situé au cœur du septième arrondissement (qui est ici vert foncé) aux bureaux de votes rose/orangés des marges de Paris. Mais aussi un bureau “vert-clair”, au cœur de Paris (plus masculin et jeune) à d’autres que je vous laisse trouver. La Butte Montmartre apparaît bien bleue. L’opposition entre Ouest et Est, importante à Paris, apparaît indirectement : les couleurs les plus sombres sont à l’Ouest, comme si un nuage était posé sur l’Ouest.
[Première synthèse qu'il faudra affiner, bien sûr].

d <- dist(mydata)
fit <- cmdscale(d,eig=TRUE, k=3)
x <- fit$points[,1]
y <- fit$points[,2]
z <- fit$points[,3]
range01 <- function(x){round(255*(x-min(x))/(max(x)-min(x)))}
xs<-range01(x)
ys<-range01(y)
zs<-range01(z)
mds<-cbind(xs,ys,zs)
couleurs<-rgb(mds[,1],mds[,2],mds[,3],maxColorValue=255)
# et ensuite, il suffit d'associer chaque Bureau de vote à chaque couleurs : le BV[i] recevra couleur[i]

Pretty R at inside-R.org

La méthode a été inspirée par cet article : Delineating Europe’s Cultural Regions: Population Structure and Surname Clustering [James Cheshire, Pablo Mateos et Paul A. Longley]

2 commentaires

Un commentaire par Léo Dumont (26/04/2014 à 21:07)

Cette carte est très intéressante, merci.
Je suis assez curieux par rapport à la méthode “multi-dimensional scaling” employée, avez-vous pu comparer les résultats produits par celles-ci avec ce que donnerait une plus “classique” analyse en composante principale ?

Un commentaire par Baptiste Coulmont (27/04/2014 à 13:58)

Non, je n’ai pas encore pris le temps de comparer avec une ACP…