mardi 1 décembre 2015

Une étoile est née : construire des cartes thématiques en points étoilés


Jean Jacques Jesua (La Poste) est une "star" des sciences de la cartographie et plus généralement de la "dataviz". Il nous fait l'amitié de nous livrer ici une méthode insolite et originale pour représenter de façon claire des informations attributaires binaires sur une base de points localisés. Voici le brillant topo qu'il propose :


Les systèmes d’information géographique offrent à ses utilisateurs de nombreuses possibilités d’analyses thématiques. Selon la nature de la variable que l’on souhaite visualiser et selon la nature de l’objet cartographique à thématiser on utilise le plus souvent un dégradé de couleurs (carte choroplèthe), des valeurs individuelles, des symboles proportionnels, la densité de points ou encore des histogrammes/camemberts…

1/ Le problème et son principe de résolution

J’ai été confronté à un problème de représentation qu’aucune des méthodes courantes ne représente de façon satisfaisante i.e. lisible. Je souhaitais visualiser pour un ensemble de bureaux de Poste (objets points), une série de caractéristiques de ces bureaux, en l’occurrence les équipements disponibles pour le public (Automates postaux et bancaire, présence d’un conseiller financier, …). Le fichier de départ est donc une matrice avec en ligne les bureaux et en colonne les équipements :



L’idée est donc de cartographier simultanément l’ensemble des équipements pour tous les bureaux de Poste. L’utilisateur pourra ainsi localiser les bureaux qui possèdent tous les équipements ou ceux qui sont partiellement équipés : 1 et 4, …
On pourrait imaginer faire une carte par équipement ce qui reviendrait à comparer les cartes entre-elles. Mais l’objectif est la simultanéité dans une seule carte interactive. L’interactivité permet à l’utilisateur de zoomer où il le souhaite et de choisir les équipements qu’il souhaite étudier.
On pourrait également déterminer toutes les combinaisons existantes et représenter le résultat en valeur individuelles. Mais plus le nombre d’équipements est grand, plus le nombre de combinaisons est important rendant la carte illisible (4 équipement = 16 combinaisons !).


Pour répondre à ces objectifs de simultanéité et de lisibilité, je propose de faire une carte en étoile. Chaque bureau est représenté par une étoile avec autant de branches qu’il possède d’équipement.







Voici ce que cela donne sur le 17ème arrondissement de Paris. Dans cet exemple, il existe 6  équipements. Un bureau possède les 6 équipements, deux bureaux en ont 4 et deux autres en ont 2 seulement.

Stars postales à la place de l'Etoile (Paris)
NB : Les données sont fictives aléatoires.
Cliquez pour accéder à la carte interactive des points étoilés


2/ Détermination des branches

Chaque branche symbolise donc un équipement. Positionnée sur un cercle, elle est déterminée par un centre (coordonnées du bureau), par la longueur d’un rayon et par un angle. Toutes les branches ayant la même orientation (et la même couleur) indiqueront tous les bureaux ayant cet équipement.

Le problème revient donc à calculer les coordonnées des sommets de chacune des branches.
Pour rendre le problème générique, adoptons les notations suivantes :
·        R = rayon en mètres, je propose 200 mètres pour le cas des bureaux de Poste mais à adapter selon le nombre de points à représenter.
·        K = nombre d’équipements maximum.
·        Ѳ = 360 / K  l’angle qui nous permet de découper le cercle en K équipements. Pour K=6, on aura  Ѳ =60°  comme dans la carte en exemple.

La position des bureaux est exprimée par une longitude (x0) et une latitude (y0)  en projection WGS84 (EPSG 4326).


Nos manuels de trigonométrie indiquent que les coordonnées d’un point sur le cercle sont données par :
 x1 = x0  +  R * cos(Ѳ)
.y1 = y0  +  R * sin(Ѳ)
.


Il est donc facile de déterminer les coordonnées des sommets des branches. Malheureusement (ou heureusement) la terre n’est pas plate. L’utilisation des coordonnées polaires entraîne des distorsions locales : le cercle est déformé. On pourrait penser convertir les coordonnées en Lambert 93 pour calculer x1 et y1 (x1=x0+R) mais ce travail est fastidieux et la projection Lambert ne s’applique pas dans les DOM où La Poste possède plus de 200 bureaux. Il est possible que la projection métrique « Projection du Monde » WGS84 EPSG 3857 permette de résoudre le problème plus simplement, le lecteur courageux pourra essayer...

