Brevet FR3164819A1 — publié le 20260123

Procédé de traitement de mesures acquises dans des installations d’eau, programme d’ordinateur et système de traitement associés La présente invention concerne un procédé de traitement de mesures acquises dans des installations d’eau, lesdites mesures formant au moins une série temporelle, le procédé comprenant les étapes suivantes : - analyse (120) de la série temporelle pour déterminer des données aberrantes et/ou des instants de donnée manquante correspondant à des instants dans lesquels au moins une donnée manque ; - lorsqu’au moins une donnée aberrante est déterminée, exclusion (130) de cette donnée de la série temporelle, l’instant correspondant étant alors considéré comme un instant de donnée manquante ; - entrainement (140) d’un modèle d’apprentissage en profondeur à partir d’au moins certaines des données de la série temporelle ; - détermination (160) des données manquantes aux instants de donnée manquante en utilisant le modèle d’apprentissage en profondeur. Figure pour l'abrégé : Figure 2 Procédé de traitement de mesures acquises dans des installations d’eau, programme d’ordinateur et système de traitement associés La présente invention concerne un procédé de traitement de mesures acquises dans des installations d’eau. La présente invention concerne également un programme d’ordinateur et un système de traitement associés à ce procédé de traitement. La présente invention se rapporte plus particulièrement au domaine de traitement de l’eau mis en œuvre par différentes installations d’eau telles qu’une station de traitement de l’eau, une station de distribution de l’eau, une station d’épuration, etc. Afin de dimensionner ces différentes installations et de contrôler leur fonctionnement, il est souvent nécessaire d’avoir des données caractérisant l’eau dans ces installations et correspondant par exemple à une consommation de l’eau, à son débit dans un endroit donné du système, à sa composition chimique, etc. Ces données peuvent ensuite être utilisées pour déterminer par exemple des indicateurs de qualité de l’eau afin de répondre aux normes en vigueur ou d’alerter les consommateurs ou d’effectuer des travaux de maintenance, lorsque cela est nécessaire. Les données correspondantes sont généralement issues de capteurs fonctionnant selon des fréquences de mesure prédéterminées et disposés dans des endroits connus. En outre, chaque donnée est généralement associée à un instant connu qui présente également un intérêt lors de l’analyse de cette donnée. Par exemple, souvent, il est non seulement nécessaire de connaitre la grandeur d’un paramètre donné mais également l’instant auquel ce paramètre valait cette grandeur. Les données générées par les capteurs et associées aux instants connus forment ainsi des séries temporelles. Ici, chaque instant peut correspondre à tout repère temporel et peut par exemple être défini par l’heure exacte de prise de la mesure ou par une période telle qu’une heure, un jour, une semaine, un mois, etc. Les instants connus peuvent par exemple être déterminés selon une fréquence connue (par exemple chaque heure). Il arrive dans certains cas que les séries temporelles ont des données manquantes. Ainsi, une donnée peut être manquante pour un instant donné suite à des différents évènements pouvant survenir dans la chaine d’acquisition et de transmission de données. Par exemple, un tel évènement peut correspondre à une défaillance d’un capteur ou d’un moyen de transmission ou d’un moyen de stockage. Une donnée peut être également considérée comme manquante lorsque la fréquence de mesure déterminée ne permet pas d’utiliser les mesures correspondantes dans un but souhaité. Pour pallier le problème de données manquantes dans les séries temporelles, différentes méthodes sont déjà connues dans l’état de l’art. La plupart de ces méthodes sont basées sur l’utilisation de formules métier permettant notamment de déduire certains types de données à partir d’autres types de données en utilisant des relations connues entre ces types de données. Toutefois, ces relations sont souvent obtenues de manière empiriques et ne peuvent pas être appliquées à l’ensemble des cas avec une précision souhaitée. Il est également connu des méthodes consistant à interpoler et/ou extrapoler les données connues mais ces méthodes peuvent également manquer de précision souhaitée. En outre, les méthodes de l’état de l’art ne sont pas toujours adaptées pour traiter des données considérées comme non-manquantes mais susceptibles de fausser les résultats. La présente invention a pour but de remédier à ces inconvénients et de proposer donc un procédé et un système de traitement permettant de traiter les séries temporelles relatives à des mesures acquises dans des installations d’eau de manière particulièrement précise. À cet effet, l’invention a pour objet un procédé un procédé de traitement de mesures acquises dans des installations d’eau, lesdites mesures formant au moins une série temporelle, la série temporelle présentant un ensemble d’instants et un ensemble de données associées à ces instants, le procédé comprenant les étapes suivantes : - analyse de la série temporelle pour déterminer des données aberrantes et/ou des instants de donnée manquante correspondant à des instants dans lesquels au moins une donnée manque ; - lorsqu’au moins une donnée aberrante est déterminée, exclusion de cette donnée de la série temporelle, l’instant correspondant étant alors considéré comme un instant de donnée manquante ; - entrainement d’un modèle d’apprentissage en profondeur à partir d’au moins certaines des données de la série temporelle ; - détermination des données manquantes aux instants de donnée manquante en utilisant le modèle d’apprentissage en profondeur. Grâce à ces caractéristiques, l’invention permet de déterminer les données manquantes de manière particulièrement précise. En effet, le modèle d’apprentissage en profondeur permet de déterminer un comportement particulier des données et/ou des corrélations entre ces données. Cela permet alors de prédire avec une plus grande précision les données manquantes. L’invention est donc particulièrement avantageuse en comparaison avec les méthodes l’état de l’art utilisant par exemple uniquement les règles métier et/ou une interpolation/extrapolation de données. Suivant d’autres aspects avantageux de l’invention, le procédé comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles : - la détermination de chaque donnée aberrante s’effectue en appliquant des règles métier ; - la détermination de chaque donnée aberrante comprend la comparaison de la donnée correspondante avec au moins un seuil et/ou le calcul d’une distance de Mahalanobis et/ou la vérification d’au moins une relation et/ou la mise en œuvre d’un modèle d’apprentissage automatique non-supervisé ; - chaque donnée manquante est due à une défaillance d’un capteur ou à un défaut de transmission ; - l’entrainement du modèle d’apprentissage en profondeur comprend la détermination d’un comportement des données dans le temps et/ou la détermination de corrélations entre les données ; - l’entrainement du modèle d’apprentissage en profondeur s’effectue à partir d’une partie de données de la série temporelle ; - le procédé comprenant en outre une étape de test du modèle d’apprentissage en profondeur en utilisant les données de série temporelle non-utilisées pour son entrainement ; - chaque mesure correspond à un paramètre de l’eau passant par les installations d’eau. L’invention concerne également un programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre le procédé tel que défini ci-dessus. L’invention concerne également un système de traitement de mesures acquises dans des installations d’eau, comprenant des moyens techniques configurés pour mettre en œuvre le procédé tel que défini précédemment. L’invention apparaîtra plus clairement à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple non limitatif, et faite en référence aux dessins dans lesquels : - FIG. 1 la FIG. 1 est une vue schématique d’un système de traitement selon l’invention ; et - FIG. 2 la FIG. 2 est un organigramme d’un procédé de traitement selon l’invention, le procédé de traitement étant mis en œuvre par le système de traitement de la FIG. 1 . La FIG. 1 illustre un système de traitement 10 permettant de traiter des mesures acquises dans des installations d’eau 12. Chaque installation d’eau 12 présente par exemple une station de traitement de l’eau, une station de distribution de l’eau, une station d’épuration, etc. Une telle station est notamment apte à traiter de l’eau ou à distribuer de l’eau selon des méthodes connues en soi. Dans tout ce qui suit, par « eau », on entend de l’eau propre destinée à l’utilisation par des consommateurs (par exemple de l’eau potable) ou des eaux usées. Les installations d’eau 12 peuvent être disposées dans des endroits géographiques différents. Chaque installation d’eau 12 comprend un ou plusieurs capteurs 14 aptes à acquérir des mesures relatives à au moins un paramètre caractérisant l’eau dans cette installation. Un tel paramètre peut concerner une composition chimique de l’eau ou alors la manière de son écoulement dans l’installation d’eau 12 correspondante, telle que son débit, pression, etc. Par exemple, un capteur 14 peut mesurer le contenu de l’ammonium NH 4 ou des matières en suspension (MES) dans les eaux usées ou le pH dans l’eau propre. Les capteurs 14 peuvent être de même nature (c’est-à-dire aptes à mesurer les mêmes paramètres) ou de natures différentes (c’est-à-dire aptes à mesurer des paramètres différents). Chaque capteur 14 est apte à acquérir les mesures correspondantes et à générer des données, par exemple des données numériques, correspondant à ces mesures. Chaque capteur 14 est apte en outre à transmettre chaque donnée générée au système de traitement 10 via tout moyen de communication connu en soi, comme par exemple un réseau informatique filaire ou sans fil. En complément ou alternativement, chaque capteur 14 est apte en outre à transmettre chaque donnée générée à un système de stockage centralisé, tel qu’un système de type SCADA (de l’anglais Supervisory Control and Data Acquisition ). Avantageusement, chaque donnée générée par un capteur 14 est associée par ce même capteur à un instant. Un tel instant correspond par exemple à une heure et une date précises de prise de la mesure ou alors à une période dans laquelle la prise a été effectuée, telle qu’une heure, un jour, une semaine, un mois, etc. Alternativement, chaque donnée générée par un capteur 14 est associée à un instant par tout autre moyen, par exemple par tout autre moyen de l’installation 12 ou par le système de traitement 10. Dans certains cas, chaque capteur 14 est apte à acquérir les mesures correspondantes avec une fréquence prédéterminée. Cette fréquence peut alors être utilisée pour associer des instants aux données correspondantes. Les données générées par les capteurs 14 avec les instants associés à ces données forment une ou plusieurs séries temporelles. En particulier, chaque série temporelle présente un ensemble d’instants et un ensemble de données associées à ces instants. Plusieurs données peuvent par exemple être associées à un même instant. Il s’agit dans ce cas d’une donnée vectorielle. En outre, un instant peut n’être associé à aucune donnée. Il s’agit alors d’une donnée manquante. Un tel instant est appelé par la suite instant de donnée manquante. Le système de traitement 10 est apte à traiter les données générées par les capteurs 14, comme cela sera expliqué par la suite plus en détail. Le système de traitement 10 est par exemple distant de toute installation d’eau 12 ou fait partie au moins de l’une de ces installations d’eau 12. En référence à la FIG. 1 , le système de traitement 10 comprend un module d’entrée 21, un module de traitement 22 et un module de sortie 23. Le module d’entrée 21 est connecté directement ou indirectement à chacun des capteurs 14 (éventuellement via un système de stockage centralisé) en utilisant un moyen de communication tel que défini précédemment et apte à acquérir les données générées par ces capteurs 14. Avantageusement, ces données sont acquises sous la forme d’une ou de plusieurs séries temporelles, c’est-à-dire avec les instants correspondants. Alternativement, le module d’entrée 21 est apte à associer l’instant correspondant à chaque donnée acquise pour former une ou plusieurs séries temporelles. Un tel instant correspond par exemple à l’instant de réception de la donnée correspondante. Dans certains modes de réalisation, le module d’entrée 21 comprend une unité de stockage permettant de stocker les données pour une durée déterminée. Le module de traitement 22 est apte à traiter les données acquises par le module d’entrée 21. En particulier, le module de traitement 22 est apte à traiter ces données sous la forme d’au moins une série temporelle afin notamment de lui imputer les données manquantes, comme cela sera expliqué par la suite. Le module de sortie 23 est apte à transmettre les données traitées par le module de traitement 22 à tout système externe intéressé. Un tel système externe permet par exemple de mettre en œuvre un traitement autre que le traitement effectué par le système 10, par exemple un traitement pour une tâche particulière, telle que la détermination d’un indicateur de qualité de l’eau, de la consommation totale de l’eau pour les installations 12, etc. Chacun des modules 21 à 23 se présente par exemple sous la forme d’un ou de plusieurs logiciels, c’est-à-dire sous la forme d’un programme d’ordinateur, également appelé produit programme d’ordinateur. Le ou chaque logiciel est mis en œuvre par un ou plusieurs processeurs et une mémoire vive, faisant également partie du système de traitement 10. Le ou chaque logiciel est par exemple enregistré sur un support, non représenté, lisible par ordinateur. Le support lisible par ordinateur est par exemple un medium apte à mémoriser des instructions électroniques et à être couplé à un bus d’un système informatique. À titre d’exemple, le support lisible est un disque optique, un disque magnéto-optique, une mémoire ROM, une mémoire RAM, tout type de mémoire non-volatile (par exemple FLASH ou NVRAM) ou une carte magnétique. Sur le support lisible est alors mémorisé un programme d’ordinateur comprenant des instructions logicielles. En variante ou en complément, au moins l’un des modules 21 à 23 se présente au moins partiellement sous la forme d’un circuit logique programmable tel qu’un FPGA (de l’anglais Field Programmable Gate Array ), ou encore d’un circuit intégré, tel qu’un ASIC (de l’anglais Application Specific Integrated Circuit ). Le système de traitement 10 est apte à mettre en œuvre un procédé de traitement selon l’invention qui sera désormais expliqué en référence à la FIG. 2 présentant un organigramme de ses étapes. Il est considéré initialement que les capteurs 14 acquièrent des mesures et génèrent des données correspondantes à ces mesures qui sont transmises ensuite au système de traitement 10, éventuellement avec les instants correspondants. Lors d’une étape initiale 110, le module d’entrée 21 du système de traitement 10 acquiert ces données avec les instants correspondants ou associe des instants aux données acquises comme cela a été expliqué précédemment. Autrement dit, le module d’entrée 21 acquiert ou forme lors de cette étape 110 au moins une série temporelle. Selon certains modes de réalisation, la série temporelle est acquise ou formée par le module d’entrée 21 à l’issue d’une période temporelle prédéterminée. Autrement dit, pendant cette période temporelle, le module d’entrée 21 peut recevoir des données issues de différents capteurs 14 selon différentes fréquences et former la série temporelle correspondante uniquement à l’issue de cette période. Pour stocker les données intermédiaires, le module d’entrée 21 peut utiliser son unité de stockage. Ladite période temporelle peut correspondre à une heure, un jour, une semaine, un mois, une année, etc. Le nombre total de données dans la série temporelle formée peut être supérieur à 1000, avantageusement supérieur à 10 000. À la fin de l’étape 110, le module d’entrée 21 transmet la série temporelle correspondante au module de traitement 22. Lors de l’étape 120 suivante, le module de traitement 22 analyse la série temporelle reçue pour déterminer des données aberrantes et/ou des instants de donnée manquante. En particulier, comme expliqué précédemment, aucune donnée ne correspond à un instant de donnée manquante. Cela peut correspondre à une défaillance survenue dans un capteur 14 ou dans un moyen de communication. En outre, pour déterminer des données aberrantes, le module de traitement 22 utilise des règles métier. Une donnée aberrante peut également correspondre à une défaillance survenue dans un capteur 14 ou dans un moyen de communication. Elle est donc susceptible de fausser les résultats de traitement. Les règles métier imposent par exemple des seuils pour chaque type de données et/ou des relations entre des données de différents types ou entre des données correspondant à des instants différents. Par exemple, les règles métier peuvent comprendre pour les eaux usées la relation suivante reliant la quantité de l’ammonium NH 4 , des matières en suspension MES et l’indicateur NTK (azote total Kjeldahl) : NTK = alpha * MES + beta * NH 4 où alpha et beta correspondent à des coefficients pouvant être déterminés de manière empirique, en utilisant par exemple une régression multilinéaire. Ainsi, la détermination d’une donnée aberrante comprend la comparaison de chaque donnée de la série temporelle avec au moins un seuil et/ou le calcul d’une distance de Mahalanobis et/ou la vérification d’au moins une relation. Alternativement ou en complément, la détermination d’une donnée aberrante peut comprendre la mise en œuvre d’un modèle d’apprentissage automatique non-supervisé, par exemple de type IsolationForest . Lors de l’étape 130 suivante, lorsqu’au moins une donnée aberrante a été déterminée lors de l’étape 120, le module de traitement 22 exclut cette donnée de la série temporelle. L’instant correspondant à cette donnée aberrante est alors désormais considéré comme un instant de donnée manquante. Lors de l’étape 140 suivante, le module de traitement 22 utilise au moins une partie des données de la série temporelle pour entrainer un modèle d’apprentissage en profondeur. Cette partie peut par exemple comprendre entre 70% et 90% de toutes les données non-manquantes. Ces données peuvent par exemple être choisies de manière aléatoire ou selon une règle prédéterminée. En complément, certaines autres données, par exemple des données relatives à des mesures réalisées au passé et vérifiées par d’autres moyens, peuvent également être utilisées. Le modèle d’apprentissage en profondeur, également appelée modèle de deep learning , est entrainé avec les données correspondantes pour permettre de déterminer un comportement des données dans le temps et/ou des corrélations entre ces données, selon des méthodes connues en soi. En particulier, dans certains modes de réalisation, une méthode permettant un apprentissage bidirectionnel (c’est-à-dire du passé au futur et du future au passé) peut être utilisé. Le module d’apprentissage en profondeur comprend notamment un réseau de neurones, avantageusement un réseau neuronal récurrent (RNN), comportant une succession ordonnée de couches de neurones dont chacune prend ses entrées sur les sorties de la couche précédente. Plus précisément, chaque couche comprend des neurones prenant leurs entrées sur les sorties des neurones de la couche précédente, ou bien sur les variables d’entrée pour la première couche. En variante, des structures de réseaux de neurones plus complexes peuvent être envisagées avec une couche qui peut être reliée à une couche plus lointaine que la couche immédiatement précédente. À chaque neurone est également associée une opération, c’est-à-dire un type de traitement, à effectuer par ledit neurone au sein de la couche de traitement correspondante. Chaque couche est reliée aux autres couches par une pluralité de synapses. Un poids synaptique est associé à chaque synapse, et chaque synapse forme une liaison entre deux neurones. Chaque neurone est propre à effectuer une somme pondérée des valeur(s) reçue(s) de la part des neurones de la couche précédente, chaque valeur étant alors multipliée par le poids synaptique respectif de chaque synapse, ou liaison, entre ledit neurone et les neurones de la couche précédente, puis à appliquer une fonction d’activation, typiquement une fonction non-linéaire, à ladite somme pondérée, et à délivrer en sortie dudit neurone, en particulier aux neurones de la couche suivante qui lui sont connectés, la valeur résultant de l’application de la fonction d’activation. La fonction d’activation permet d’introduire une non-linéarité dans le traitement effectué par chaque neurone. La fonction sigmoïde, la fonction tangente hyperbolique, la fonction de Heaviside sont des exemples de fonction d’activation. En complément facultatif, chaque neurone est également apte à appliquer, en outre, un facteur multiplicatif, également appelé biais, à la sortie de la fonction d’activation, et la valeur délivrée en sortie dudit neurone est alors le produit de la valeur de biais et de la valeur issue de la fonction d’activation. Lors de l’étape 150 suivante, le module de traitement 22 effectue un test du modèle d’apprentissage en profondeur en utilisant les données de la série temporelle non-utilisées pour son entrainement. Autrement dit, pour cela, le module de traitement 22 peut utiliser par exemple de 10% à 30% de données non-utilisées pour entrainer le modèle. Pour tester le modèle, le module de traitement 22 détermine par exemple avec le modèle des données de test correspondant aux données non-utilisées pour entrainer le modèle, c’est-à-dire des données aux instants associés à ces données non-utilisées. Puis, le module de traitement 22 compare ces données de test avec les données non-utilisées. Lorsque les données de test diffèrent considérablement des données non-utilisées, le module de traitement 22 peut réajuster le modèle, voire entrainer un nouveau modèle, en revenant à l’étape 140. En particulier, lors de cette étape 140, d’autres données peuvent être choisies pour entrainer le modèle. Autrement, lors de l’étape 160 le module de traitement 22 utilise le modèle pour déterminer les données manquantes et complète avec ces données la série temporelle. Puis, lors de l’étape 170 suivante, le module de sortie 23 transmet la série temporelle complétée à tout système intéressé. On conçoit alors que la présente invention présente un certain nombre d’avantage. Tout d’abord, comme expliqué précédemment, l’invention permet de déterminer des données manquantes dans une série temporelle de manière particulièrement précise. L’invention permet en outre d’exclure des données aberrantes qui sont susceptibles de fausser les résultats. L’invention permet enfin de tester le fonctionnement du modèle d’apprentissage en profondeur en utilisant des données non-utilisées pour son entrainement. Les inventeurs ont par ailleurs mis en œuvre de nombreux tests démontrant que le procédé selon l’invention fournit des résultats plus précis en comparaison avec ceux obtenus selon des méthodes de l’état de la technique, utilisant notamment les formules métier. Effet, la précision des résultats obtenus selon le procédé selon l’invention est en moyenne au moins deux fois supérieure à ceux obtenus selon des méthodes de l’état de la technique. Procédé de traitement de mesures acquises dans des installations d’eau (12), lesdites mesures formant au moins une série temporelle, la série temporelle présentant un ensemble d’instants et un ensemble de données associées à ces instants, le procédé comprenant les étapes suivantes : - analyse (120) de la série temporelle pour déterminer des données aberrantes et/ou des instants de donnée manquante correspondant à des instants dans lesquels au moins une donnée manque ; - lorsqu’au moins une donnée aberrante est déterminée, exclusion (130) de cette donnée de la série temporelle, l’instant correspondant étant alors considéré comme un instant de donnée manquante ; - entrainement (140) d’un modèle d’apprentissage en profondeur à partir d’au moins certaines des données de la série temporelle ; - détermination (160) des données manquantes aux instants de donnée manquante en utilisant le modèle d’apprentissage en profondeur. Procédé de traitement selon la revendication 1, dans lequel la détermination de chaque donnée aberrante s’effectue en appliquant des règles métier. Procédé de traitement selon la revendication 1 ou 2, dans lequel la détermination de chaque donnée aberrante comprend la comparaison de la donnée correspondante avec au moins un seuil et/ou le calcul d’une distance de Mahalanobis et/ou la vérification d’au moins une relation et/ou la mise en œuvre d’un modèle d’apprentissage automatique non-supervisé. Procédé de traitement selon l’une quelconque des revendications précédentes, dans lequel chaque donnée manquante est due à une défaillance d’un capteur (14) ou à un défaut de transmission. Procédé de traitement selon l’une quelconque des revendications précédentes, dans lequel l’entrainement du modèle d’apprentissage en profondeur comprend la détermination d’un comportement des données dans le temps et/ou la détermination de corrélations entre les données. Procédé de traitement selon l’une quelconque des revendications précédentes, dans lequel l’entrainement du modèle d’apprentissage en profondeur s’effectue à partir d’une partie de données de la série temporelle. Procédé de traitement selon la revendication 6, comprenant en outre une étape de test (150) du modèle d’apprentissage en profondeur en utilisant les données de série temporelle non-utilisées pour son entrainement. Procédé de traitement selon l’une quelconque des revendications précédentes, dans lequel chaque mesure correspond à un paramètre de l’eau passant par les installations d’eau (12). Programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre le procédé de traitement selon l’une quelconque des revendications précédentes. Système de traitement (10) de mesures acquises dans des installations d’eau (12), comprenant des moyens techniques (21, 22, 23) configurés pour mettre en œuvre le procédé de traitement selon l’une quelconque des revendications 1 à 8.