Analyse des traces des vélos en libre-service : passer des portails open data à une API de dataviz
Raphael Delhome, Data scientist chez Oslandia
L'essor des portails d'Open Data ouvre la voie à une meilleure compréhension du fonctionnement des villes. Encore faut-il pouvoir récupérer la grande quantité de données sous-jacente, la structurer, l'analyser, en extraire de l'information nouvelle, et la représenter visuellement. Cette présentation montrera comment Oslandia a répondu à ce challenge en prenant l'exemple de données issues des systèmes de vélos en libre-service de Bordeaux et de Lyon. Les grandes étapes du traitement de la donnée seront explicitées, et une attention particulière sera portée à des problématiques de classification des stations de vélos partagés, pour la compréhension du tissu urbain, et de prédiction de la disponibilité des vélos, en tant que création de valeur pour les usagers. Une démo de l'API de data visualisation développée en Open Source clôturera la présentation.
1. Analyse des vélos en libre-service :
des portails d'Open Data à une API
de dataviz
Meet-up Open Transport - Paris
Raphaël Delhome(*), Damien Garaud
1
3. Incontournables dans les
grandes villes
Location de courte durée
(de quelques minutes, à
quelques heures)
Disponibilité des vélos et
des emplacements aux
stations
Services de vélos partagés
Velo'v (Lyon)
3
4. Questions principales
Peut-on classer les stations de vélos en fonction de
la disponibilité des vélos ?
Que faire si on veut un vélo...et qu'il n'y en a pas ?
Que faire s'il n'y a pas de station disponible
lorsqu'on veut poser son vélo ?
...
Comment construire un data pipeline complet pour
extraire, transformer, mettre à disposition les
données et les résultats d'analyse associés ?
4
5. Plan de l'intervention
(Partie 1) Manipuler de la donnée géographique
ouverte
(Partie 2) Classi cation non-supervisée des stations de
vélos
(Partie 3) Prédiction à court terme de la disponibilité
des vélos en libre-service
(Partie 4) Demonstration : API de visualisation
5
8. Présentation des données
id last_timestamp bs abs ab bonus status
10063
2017-07-08
23:49:09
34 10 23 Non OPEN
10021
2017-07-08
00:30:12
19 0 0 Non CLOSED
8038
2017-07-08
23:49:26
20 6 14 Non OPEN
7045
2017-07-08
23:52:43
20 13 7 Non OPEN
8
9. Data pipeline
Construire un data pipeline en Python avec
Récupérer, transformer et conserver la donnée
Récupérer des données (json, xml, shp) toutes
les 10 minutes via des CRON jobs
Stockage en base (postgreSQL, postgis)
feature engineering et machine learning
Luigi
9
11. Objectif
Classer des stations de vélos partagés à partir de leur
utilisation
Idée = Grouper les stations qui se ressemblent
... C'est à dire? => Pro ls temporels
11
12. Inspiré par
Un pro l = un individu
Grouper les individus
similaires
En déduire des stations
"types"
Résultats pour 4 clusters
Clustering via la méthode des K-means
un travail
similaire de James
Lawlor
12
15. Objectif
Savoir si des vélos (resp. stations) seront disponibles
dans les prochaines minutes
Idée = Utiliser l'information disponible pour prédire
la disponibilité
... C'est-à-dire? => Apprentissage supervisé pour
estimer une probabilité de disponibilité
15
16. Méthode d'arbre boostée :
prédire Y (probabilité de
disponibilité à H+1)
à partir de X (jour, heure,
vélos disponibles à H, ...)
Méthode XGBoost
16
26. Conclusion et perspectives
Réponse à des questions de recherche simples à
partir de données géographiques ouvertes
Des portails d'Open Data à la mise en base de
données avec
Production d'une API pour visualiser la data => vers
une mise en production?
Online learning: continuer de récolter de la donnée,
mettre à jour les modèles d'apprentissage au l de
l'eau
Luigi
26
27. Merci de votre attention!
Des questions ?
Pour aller plus loin: et projet Github
damien.garaud@oslandia.com
raphael.delhome@oslandia.com
blog Oslandia
github.com/garaud/jitenshea
27