Je préfère cependant utiliser des coordonnées sphériques. La question se résume à : comment calculer le rayon R fixe (de 200 mètres dans notre exemple) que l’on soit à Lille, Marseille, Fort de France ou Mamoudzou (Mayotte) ?
Pour la latitude, c’est très simple puisque les méridiens passent par les pôles. La circonférence de la terre étant de 40000 km, 1 degré représente donc  40000/360 = 111,111 km.
R mètres vaut donc R * 0,001 / 111,111 degrés.  200 mètres = 0,0018°

Pour la longitude, 1° dépend de la circonférence de la terre à cette latitude.
La formule pour calculer la circonférence d’une latitude L est :
2 * pi * cos(L) * 6378 (Rayon de la terre)
La circonférence de l’équateur est donc : 2 * pi * cos(0) * 6378 = 40074 km
La circonférence du 45° parallèle Nord est donc : 2 * pi * cos(45) * 6378 = 28336 km

Nous pouvons ainsi déterminer la valeur de 1°de longitude pour une latitude L
Comme 360°   vaut 2 * pi * cos(L) * 6378 km, 1° vaut donc   2*pi * cos(L) *17,71  km
Ainsi à Lille (latitude de 50,6°), 1° de longitude représente 70,6 km alors qu’à Nice (latitude de 43,7°),  1° de longitude représente 80,4 km

Nous calculerons  R mètres comme  R / (17710 * 2* pi * cos(L) ) degrés.

En résumé, les coordonnées des branches sont données par les 2 formules suivantes :
x1 = x0  + (R / (17710 * 2*pi * cos(y1)))* cos(Ѳ)
y1 = y0  + (R * 0,001 / 111,111) * sin(Ѳ)

Pour le programme informatique, il faut calculer d’abord y1 puis x1 (qui dépend de y1) et convertir les angles en radians (Ѳ°   est égal à   Ѳ * pi / 180)

Voici le code SAS pour calculer les coordonnées des sommets des branches (x1,y1). Pour cet exemple, nous avons 6 équipements que l’on place tous les 60° (360/6).
%LET K = 6  ;  *** Nb d’équipements  ;
%LET RAYON = 200 ; *** Rayon en mètres ;
%let PI = 3.14159 ;

*** La boucle suivante crée les K points sur le cercle ;
Teta = (360 / &K) * (&PI / 180);
Do k = 1 to &K;
y1 = y0 + &RAYON * (0.001/111.111) * SIN(TETA * (k-1));
x1 = x0 + &RAYON * 1 /(2*&PI.*COS(y1*&PI/180)*17710)*COS(TETA * (k-1)  );
Output ;





3/ Représentation cartographique des branches : les points étoilés

Ainsi pour chaque bureau, j’ai déterminé les coordonnées des différents équipements. Il reste donc à tracer les lignes partant du centre (bureau) vers les sommets (équipements).
Avec MapInfo et plus particulièrement l’outil SPIDERGRAPH (que l’on trouve dans le menu Outils / Gestionnaires d’outils), cela donne :


Deux fichiers sont nécessaires pour créer les lignes : les bureaux et les équipements. L’identifiant du bureau figure dans le fichier des équipements.


Il ne reste plus qu’à faire l’analyse thématique des lignes par valeurs individuelles en colorant chacune des branches :


Une dernière remarque pour clôturer : il faut veiller à bien calibrer le rayon en fonction de la densité de points et d’équipements et du niveau de zoom de la représentation.








mercredi 25 novembre 2015

5 questions sur le "big data"

Dans le cadre d'une table ronde sur le sujet, très original!, du big data, la journaliste Martine Fuxa (Editialis) m'a posé 5 questions et voici mon point de vu de praticien.


Q1) On parle de la data comme de l'or du 21e siècle... Comment créer de la valeur autour de la data? 

Oui, on dit beaucoup de choses autour des données, on lit par exemple que le job de « data scientist » est le plus « sexy » des vingt prochaines années. Il faut relativiser ces slogans d’autopromotion d’une discipline. Les activités économiques et sociales ont toujours généré des besoins de collecte, traitement et interprétation des données. Et ceci depuis l’antiquité, pour compter les récoltes, les transactions. Le domaine s’est industrialisé avec le comptage des hommes : les naissances et les décès au 18e et 19e siècle (la démographie), puis l’informatique a industrialisé les processus de collecte en amont et de traitements en aval et permis le croisement de data au 20e. Désormais les nombreux capteurs génèrent des traces (logs). La collecte de données non structurées multiplie le spectre d’exploitation des données. Je note pour ma paroisse que la localisation désormais systématique des données d’activité contribue grandement aux nouvelles valeurs ajoutées que l’on trouve dans les données.

