Avec le développement de la connectivité sur de nombreux objets et appareils, l’apparition des nouveaux protocoles de communication comme LorA et Sigfox, l’arrivée sur le marché des capteurs peu chers et l’inflation des données qu’ils émettent, l’IoT (Internet des Objets) prend désormais de la place, non seulement dans nos vies quotidienne, mais aussi au niveau industriel.
Aujourd’hui, quand on parle de l’IoT, on pense plutôt à la partie conception et connectivité d’objets qui représentent désormais sa vitrine. Cependant, selon les prévisions d’IDC, le marché mondial de l’IoT atteindra 7,1 trillions de dollars d’ici 2020 avec des données qui représenteront 10 % de toutes les données sur Terre. Cela nécessite un travail de fond sur le traitement des données et leur exploitation. En effet, une fois ces données à disposition, on peut pousser un cran plus loin pour les analyser et prendre des décisions qui peuvent être complexes dans certains cas. La récupération de données provenant de nombreuses sources et de nombreux utilisateurs va permettre non seulement de visualiser des informations essentielles, mais aussi d’appliquer des modélisations plus complexes afin de trouver des réponses à des questions liés à la donnée IoT. C’est ici que la Data Science entre en jeu pour être appliquée à des usages telles que le transport, les grilles énergétiques, les services d’eau, l’éclairage des rues, le stationnement, etc.
On parle aujourd’hui énormément de « IoT Analytics », en présentant cette discipline comme quelque chose d’à part entière. Mais finalement, l’analyse des données IoT est-elle si différente de l’« analyse des données » au sens traditionnel du terme ? Y a t-il des spécificités en termes de traitement des données IoT et de modélisation à partir de celles-ci ? Nous essayerons à travers cet article introductif de répondre à ces questions autour de la conciliation entre la Data Science et l’IoT.
Les caractéristiques des données IoT
Quand on parle de données IoT, on parle souvent de données issues de capteurs (e.g., capteurs de température, d’humidité, GPS, etc). Ces données présentent certaines caractéristiques, dont voici une liste non exhaustive :
- Elles sont souvent sous la forme de séries temporelles (e.g, données de capteurs de température, d’humidité)
- Elles peuvent provenir de sources hétérogènes (e.g., son, vidéo, température, etc.)
- Il n’y a pas de norme dans la réception de ces données. En effet, des appareils similaires de différents fabricants (e.g, des thermomètres) utilisent des formats de données complètement différents et génèrent des données à des fréquences différentes.
- Les données des capteurs arrivent souvent en temps réel
- Les données des capteurs sont souvent géolocalisées
À la lecture de ce listing, on s’aperçoit que les particularités de ces types de données ne sont pas des chasses gardées de l’IoT. On les retrouve en effet dans d’autres champs d’applications : les techniques de traitement du signal existent déjà depuis plusieurs siècles, et les avancées récentes du Deep Learning permettent de faire des merveilles sur des images, des vidéos ou du son, etc. Par conséquent, des méthodes de Data Science « classiques » associées à ces particularités pourront nous aider à répondre à des problématiques d’analyse de données IoT.
Le Traitement de la donnée IoT et les challenges associés
La valeur de l’IoT réside principalement dans l’exploitation des données issues de différents capteurs. Ainsi, un industriel qui a à sa disposition des milliers, voir des millions d’objets, va devoir savoir exploiter et traiter les données issue de ses objets pour en extraire de la valeur.
Réussir l’intégration des données IoT au sein de l’entreprise
Mais avant d’extraire de la valeur de ces données, les entreprises doivent d’abord réussir la phase d’intégration de ces nouvelles sources avec les données existantes et les connecter à leurs applications internes afin de pouvoir par exemple déclencher des actions en temps réel. Tout l’enjeu de la connexion de ces données avec les applications réside dans la création de services à valeur ajoutée : alertes fuite, optimisation du rendement ou détection d’anomalie. À titre d’exemple, Air France indique qu’elle a permis de dégager d’importants gains d’efficacité en choisissant d’exploiter les données de seulement 24 000 capteurs parmi les 300 000 que comptent les avions les plus modernes, comme l’airbus A380. La compagnie aérienne constate d’ores et déjà d’importants bénéfices, tant en termes de maintenance curative que préventive. Par exemple, le délai de détection de pannes est passé de 5 heures à 5 minutes.
Une fois effectuée l’intégration des nouvelles sources de données IoT avec celles de l’entreprise, il s’agit ensuite d’ajouter de l’intelligence en intégrant la dimension analytique et le Machine Learning aux dispositifs. Ceci nous permettra de créer de nouveaux services comme par exemple fournir des conseils aux consommateurs, détecter les dysfonctionnements et les prédire.
Quelques spécificités liées au traitement de la donnée IoT
Concernant la dimension analytique et le traitement de la donnée IoT, le volume de ces données est souvent considérable, et des fois, il n’est pas nécessaire de tout envoyer dans le Cloud ou le Data Lake. De plus, l’envoi de ces données doit être fiable dans le sens où pour des traitements en temps réel, on voudra par exemple éviter d’envoyer de mauvaises mesures qui pourraient déclencher des prises de décisions erronées. Ainsi, quelques traitements peuvent être effectuées au niveau du Edge : quelques données peuvent être supprimées ou résumées et agrégées ou normalisées au niveau du Edge avant d’être envoyées vers le système de stockage.
La nature des données IoT, souvent en séries temporelles, pose des problématiques sur les agrégations à faire pour pouvoir les analyser. Ainsi, il faut pouvoir aligner les données sur une même échelle temporelle, et effectuer les bons calculs lors de ces agrégations. Il faut aussi se rappeler d’où vient la donnée et ce que l’on mesure, et donc avoir de nouvelles approches d’indexations. Dans ce contexte, il existe des bases de données orientées séries chronologiques et qui répondent à une logique d’indexation plus adaptée en associant la valeur temps à une classe particulière de métrique (par exemple la mesure de la température). Citons par exemple InfluxDB, Paas Time series d’OVH ou encore Riak TS de basho.
Il faut noter aussi que les données issues de capteurs sont souvent autocorrélées, et donc des observations consécutives seront très souvent similaires, ce qui peut rendre les modélisations plus compliquées d’un point de vue statistique. De plus, il peut être complexe de détecter des anomalies lorsque l’on a des mesures provenant de plusieurs sources en même temps ou nécessitant des techniques de fusion des données des capteurs. Il devient alors nécessaire de réfléchir à des nouvelles approches d’indexation de la donnée, ainsi qu’à l’utilisation de techniques de filtrage pour débruiter la donnée.
Finalement, est-ce bien spécifique à l’IoT ?
On se rend bien compte qu’il y a certaines spécificités et problématiques liées à la donnée IoT. Cependant, elles peuvent tout à fait se retrouver dans d’autres champs d’application, ce qui nous permet d’aller puiser dans tout un ensemble de méthodes déjà existantes pour les résoudre.
Il n’y pas pas de méthode standard pour résoudre des problématiques IoT et Data Science. Les projets IoT concernent très souvent des problématiques liées à l’informatique cognitive, le traitement temps réel, le traitement des données en séries chronologiques, le traitement de données géolocalisées, le deep learning et le traitement au niveau du Edge. Partant de ce constat, si on cherche à découper et décrire les grandes briques constituant un projet IoT, on se retrouve avec des sujets technologiques déjà traités (ou sont en cours de traitement) dans d’autres contextes (acquisition de la donnée, stockage, traitement de séries temporelles, applications temps réel, etc.).
Finalement, on se rend compte que les problématiques liées à la donnée IoT ne nécessitent pas que l’on réinvente la roue. Et c’est particulièrement vrai pour la Data Science: nous allons pouvoir appliquer des transformations classiques de la donnée, ainsi qu’utiliser des modélisations déjà clairement identifiées dans d’autres champs d’applications. Il faudra bien entendu réussir à bien prendre en compte toutes les spécificités liées aux données IoT pour appliquer les modèles efficacement et fournir des résultats adéquats.
Quelques Use cases de traitement de données IoT
Pour finir, citons quelques exemples afin de se convaincre de l’intérêt de l’application de techniques de Data Science à des systèmes d’IoT. Pour chacun de ces exemples, les traitements et modélisations utilisables ne sont pas issues du monde de l’IoT, mais bien de projets de Data Science généraux. L’objectif est alors de bénéficier pleinement des bienfaits des deux mondes pour créer des systèmes complexes à forte valeur ajoutée.
Dans ces différents cas de figure, le signal n’est pas forcément toujours traité en tant que série temporelle. En revanche, les applications ont régulièrement un objectif d’application en temps réel.
Reconnaissance d’image
À partir de la collecte d’un flux vidéo, application d’un modèle de Deep Learning pour de la reconnaissance d’objets présents dans le champ de vision de la caméra. En fonction des prédictions faites, un message peut être envoyé à un autre appareil pour une éventuelle prise de décision (déclenchement d’alarme, notification à un utilisateur, etc.).
Analyse de signal sonore
Les techniques de reconnaissance vocale sont maintenant légion dans les smartphones. Selon la phrase reconnue, une action peut être déclenchée (recherche internet, déclenchement d’un appel, etc.).
On peut aussi utiliser un modèle de Machine Learning pour catégoriser le son capté et déclencher une action en fonction de la prédiction. Par exemple, si le signal est prédit comme provenant d’un cri de bébé, un autre device peut être activé afin de prévenir les parents ou jouer une musique apaisante.
Détection et suivi de position
À partir du signal provenant de plusieurs capteurs, utiliser un modèle de fusion de données afin de détecter la position en temps réel d’un utilisateur dans une pièce ou un bâtiment.
Détection d’anomalies
À partir des données provenant d’un ou plusieurs capteurs, effectuer une détection de pattern permettant de signaler une anomalie dans le fonctionnement d’une machine.
Maintenance préventive
À partir de données provenant d’un ou plusieurs capteurs (images, son, température, etc.), appliquer un modèle de prédiction de pannes afin d’effectuer une maintenance préventive avant l’observation effective du problème.
Smart city
Les exemples autour des Smart City sont légion. Citons par exemple la prédiction d’un taux de pollution élevé de l’air permettant d’enclencher des actions nécessaires, ou bien la prédiction de l’affluence dans une station de bus afin d’optimiser leur trafic pour éviter les embouteillages.
Tracking d’activité personnelle & santé
Ce domaine est en pleine expansion. Nous pouvons citer comme exemple le monitoring des activités physiques d’une personne afin de lui faire des recommandations en fonction de son taux d’activités.
Conclusion
L’IoT apparaît comme un formidable cas d’application de techniques de Data Science déjà connues et éprouvées dans d’autres champs d’application, tout comme c’est le cas pour les composants hardware et les moyens de communication. En effet, en scrutant le type de données à disposition et les potentielles applications, nous allons constater qu’il sera possible de puiser dans le savoir et les techniques déjà utilisées dans d’autres domaines par le passé pour nous aider. Certains challenges sont encore à relever, notamment en termes de sécurité, mais le sujet de la Data Science et de l’IoT est d’ores et déjà lancé et devrait gagner en intensité très rapidement.