SQL Saturday Paris 2016 #510 - Velib & Cortana Intelligent Suite
•
1 j'aime•2,112 vues
Vélib est un service public à grande échelle de location de vélos sur la région parisienne en France. Lancé le 15 juillet 2007, le service propose aujourd’hui environ 14 500 vélos et 1230 stations sur Paris. Grâce à la suite Azure Cortana Analytics Suite, nous allons mettre en place une solution d’analyse des données de ces Vélib de façon à répondre à 2 problématiques :
- Obtenir une analyse descriptive en temps réel du réseau Vélib
- Mettre à disposition une analyse prédictive permettant de prédire la disponibilité du nombre de vélos et de stations disponibles pour une station donnée.
Dans la présentation nous montrerons comment nous avons mis en place la solution dans le Cloud Azure à l’aide des services suivants :
- Azure Event Hubs
- Azure Stream Analytics
- Azure Data Factory
- Azure Machine Learning
- Azure SQL Database
- Power BI
1 sur 35
Contenu connexe
SQL Saturday Paris 2016 #510 - Velib & Cortana Intelligent Suite
4. SQLSaturday Paris 2016
Speakers
Romain Casteres
Microsoft PFE Data Insight
@PulsWeb
www.PulsWeb.fr
Yassine Khelifi
Support Escalation Engineer
https://blogs.msdn.
microsoft.com/big_data_france/
6. SQLSaturday Paris 2016
Présentation du Projet
300 000 Utilisateurs 1216 Stations 19 000 Vélos
-Obtenir une analyse descriptive en temps réel du réseau
Vélib.
-Mettre à disposition une analyse prédictive permettant de
prédire la disponibilité du nombre de vélos et de stations
disponibles.
15. SQLSaturday Paris 2016
Azure Stream
Analytics Power BI
Azure
Event Hub
1 min
Cloud
service
Processing
Data flow
5 min
Cortana
SQL
Database
16. SQLSaturday Paris 2016
Stream Analytics : Analyses en temps réel
Traitement des données en continu
Collecte des millions d’évènements par seconde
Solution avec montée en charge intégrée
Transformer, enrichir, opérations temporelles
Détection des patterns et des anomalies
Corrélation du flux de données avec des données de référence
Point of
Service Devices
Self Checkout
Stations
Kiosks
Smart
Phones
Slates/
Tablets
PCs/
Laptops
Servers
Digital
Signs
Diagnostic
EquipmentRemote Medical
Monitors
Logic
Controllers
Specialized
DevicesThin
Clients
Handhelds
Security
POS
Terminals
Automation
Devices
Vending
Machines
Kinect
ATM
18. SQLSaturday Paris 2016
Architecture Lambda
Récupération des données provenant des stations qui vont suivre 2 process :
• Un flux sera traité en temps réel
• Un flux sera stocké pour être traité et analysé
21. SQLSaturday Paris 2016
Cortana
Cortana comprend et indique l’état
des stations maintenant et dans l’heure
qui suit
« Prévisions pour la station madeleine »
22. SQLSaturday Paris 2016
Azure
Machine Learning
Azure Stream
Analytics Power BI
Azure
Event Hub
1 min
Cloud
service
Processing
Data flow
5 min
1 heure
Cortana
SQL
Database
23. SQLSaturday Paris 2016
• Algorithme “Décision Forest Regression”
• Utilisation du language R pour définir des
attributs étendus
• Le modèle de prediction est recalculé tout
les trois jours
26. Données brute
Caractéristiques temporelles
Horizon de prévision
Heure
Minutes
Jour
Mois
Lag t-1 à t-4
Modèle autorégressif à base de lag distribué
1ère & 2nd Dérivée
Moyenne Mobile
Moyenne Mobile à Pondération Exponentielle
Forêt d'arbres décisionnels
Validation croisée
Optimisation des hyper Parameters
Modèle finale
Caractéristiques statistiques
Moyenne Arithmétique
Écart absolu moyen
Variance
Skewness
Asymétrie
Kurtosis
Min
Max
Fréquence Cumulée
Écart Type
27. SQLSaturday Paris 2016
Azure
Machine Learning
Azure Stream
Analytics Power BI
Azure
Event Hub
1 min
Azure Data Factory
Cloud
service
Processing
Data flow
5 min
Cortana
SQL
Database
29. SQLSaturday Paris 2016
Azure
Machine Learning
Azure Stream
Analytics Power BI
Azure
Event Hub
1 min
Azure Data Factory
Cloud
service
Processing
Data flow
5 min
Cortana
SQL
Database
31. SQLSaturday Paris 2016
Et en plus vous
pouvez gagner des
cadeaux !
Donnez votre avis sur les sessions :
http://GUSS.pro/sqlsat
32. SQLSaturday Paris 2016
Merci !
• https://mva.microsoft.com/
• https://blogs.msdn.microsoft.com/big_data_france/
Des idées pour la prochaines version ?
Liens :
33. SQLSaturday Paris 2016
Pourquoi Vélib’ by Cortana ?
Offrir une plateforme de demos aux MSFTs français
Offrir une plateforme de demos aux P-Sellers et aux partenaires
Délivrer des workshops Cortana Intelligence aux partenaires et aux
clients
Fournir un lab de type “step by step” pour apprendre à utiliser Cortana
Intelligence Suite
Créer du contenu Microsoft Virtual Academy
34. SQLSaturday Paris 2016
Actions
Actions
humaines
Systemes
automatisés
Apps
Web
Mobile
Bots
Intelligence
Dashboards &
Visualizations
Cortana
Bot
Framework
Cognitive
Services
Power BI
Management de
l’information
Event Hubs
Data Catalog
Data Factory
Machine Learning et
Analyse avancée
HDInsight
(Hadoop et
Spark)
Stream Analytics
Intelligence
Data Lake
Analytics
Machine
Learning
Stockage Big Data
SQL Data
Warehouse
Data Lake Store
Sources
de données
Applications
Capteurs
&
Objets
Données
35. SQLSaturday Paris 2016
Power BI
Azure
Event Hub
1 min
DAGScheduler
Cloud
service
Processing
Data flow
5 min
Cortana
Notes de l'éditeur
Duration: 60
To Open :
Notepad++ : myvelibstream-eventhubsink.json
PBIX : 1 - Predictions.pbix (Refresh)
SSMS : SSMS_Query.sql
Powrebi.com depuis Yassine Account
IE :
https://msit.powerbi.com/groups/bf8353a5-fd14-4193-8679-1c16722f0ac8/dashboards/4eab046a-c8f7-4845-8207-ac177ebded70
https://manage.windowsazure.com/microsoft.onmicrosoft.com#Workspaces/All/dashboard
https://developer.jcdecaux.com/#/home
https://yassinek.visualstudio.com/Cortana%20Analytics%20Suite%20Demo/_versionControl?path=%24%2FCortana%20Analytics%20Suite%20Demo%2FVelib%2FWorkerRole%2FWorkerRole%2FWorkerRole1%2FScrapper.cs&_a=contents
https://europewest.studio.azureml.net/Home/ViewWorkspaceCached/41b38140dcd749d3a3f9ffe5c5b87af0#Workspace/Experiments/ListExperiments
Voici l’agenda de la session, nous vous présenterons le projet Velib & Cortana ainsi la suite de service Cloud Cortana Intelligente Suite.
Par la suite, nous créerons et configurerons les différentes briques de la solution ensemble.
Pour finir, nous parlerons des évolutions envisages pour la solution.
http://www.sqlsaturday.com/510/eventhome.aspx
http://www.sqlsaturday.com/510/Sessions/Details.aspx?sid=48471
Vélib est un service public à grande échelle de location de vélos sur la région parisienne en France. Lancé le 15 juillet 2007.
Vélib' aujourd'hui c'est près de 300 000 utilisateurs qui utilisent les 19 000 vélos mis à leur disposition dans les 1216 stations ouvertes sur Paris et sa banlieue.
Grâce à la suite Azure Cortana Analytics Suite, nous allons mettre en place une solution d’analyse des données de ces Vélib de façon à répondre à 2 problématiques :
Obtenir une analyse descriptive en temps réel du réseau Vélib
Mettre à disposition une analyse prédictive permettant de prédire la disponibilité du nombre de vélos et de stations disponibles.
Adresser les besoins pour les employés :
Réactif : Vue en temps réel de l’utilisation des Vélibs sur la capitale.
Proactif : Optimiser la taille des stations de la capitale en fonction de leur utilisation et Evaluer le besoin de transférer les vélos entre les zones.
Adresser les besoins pour les clients :
Business Intelligence : Etats des stations autour d’un point
Advance Analytics : Disponiblité autour d’un point
-- Romain
- Le vrai défi de JCDecaux, c'est le coût. En effet le service coute 1500€ par an et par Vélo il est donc impératif pour les équipes de maintenances d’avoir une bonne vision de l'utilisation du service de façon à comprendre comment il est utilisé par ses clients. Une centaine de Vélib a été retrouvé dans le Canal Saint Martin et que de nombreux Vélib’ sont volé et revendu à Bamako !
- Tableau de bord permet d'avoir une bonne vision de l'usage global des Vélib au quotidien en comparant le nombre de Vélib en cours de circulation et le nombre de Vélib disponibles dans les stations.
- Actuellement 17 000 vélos disponibles sur l’ensemble du réseau. Et pour améliorer la qualité du service, ils ont besoin de monitorer le taux d’occupation de chaque station pour pouvoir optimiser leur remplissage en ajustant au mieux le nombre de Vélib disponibles dans les stations.
- La variance permet de constater la dispersion du nombre de vélos dans les stations, plus la variance est petite, plus on aura des stations qui ont le même nombre de vélos disponibles. Au contraire, une variance élevée montrera que les stations sont dans un état de remplissage très différent les unes par rapport aux autres. Sur un arrondissement, par exemple le 15ème, on peut voir le comportement pour chaque station. En abscisse on voit la variance et en ordonnée, on a le nombre de vélos disponibles en temps réel. Cette visualisation permet de voir les stations qui ont un taux d'occupation qui sort de la normal. Cela permet d’identifier les stations trop petites ou trop grandes vis-à-vis des habitudes d'utilisation des habitants du 15ème.
- Taux de disponibilité des stations sur les arrondissements de Paris permet de voir quels arrondissements connaissent le plus d'utilisateurs en fonction du nombre de bornes Vélib disponibles cela permet de définir les arrondissements dans lesquels il faut prévoir un ajustement. Issy les Moulineaux a beaucoup de Vélos disponibles alors qu'elle a assez peu de bornes. Mais dans le 18ème, il y a peu de vélos disponibles alors qu'il y a un bon nombre de bornes, il faudra peut-être donc rajouter une nouvelle station dans cet arrondissement.
- En plus d'avoir l'état des stations en temps réel, le flux Twitter Vélib' affiché et rafraîchit en temps réel sur le tableau de bord leur permet d'être au courant des dernières actualités concernant le réseau Vélib
-- Yasssine : MAE ? …
Predictions et Performance de la prediction.
Cortana Intelligence Suite fournit une suite de service dans le cloud permettant de transformer vos données en actions intelligentes.
Nous allons vous présenter les différents services sélectionné pour répondre a notre besoins d’analyse…
DEMO : API JCDecaux
- https://developer.jcdecaux.com/#/home
https://developer.jcdecaux.com/#/account
https://developer.jcdecaux.com/#/opendata/vls?page=dynamic
https://azure.microsoft.com/en-us/documentation/articles/cloud-services-choose-me/
The technology provides two slightly different VM options: instances of web roles run a variant of Windows Server with IIS, while instances of worker roles run the same Windows Server variant without IIS. A Cloud Services application relies on some combination of these two options.
Any combination of these two slightly different VM hosting options are available in a cloud service:
Web role : Runs Windows Server with your web app automatically deployed to IIS.
Worker role : Runs Windows Server without IIS.
DEMO : Cloud Service – VS Online
Event Hubs est un récepteur d’événements fortement évolutifs de type publication-abonnement qui peut recevoir des millions d’événements par seconde afin de pouvoir traiter et analyser des quantités volumineuses de données. Dans la solution, nous utiliserons Event Hub pour ingérer les données collectées toutes les minutes de façon à les transmettre au Job Azure Stream Analytics.
La configuration des partitions permet de recevoir jusqu’à 1 million d’évènements par seconde.L’envoi d’événements peut se faire soit en utilisant un HTTP POST ou via le protocole AMQP 1.0 (Advanced Message Queuing Protocol).
Pour plus d’information sur Event Hubs : https://azure.microsoft.com/en-us/services/event-hubs/
DEMO : Portail Azure
DEMO : Présentation du services ASA depuis l’ancien portail d’Azure
DEMO : SSMS
select TOP 100 *
FROM [dbo].[AnalyseDisponibilité] DISP
INNER JOIN dbo.AxeStations STA ON STA.[Station ID] = DISP.[Station ID]
WHERE STA.[Code Postal] = 75014 --AND DISP.[Station ID]=14101
ORDER BY DISP.DATE DESC
DTU : Data Transaction Unit
http://dtucalculator.azurewebsites.net/
DEMO :
PBIX « 1 - Predictions.pbix »
Power BI Portail
DEMO :
PBIX « 2 - Cortana Prediction Status.pbix »
« Prévisions pour la station madeleinee »
> Via le tephone
Automatisation et Scheduling de :
- Appel toutes les heures pour la prédiction et la sauvegarde des prédiction dans la base de données SQL Database
- Ré-entrainement et actualisation du model prédicitf
Data Factory est un service d’orchestration d’activité dans le cloud lié au données.
Il permet de recevoir, préparer, transformer et publier de la données, on premise ou dans le Cloud.
Il est constitué des objets suivants :
Des linked Services,
Data Set
Activity
Pipeline
Dans la solution, nous avons utilisé le service Azure Data Factory pour Scheduler l’appel de l’API de prédiction, sauvegarder les résultats dans une base de données Azure SQL Database ainsi que pour ré entrainer et mettre a jours le modèle de prédiction.
DEMO : ADF
quelle est la prochaine prévision pour la station 15002