Dans les activités business, nous créons de la valeur en traçant la demande, les comportements des clients et en essayant d’anticiper leurs demandes futures. La VPC avait parfaitement compris le truc dans les années 70 en mettant au point sa politique de fidélisation, en suivant la Récence, Fréquence et Montant des achats de ses clients (RFM). Le e-commerce prend le relais aujourd’hui avec des données et des champs d’application plus diversifiés, mais le RFM qui reste souvent le corps des segmentations. On peut adapter l’offre à la demande via des moteurs de recommandation et/ou encore les modèles de maillage géomarketing.

Dans l’espace public, il y a aussi de multiples opportunités, si l’on dépasse les préventions du type big data = big brother : la ville et la santé connectées, l’adaptation de l’offre et la demande d’emploi, la prévention de la criminologie/sécurité publique, sécurité routière, l’efficacité de l’action publique.

La recette pour créer de la valeur repose selon moi sur deux points :
1/ Bien comprendre les mécanismes de production des sources, d’où viennent les données, comment elles ont été construites, détecter les biais ou les redondances entre les sources.
2/ Avoir une vision claire du problème qu’il faut résoudre, avec une longue expérience du domaine métier et ajustements permanents des modèles autour des facteurs clé d’une activité.

Je vous donne ma vision qui est traditionnelle. Autres méthodes déterministes sans a priori métier, le « machine Learning », permettent des modélisations à la volée, ajustables, en fonction de l’arrivée des données peu structurées.


Q2) Les datas liées au géomarketing ouvrent le champ de nombreuses opportunités de ciblage... toujours plus fines et précises... qu'est-ce que cela vous inspire?

Oui, le but principal du géomarketing est d’adapter la demande et l’offre locale, mailler au mieux un territoire en se concentrant sur toutes les activités de distribution pilotées par des relations de «proximité».

Nous sommes un prestataire spécialiste du sujet et nous consacrons beaucoup d’énergie à fiabiliser la géolocalisation des sources de l’offre et la demande locale (précision des géo-référentiels). Côté demande, nous imaginons comment mesurer au plus précis sans collecte/enquêtes coûteuses les flux de population de passage, les flux de population au travail dites « de jour », les résidents, les flux routiers origine/destination, les flux de fréquentation touristique. Nous calculons les populations de chaque immeuble, ainsi que leur profil socio-démographique. Nous caractérisons, via des scores par exemple, les immeubles « de luxe » ou ceux qui sont situés sur les hots spots de passage commercial, on localise les maisons avec piscine, etc. Ces données externes de précision, croisées avec des données internes d’entreprise, permettent d’identifier les lieux de gisement de prospection de fidélisation, de risque… On caractérise et on individualise pour chacun de nos clients, des cibles de demande réelle et potentielle à une maille micro/nano géographique. Nous faisons aussi du prédictif avec anticipation des variations locales et des migrations de population, on s’efforce de suivre tous les projets d’aménagements, mouvements d’emplois/entreprises, on suit de très près les variations des revenus et du pouvoir d’achat associé.

Côté offre, nous référençons tous les référentiels de distribution. Nous faisons du "grabbing" sur le web pour enrichir/préciser les données points de vente, nous suivons toutes les nouvelles ouvertures dans les réseaux d’agences, de grandes surfaces, etc.

Nous bénéficions pour tous ces travaux de l'accélérateur du mouvement d’open data. Nous travaillons sur des services spécifiques de données. Nous ne pouvons donc pas nous inscrire totalement dans ce mouvement, car toute peine mérite rétribution. En revanche, le prix des données basiques en géomarketing a fortement baissé. Avec un peu de débrouillardise, on peut aujourd'hui commencer avec une solution géomarketing avec des données libres.


Q3) Comment faire pour développer son business grâce au Big Data? Des exemples? 

La Poste adapte son offre et ses formats de bureau en fonction des données de trafic à proximité. Cela peut correspondre à une extension d’horaires le soir ou le samedi. La Poste vend des timbres spéciaux aux touristes de passage devant ses bureaux, via une segmentation basée sur la localisation des photos déposés par les touristes sur le net : s’il y a beaucoup de photos géo localisées à proximité d’un bureau, alors il bénéficie d’un afflux de clientèle spécifique. La tablette Facteo qui va permettre aux 100 000 facteurs de France de se reconvertir en vendeurs de services avec des informations précises sur les points de tournées : information à collecter, produits à fournir, livraison du pain, de médicaments, constats de sinistres, diagnostics énergétiques, contact et soin des personnes âgées, etc.

Avec les traces de logs routières qui remontent des GPS, la RATP réalise des comparaisons de temps de trajet routiers vs temps de transport aux jours et heures de pointe. C’est très utile pour justifier d’un prolongement de ligne, d’une augmentation de la fréquence de passage des rames ou tout simplement d’éviter des coûts d’enquêtes spécifiques sur les déplacements.

