HackQc22 - Défi IA
S.C.E.A.U. par Iuvo-AI
Inspiration
Iuvo-AI est une jeune firme de consultation en intelligence artificielle : nous cherchons du financement pour payer nos frais comptables et légaux!
Blague à part, nous sommes aussi d'anciens collègues passionnés par la transition énergétique et les données. Nous avons eu la chance de travailler pour une compagnie américaine qui offre du chargement pour les voitures électriques en IA. Nous étions très contents d’appliquer nos connaissances pour le bienfait de notre cher territoire cette fois-ci. 🙂
What it does
S.C.E.A.U accompagne l'équipe des données d'Hydro-Québec en lui permettant d'identifier, de classer et de corriger les données. La plateforme permet aux utilisateurs, peu importe le plan d’eau: D’identifier tous types d’anomalies et de les classifier en 3 catégories distinctes De facilement interpoler la série corrigée grâces à des estimations intelligentes De connaître et observer le “raisonnement” de l’algorithme derrière ses identifications
How we built it
Pour développer la solution nous avons organisé des rencontres journalières et parfois bi-journalière. Nous avons aussi rencontré les experts d’Hydro-Québec pour obtenir plus de renseignements. Nous avons séparé le travail en fonction de nos forces respectives.
Nous avons séparé le projet en 4 étapes successives : Compréhension du problème Compréhension des données (Exploratory Data Analysis) Expérimentation avec des modèles et évaluation Développement d’une interface MVP
Challenges we ran into
Nous avons rencontré un premier challenge lorsque nous avons constaté que la différence entre les données brutes et validées était mince. Nous avons vite réalisé que nous ne pouvions nous fier sur les données validées pour bâtir un modèle d’apprentissage supervisé. Bâtir un modèle non supervisé comporte son lot de challenge : il faut être créatif au niveau de l’inspection des résultats et des métriques utilisées.
Accomplishments that we're proud of
Créer une interface utilisateur et plusieurs modèles efficaces en moins d’une semaine, à 4 personnes, nous rend extrêmement fiers. Nous avons produit beaucoup en très peu de temps et c’est grâce à l’apport de chacun. Mais la force de notre équipe était définitivement plus forte que la somme de ses membres. Cet accomplissement d’équipe nous rend très fier.
What we learned
Nous avons beaucoup appris la détection d'anomalies pour les séries temporelles! Surtout en utilisant des méthodes non supervisées. Nous avons également appris sur les problèmes d’affaires d’Hydro-Québec et de l’importance de la qualité de leurs données pour leurs opérations.
Tech Stacks Nous avons construit S.C.E.A.U. grâce à différentes librairies Python en libre d’accès. Les principales librairies que nous avons utilisées sont : matplotlib, plotly, pandas, prophet, pyqt. Nous avons utilisé un repo sur Github. https://github.com/simdage/hack-qc
Description de la problématique à résoudre
Les données compilées par Hydro-Québec ont une immense valeur. Elles permettent : D’éviter des catastrophes environnementales et sociales De protéger des espèces animales et végétales D’anticiper la production d’énergie dans ses différentes centrales
Hydro-Québec connaît la valeur de ses données. Chaque jour, une équipe de professionnels hautement qualifiés surveille manuellement leur exactitude. Malgré une vérification extensive, l’erreur est humaine. Il n'est pas exclu que les données validées contiennent des erreurs.
Solution proposée S.C.E.A.U adresse le problème de données d’Hydro-Québec en assistant l’équipe des données à identifier et corriger les données. La plateforme permet aux utilisateurs, peu importe le plan d’eau: D’identifier tous types d’anomalies De facilement interpoler la série corrigée grâces à des estimations intelligentes De jumeler IA et expertise pour établir les meilleures corrections
Les capteurs d’Hydro-Québec sont assujettis aux aléas de l’environnement : des problèmes techniques peuvent facilement survenir et génèrent des anomalies.
Nous regroupons ces anomalies en 3 catégories: Anomalies flagrantes Anomalies locales Anomalies de longue durée
Pour corriger adéquatement les données, nous utilisons une combinaison d’un premier modèle et de règles. Nous corrigeons les données grâce à un second modèle.
Détection d’anomalies: Détection de valeurs extrêmes -> Détection de valeurs extrêmes locales -> Détection d’anomalies de longue durée grâce à un modèle de clustering.
Correction d’anomalie: Utilisation d’un modèle de série temporelle “prophet” pour remplacer les anomalies par des valeurs adéquates.
Validation et test de la solution
Pour valider la solution proposée, nous avons suivi deux approches : Comparer les distributions des données corrigées et des données brutes : comparer les variances, comparer la différence absolue entre les deux séries Comparer le niveau de qualité en créant un problème supervisé. Nous tentons de répondre à la question suivante : grâce aux nouvelles données, quel est le gain de précision pouvons-nous produire sur un problème de forecasting? Notre hypothèse est que les données corrigées nous permettent de créer un gain considérable.
Résultats obtenus et discussion
Nos résultats préliminaires nous indiquent que la solution proposée est absolument efficace pour le cas d’Hydro-Québec. Non seulement sommes-nous en mesure de détecter, catégoriser et corriger des aléas flagrants dans les données, mais nous sommes également capable de détecter et corriger des anomalies de plus longue durée. Nous avons développé notre solution en gardant en tête qu’Hydro-Québec désirera l’implémenter sur tous ses bassins : la solution a été conçue pour être évolutive et universelle.
Les graphiques ci-dessous illustrent l'efficacité de notre approche. Dans un premier temps, les erreurs flagrantes sont retirées. Dans un deuxième temps, nous détections les anomalies locales et les retirons. Ces données corrigées permettent d’appliquer efficacement l’algorithme “Isolation Forest” qui finalement détecte les anomalies de longue durée. Une fois les données corrigées, nous sommes en mesure de les interpoler grâce à l’algorithme “Prophet”, qui tient en compte de multiples séries temporelles et de tendances saisonnières.
Cette figure montre que certaines anomalies sont aisément identifiables.
Le graphique ci-dessous démontre notre capacité à corriger les anomalies locales présentes dans la série de données.
Ici, nous observons que l’anomalie de longue durée obtient un score d’anomalie élevé.
L’algorithme Prophet épouse adéquatement les séries temporelles:
Finalement, notre interface utilisateur permet à l’équipe d’Hydro-Québec de connaître la cause de la détection de l’anomalie et de facilement corriger ces données.
Pour ce faire, nous avons également élaborer une stratégie pour implémenter ce logiciel dans les infrastructures de données d’Hydro-Québec :
Log in or sign up for Devpost to join the conversation.