Je voudrais aussi citer un exemple d’action publique qui ne relève pas du géomarketing, mais qui utilise toutes les données et outils d’ajustement de l’offre et de la demande locale. En Angleterre, pour les autorités de police locale, nous avons développé une application « crime profiler » (logiciel predPol d’un concurrent américain). On rentre toutes les statistiques de population, passages, flux, croisées avec les statistiques historiques localisées par les services de police sur les lieux de délits. L’input, ce sont vraiment des datas localisées et de la stat. On utilise ces stats pour construire des tournées avec impact de visibilité maximal pour les agents. On réorganise ainsi les tournées/patrouilles traditionnelles des agents de police. Juste en faisant ce travail d’optimisation des tournées des patrouilles, on constate une baisse des infractions entre 10 et 20%.


Q4) Comment la data permet de répondre aux nouveaux enjeux que sont la gestion du risque (changements climatiques/inondations, fraudes, compliance, fragmentation de l’offre, Google, uberisation…). Pouvez-vous partager avec nous quelques réalisations concrètes? 

Pour les inondations, les modèles de simulation sont désormais basés sur des exploitations de données de précision Lidar dans les zones à risque. Dans le domaine de l’hydrologie, il existe des technologies qui permettent de suivre en temps réel la hauteur et le débit des rivières. Bien sûr, cela n’empêche pas les inondations, mais c’est très utile pour la prévention et le choix des investissements de protection des zones inondables.

Dans le domaine de l’assurance, en MRH, on peut croiser l’adresse de l’assuré et toutes ses données internes avec l’ensemble des zones de risques.
En auto, il y a aussi par exemple l’enjeu des nouveaux capteurs « boites noires » dans les voitures pour responsabiliser les conducteurs en tarifant leur prime selon la qualité de la conduite, le nombre de km parcourus et la localisation des trajets (route, autoroute, zone principale de circulation) (Pay as you drive). En Angleterre, un de nos très bons clients est très avancé sur ces sujets, en France les premières offres apparaissent.


Q5) Comment ne pas se perdre dans la gestion de la multitude de datas disponibles ? A qui incombe idéalement la responsabilité et le data management dans l'organigramme d'une entreprise ?

C’est vrai qu’on peut se laisser distraire et engloutir par la déferlante de données. Il faut savoir passer du big au « small et smart » data, c’est-à-dire à une donnée lisible au service de la stratégie de l’organisation. Le travail peut être celui de recherche d’une aiguille dans une botte de foin, mais c’est surtout un travail de gestion des 4V : Volume Variété Vélocité Véracité. Pour ma part, je considère que la véracité/robustesse des données est essentielle. C’est-à-dire « ne pas se tromper de mesure » et s’assurer que les corrélations mesurées sont reproductibles. Quand on s’occupe des datas dans une organisation, on a en général une idée des indicateurs clefs à suivre.

Si je suis par exemple responsable du géomarketing dans un établissement financier, sur les données externes, je vais me concentrer sur la localisation des populations, des revenus et des concurrents. Or, toutes les mesures locales de population revenus concurrence sont entachées d’erreurs ou imprécisions qui, à la marge, peuvent coûter cher. On cherche donc dans le big data les sources ou les proxys qui permettent d’affiner les indicateurs sur leur maille géographique ou sur leur contenu : bien mesurer la population au pâté de maison en infra-quartier, ne pas se tromper sur le géocodage d’un concurrent, bien identifier la population patrimoniale (« riche ») avec les indicateurs de revenu/patrimoine disponibles…
  

Pour le profil, je note que le CIO/DSI a un peu moins le vent en poupe que par le passé. On parle bien du ou de la responsable data : sur LinkedIn, cela donne « Chief Data Officer » ou « Chief Digital Officer ». Il navigue entre l’informatique et le marketing. 1/Il faut qu’il connaisse le métier, qu’il soit issu du business, qu’il connaisse parfaitement les produits/services de son organisation et les processus de stockage de l’information. 2/Une double casquette profil IT & profil Statistique est rare, mais très utile, il connait les infrastructures IT (Hadoop, nosql...), les outils d’intégration, de chargement d’alimentation, d’exploitation traitement modélisation et enfin la dataViz pour l’aspect communication (je range les SIG dans ces 2 dernières catégories). Donc a priori, c’est plutôt un sénior. Mais 3/ C’est pas mal aussi qu’il soit « jeune » (digital native), car mieux familiarisé avec la collecte et les problématiques Web. 4/ et cerise sur le gâteau, c’est bien s’il n’est pas très bien rasé ou barbu (geek), mais dire cela, je vous l’accorde, c’est sexiste. Il faut qu’il ou elle soit concerné et curieux de toutes les nouvelles applications et capteurs qui génèrent des traces, des données.