Brevet FR3110719A1 — publié le 20211126

L’invention propose un procédé de détermination d’un état de santé d’un système d’intérêt équipé d’un capteur, comprenant : L’obtention d’une série temporelle de mesures, L’extraction de sous-séquences de la série, la construction d’un réseau représentant la série temporelle, où chaque nœud représente des sous-séquences, et chaque connexion pondérée entre deux nœuds représente le nombre de fois où une sous-séquence représentée par un des nœuds est suivie par une sous-séquence représentée par l’autre nœud, l’attribution d’un score de normalité à au moins une sous-séquence de la série à partir d’un ensemble de nœuds connectés du réseau formant la sous-séquence, l’identification d’au moins une sous-séquence anormale, sur la base des scores de normalité, et sur la base de la sous-séquence anormale identifiée, une détermination de l’état de santé du système d’intérêt. Figure 5b Détermination de l’état de santé d’un système à partir d’un réseau de séquences temporelles mesurées La présente relève du domaine de la science des données. Plus particulièrement, la présente divulgation porte sur des procédés de détermination d’état de santé de systèmes équipés de capteurs, ainsi que sur des programmes informatiques, des dispositifs de stockage lisibles par ordinateur et des circuits de traitement pour la mise en œuvre de tels procédés. La surveillance d’un matériel en fonctionnement consiste à mettre en place un système qui rende compte en temps réel de l’état du matériel. Très classiquement, le matériel est équipé de capteurs, en particulier de capteurs numériques qui mesurent des paramètres physiques (un débit, une pression, une température, un nombre de battements par minute…). Les mesures de ces capteurs peuvent donc être stockées et analysées, principalement sous forme de séries temporelles, qui sont des séquences de valeurs horodatées. L’analyse de ces séries temporelles, en particulier la détection d’anomalie, permet donc de surveiller l’état du matériel et le cas échéant de lancer des alarmes lors d’une sortie du domaine de fonctionnement normal du matériel, pouvant avoir des conséquences sur l’exploitation comme des blocages de production, de l’usure prématurée ou autres. La détection d’anomalies dans des séries temporelles de grande taille, typiquement dans des séries temporelles formées de données accumulées au cours de plusieurs années avec une granularité de l’ordre de la seconde, est un problème important trouvant des applications dans un grand nombre de domaines, incluant notamment : l’aéronautique, l’automobile et le ferroviaire, par exemple pour la surveillance du fonctionnement de véhicules, les villes et usines intelligentes, par exemple pour la prévision de consommation électrique, l’internet des objets, par exemple pour la détection de gestes et mouvements provenant d’une montre connectée, l’internet industriel des objets, par exemple pour la surveillance du fonctionnement d’un appareil ou d’un système industriel, tel que par exemple une ligne de production rassemblant plusieurs appareils, ou encore un site industriel tel qu’une usine ou un groupement de tels sites, les systèmes de contrôle tels que les systèmes SCADA, par exemple intégrés au sein de sites de production d’électricité, la santé, par exemple pour la surveillance d’un paramètre physiologique tel que l'activité cardiaque ou l’activité du sommeil, l’économie et la finance, par exemple pour la détection des fraudes, les télécommunications et les systèmes d’information, par exemple pour la gestion de centres de données, la cybersécurité, par exemple pour la détection d’intrusions, les services web, par exemple pour l’analyse de sessions web utilisateur pour la détection de comportements nouveaux, et le droit, par exemple pour l’analyse des affaires judiciaires et la caractérisation d’éléments discriminants. Il est alors souhaitable de détecter, parmi des échantillons de données issus d’une série temporelle, chaque échantillon étant formé d’une sous-séquence de valeurs horodatées extraites de la série temporelle, ceux s’écartant d’une norme et constituant ainsi des anomalies. Plusieurs méthodes connues de détection d’anomalies peuvent être appliquées soit directement aux échantillons de données sans prétraitement préliminaire, soit en s’appuyant sur une représentation discrète de la série temporelle. Il est en effet connu de définir un espace de représentation, utilisant un nombre minimal de variables, dans lequel les échantillons de données peuvent être représentés et classifiés. Différentes méthodes connues permettent de définir un tel espace de représentation, notamment les transformées de Fourier discrètes, les transformées par ondelettes, les décompositions en valeurs singulières en utilisant une analyse en composantes principales, les approximations par fonctions linéaires par morceaux telles que SAX, etc. Ces méthodes permettent de transformer chaque échantillon de données obtenu en un jeu de n valeurs. Il est ainsi possible de représenter graphiquement l’ensemble des échantillons de données sous la forme d’un nuage de points dans un espace à n dimensions, chaque point correspondant à un échantillon de données. La ressemblance entre deux échantillons de données peut être exprimée comme la distance euclidienne entre les deux points correspondant à ces deux échantillons dans l’espace à n dimensions. Plus cette distance est faible, plus les deux échantillons sont ressemblants. Une méthode de détection d’anomalie connue consiste à détecter les échantillons de données dont la distance euclidienne avec leur plus proche voisin dans l’espace à n dimensions est la plus grande. Cette méthode s’appuie sur la notion de discord. La notion de discord d’une série temporelle T est définie comme suit. Parmi toutes les sous-séquences de taille ℓ dans T, le discord de T est la sous-séquence T i,ℓ qui a la distance la plus grande avec son plus proche voisin. Formellement, le plus proche voisin est défini comme suit : Le discord est donc défini comme suit : Une illustration de cette définition est représentée sur la figure 1. Sur cette figure, un point symbolise une sous-séquence de T. Trois groupes de sous-séquences 201, 202, 203 y sont représentés dont une sous-séquence isolée T i,ℓ . Même si l’information que la notion de discord apporte est utile et intéressante dans certains cas d’usage, les approches l’utilisant échouent dès lors que la série temporelle d’intérêt contient plusieurs échantillons anormaux similaires. Ici, seules les sous-séquences anormales isolées, comme la sous-séquence T i,ℓ 201 peuvent être détectées par leur distance d i avec leur plus proche voisin. Des anomalies récurrentes T j,ℓ ou T k,ℓ ayant une distance d j ou d k relativement faible avec leur plus proche voisin restent indétectées. La notion de m th Discord a été proposée pour résoudre ce problème. La notion de m th Discord d’une série temporelle T est définie comme suit. Parmi toutes les sous-séquences de taille ℓ dans T, le m th Discord de T est la sous-séquence T i,ℓ qui a la distance la plus grande avec son m ième plus proche voisin. Une illustration de cette définition est représentée sur la figure 2. Sur cette figure, un point symbolise une sous-séquence de T. Comme sur la figure 1, trois groupes de sous-séquences 201, 202, 203 y sont représentés de même qu’une sous-séquence isolée T i,ℓ . Si le 3 rd Discord de T, c’est-à-dire la distance entre chaque sous-séquence et son troisième plus proche voisin, est retenu comme paramètre définissant une anormalité d’une sous-séquence, alors chaque sous-séquence isolée T i,ℓ comme 201, chaque paire isolée de sous-séquences comme 202 et chaque triplet isolé T k,ℓ de sous-séquences comme 203 sont détectés comme anomalies par leur distance d i,3 , d k,3 . En revanche, les groupes de sous-séquences T j,ℓ comprenant plus de trois sous-séquences, donc ayant une distance d j,3 relativement faible avec leur troisième plus proche voisin, ne sont pas détectés comme anomalies. Les deux notions précédentes peuvent être regroupées dans la notion de Top k m th Discord, définie comme suit. Une sous-séquence T i,ℓ est le Top k m th Discord de T si celle-ci a la k ième distance la plus grande avec son m ième plus proche voisin. Par conséquent, le discord de T est également le Top 1 1 th Discord. De plus, m th Discord de T se note Top 1 m th Discord. De manière générale, les méthodes connues s’appuyant sur la notion de m th Discord ont pour but de chercher les sous-séquences ayant le m ième plus proche voisin le plus éloigné. Cependant, ces méthodes se trouvent être très sensibles au changement de valeur du paramètre m. De petites variations de ce paramètre peuvent causer l’apparition de faux positifs, c’est-à-dire de sous-séquences détectées comme anormales alors qu’elles ne le sont pas. Les méthodes précédemment citées ne permettent pas de couvrir tous les cas possibles de détection d’anomalies. Dans le cas où le nombre d’anomalies n’est pas connu (en outre la majorité des cas, dont ceux concernant la détection de défaillance matérielle de capteurs dans leur historique de fonctionnement), et dans le cas où les anomalies se répètent (et donc chaque anomalie possédant un très proche voisin), les méthodes utilisant ces définitions ne fonctionnent pas de manière optimale. Elles présentent soit des difficultés à fournir une réponse fiable (avec un taux faible de détections correctes), ou nécessitent un temps de calcul élevé. D’autres méthodes relevant du domaine de la détection de valeurs aberrantes, pas spécifiquement dédiées au domaine des séries temporelles, sont connues. Des méthodes basées sur le facteur local aberrant (l’expression en anglais « Local Outlier Factor » (LOF) est fréquemment utilisée) sont des exemples de telles méthodes connues. De manière similaire aux méthodes utilisant le m th Discord, les méthodes basées sur le facteur local aberrant comprennent une étape de calcul d’un degré mesurant la densité du voisinage de chaque sous-séquence. Cette méthode exige un paramètre k indiquant le nombre de voisins à considérer pour mesurer la densité du voisinage. De même, d’autres méthodes connues visent à évaluer l’isolement de chaque sous-séquence. Cet isolement est mesuré en construisant des arbres binaires aléatoires divisant l’espace des sous-séquences de la série temporelle en question en deux à chaque nœud, jusqu’à obtenir seulement une sous-séquence dans chaque zone de l’espace. La profondeur de l’arbre est utilisée pour construire un score indiquant les sous-séquences considérées anormales. Plus la profondeur pour atteindre la sous-séquence à évaluer est grande, plus la sous-séquence en question est considérée comme normale. Réciproquement, plus la profondeur est courte, plus la sous-séquence sera considérée anormale. Dans le but d’homogénéiser et stabiliser le score, plusieurs arbres aléatoires sont construits et un score moyen est établi. Comme indiqué précédemment, ces méthodes ne sont pas spécifiquement dédiées aux sous-séquences de séries temporelles, celles-ci échouent donc dans certains cas testés lors de notre évaluation expérimentale. Ne pas pouvoir détecter tous les types d’anomalies est préjudiciable car l’état du système étudié n’est alors pas précisément surveillé. Ainsi, la capacité de prédiction d’une usure prématurée, d’une défaillance ou d’une dégradation s’en trouve affectée négativement. Finalement, des solutions utilisant des méthodes d’apprentissage machine profond, plus particulièrement des réseaux de neurones récurrents, désignés par l’expression en anglais « Long Short Term Memory », ont été récemment proposées. Un inconvénient de ces méthodes est que le taux de détection correcte n’est optimisé qu’à la condition que des exemples de sous-séquences normales, voire dans certains cas des exemples de différents types d’anomalies soient préalablement fournis et identifiés comme tels. Ces méthodes nécessitent donc une supervision préalable, ce qui représente un frein à leur diffusion. Les approches qui ont été proposées jusqu'à présent dans la littérature pour la détection d’anomalies dans des séries temporelles, par exemple issues de capteurs, rassemblant des mesures d’un paramètre physique au cours du temps ont de sérieuses limites : soit elles requièrent des connaissances préalables du domaine, soit elles deviennent lourdes et coûteuses à utiliser dans des situations où des anomalies récurrentes du même type se présentent. Il existe donc un besoin de pouvoir détecter un grand nombre de type d’anomalies de fonctionnement de manière générique et scalable, adaptable à la surveillance de tout système équipé d’un capteur apte à mesurer une valeur indicative d’un état de fonctionnement courant du système. Il est souhaitable que la détection soit fiable, c’est-à-dire que les anomalies de fonctionnement comme les fonctionnements normaux soient correctement identifiés comme tels. Il est, de plus, souhaitable que la détection ne nécessite aucune supervision. Résumé La présente divulgation vient améliorer la situation. A cet égard, il est proposé un procédé de détermination d’un état de santé d’un système d’intérêt équipé d’un capteur, le procédé étant mis en œuvre par un circuit de traitement comportant un processeur et une mémoire, et comprenant : une obtention OBT T d’une série temporelle formée d’une séquence de mesures issues du capteur en fonction du temps, Une extraction EXTR T j,ℓ d’une pluralité de sous-séquences de même taille l à partir de la série temporelle, chaque sous-séquence extraite étant formée d’un nombre l de mesures consécutives dans le temps, de ladite séquence de mesures, Une construction CONST d’un réseau représentant la série temporelle, le réseau comprenant un ensemble de nœuds et de connexions pondérées entre les nœuds, où chaque nœud représente un ensemble de sous-séquences extraites, et chaque connexion pondérée entre deux nœuds représente le nombre de fois où une sous-séquence représentée par un des nœuds est suivie par une sous-séquence représentée par l’autre nœud, Une attribution SCOR T j,ℓ d’un score de normalité à au moins une sous-séquence de la série temporelle présentant une taille supérieure ou égale à la taille l des sous-séquences extraites, à partir d’un ensemble de nœuds connectés du réseau formant la sous-séquence, Une identification ID Tk,ℓ d’au moins une sous-séquence anormale, indiquant une anomalie de fonctionnement du système d’intérêt, sur la base des scores de normalité attribués, et Sur la base de ladite au moins une sous-séquence anormale identifiée, une détermination DET SoH de l’état de santé du système d’intérêt. Dans un mode de réalisation, le procédé comprend l’extraction EXTR Tj,ℓ, à partir de la série temporelle, de l’ensemble des sous-séquences de la série temporelle formées du même nombre l de mesures consécutives dans le temps. Dans un mode de réalisation, la construction CONST du réseau comprend une projection PRJ T j,ℓ de chaque sous-séquence extraite en un vecteur d’un espace à deux dimensions, et une construction CONST N d’un ensemble de nœuds du réseau, où chaque nœud correspond à une zone dense de l’espace à deux dimensions. Dans un mode de réalisation, la projection PRJ T j,ℓ de chaque sous-séquence extraite en un vecteur d’un espace à deux dimensions comprend : pour chaque sous-séquence extraite, une construction REP V j,ℓ d’un vecteur représentant la sous-séquence, chaque terme du vecteur étant une somme d’un sous-ensemble de composantes de la sous-séquence, Une réduction de dimensions RED 3D d’une première matrice formée par l’ensemble des vecteurs représentant les sous-séquences extraites pour obtenir une deuxième matrice où chaque vecteur représentant une sous-séquence extraite ne comprend plus que trois dimensions, et Un calcul ROT d’une troisième matrice obtenue par rotation de la deuxième matrice, où une première dimension de la troisième matrice est définie de sorte que les sous-séquences s’étendant selon cette dimension soient des sous-séquences constantes, et les deux autres dimensions sont orthogonales à la première, et La définition des deux dimensions de l’espace de projection des sous-séquences comme les deux autres dimensions de la troisième matrice. Dans un mode de réalisation, chaque vecteur représentant une sous-séquence extraite comprend un nombre λ- ℓ de termes où chaque terme est une somme de λ composantes de la sous-séquence, et λ est compris entre 0.1* ℓ et 0.5* ℓ. Dans un mode de réalisation, le vecteur représentant une sous-séquence est défini par : Où T k est la k-ième composante de la sous-séquence et λ est un entier de valeur déterminée. Dans un mode de réalisation, la réduction de dimensions de la première matrice est mise en œuvre par Analyse en Composantes Principales. Dans un mode de réalisation, la construction CONST N des nœuds du réseau comprend la mise en œuvre d’un balayage circulaire de l’espace à deux dimensions par un ensemble de vecteurs de balayage radiaux de positions angulaires différentes, et pour chaque vecteur de balayage radial : l’identification de l’ensemble des points d’intersection des projections des sous-séquences extraites avec le vecteur de balayage radial, et la construction d’un nœud du réseau comme un maximum local de densité des points d’intersection identifiés. Dans un mode de réalisation, la construction CONST N des nœuds du réseau comprend le calcul d’une fonction d’estimation de densité par noyau appliquée à chaque ensemble de points d’intersection correspondant à une position dans l’espace du vecteur de balayage radial, la fonction d’estimation étant définie par : où est l’ensemble des points d’intersection des projections des séries temporelles avec un vecteur de balayage radial formant un angle ψ par rapport à l’axe des abscisses de l’espace à deux dimensions, r est le nombre de vecteurs de balayage radiaux, h est un paramètre de bande passante, μ est une moyenne, σ est un écart-type et n est le nombre de points contenus dans . Dans un mode de réalisation, chaque sous-séquence extraite est associée au nœud le plus proche de sa projection en deux dimensions, et la construction du réseau comprend en outre la construction EXT CNX d’une connexion entre deux nœuds correspondant respectivement à des sous-séquences extraites qui se suivent. Dans un mode de réalisation, l’attribution d’un score de normalité à une sous-séquence comprend : L’identification d’un chemin formé d’une série consécutives de nœuds du réseau pour former ladite sous-séquence, et Le calcul du score de normalité en fonction du poids des connexions du réseau formant le chemin, et du nombre de connexions associé à chaque nœud du réseau compris dans le chemin. Selon un autre objet, il est proposé un programme informatique comportant des instructions pour la mise en œuvre du procédé selon la description qui précède, lorsque ce programme est exécuté par un processeur. Selon un autre objet, il est proposé un support d’enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un programme pour la mise en œuvre du procédé selon la description qui précède, lorsque ce programme est exécuté par un processeur. Selon un autre projet, il est proposé un circuit de traitement comprenant un processeur connecté à un support d’enregistrement non transitoire selon la description qui précède. Le procédé proposé permet de déterminer un état de santé d’un système d’intérêt, par exemple en détectant des anomalies d’une série temporelle mesurée sur le système d’intérêt, sans connaissance préalable du système. En particulier, le procédé proposé permet d’identifier correctement des anomalies uniques, c’est-à-dire un comportement qui n’a jamais été observé, mais également des anomalies récurrentes, qui peuvent être liées par exemple à un fonctionnement dégradé du matériel, sans connaissances préalables. En outre, le réseau construit à partir de sous-séquence de taille déterminée permet ensuite d’évaluer un caractère normal ou anormal de n’importe quelle sous séquence de la série, de taille supérieure ou égale à la taille des sous-séquences utilisées pour la construction du réseau. Le procédé présente également une bonne précision de détection pour un temps de calcul réduit par rapport à l’art antérieur. En particulier, le fait de projeter les séquences dans un espace à deux dimensions permet de diminuer les temps de calculs nécessaires pour la construction du réseau. De plus, le procédé proposé n’implique qu’un nombre limité de parcours linéaires de la série temporelle à savoir : un premier parcours pour le calcul de la projection des séries temporelle, un deuxième pour l’extraction des nœuds et un dernier pour l’extraction des connexions. D’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels : Fig. 1 représente graphiquement un exemple connu de détection d’anomalie pour un exemple de répartition de sous-séquences. Fig. 2 représente graphiquement un autre exemple connu de détection d’anomalie pour un exemple de répartition de sous-séquences. Fig. 3a représente un exemple de série temporelle T. Fig. 3b représente des exemples de sous-séquences T1, T2 et T3 extraites de la série temporelle T de la figure 3a. Fig. 3c est une représentation d’une projection selon trois dimensions déterminées des sous-séquences extraites de la série temporelle T de la figure 3a. Fig. 3d représente la projection en deux dimensions des sous-séquences extraites de la série temporelle T de la figure 3b, où sont indiquées les sous-séquences T1, T2 et T3, et la création de nœuds. Fig. 3e représente un exemple d’une partie de nœuds et de connexions entre les nœuds obtenus à partir de la projection de la figure 3d. Fig. 4 représente un exemple de constructions d’ensembles de points d’intersection entre les projections des sous-séquences extraites avec des vecteurs de balayage radiaux. Fig. 5a représente, sur le graphe du haut, un exemple de série temporelle, et sur le graphe du bas un score de normalité associé aux sous-séquences formant la série temporelle. Fig. 5b représente un exemple de réseau construit à partir de la série temporelle de la figure 5a. Fig. 6 représente schématiquement un système muni de trois capteurs et un circuit de traitement pour la mise en œuvre du procédé de détermination de l’état de santé du système. Fig. 7 représente les principales étapes d’un procédé de détermination d’un état de santé d’un système selon un mode de réalisation. Les dessins et la description ci-après contiennent, pour l’essentiel, des éléments de caractère certain. Ils pourront donc non seulement servir à mieux faire comprendre la présente divulgation, mais aussi contribuer à sa définition, le cas échéant. En référence à la figure 6, de nombreux systèmes SYS sont équipés de capteurs C permettant de mesurer des grandeurs indicatives de leur fonctionnement sous la forme de séries temporelles qui sont des séquences de valeurs horodatées. Par exemple, dans un site industriel, une pompe est équipée d’un capteur de débit rendant compte de la vitesse de sortie d’un fluide. En médecine, on peut équiper un patient d’un appareil électrocardiographe pour rendre compte de l’activité cardiaque (en particulier le rythme cardiaque). Ces systèmes SYS peuvent être équipés de circuits de traitement permettant de stocker et de traiter les mesures localement. Avec l’émergence des systèmes dits intelligents et communicants, il est de plus possible de transmettre les mesures acquises à un circuit de traitement distant en vue d’un traitement centralisé. Le traitement des mesures acquises peut permettre de qualifier le fonctionnement du système considéré. Par exemple, en considérant comme système un appareil industriel devant suivre un cycle de température préprogrammé et en considérant comme capteur associé une sonde de température, un objectif peut être de détecter sur la base de mesures de température par le capteur si l’appareil industriel fonctionne correctement. Idéalement, cette détection est mise en œuvre automatiquement et sans connaissance préalable du cycle de température préprogrammé. Par exemple, en considérant comme système une personne ou un animal et en considérant comme capteur associé un électrocardiographe, un objectif peut être de détecter sur la base d’électrocardiogrammes si l’activité électrique du cœur de la personne ou de l’animal est normale. Idéalement, cette détection est mise en œuvre automatiquement et sans supervision, notamment sans fournir au préalable d’exemples d’électrocardiogrammes normaux ou d’électrocardiogrammes présentant des caractéristiques anormales. Un autre exemple encore est celui des objets connectés, comme une usine intelligente où un capteur permet de mesurer une pression ou une température dans une installation, ou encore un véhicule connecté dont le comportement peut être surveillé par exemple par l’analyse de données de vibrations mesurées par un capteur. Un exemple d’un tel circuit de traitement PROC, effectuant le procédé de traitement des données mesurées décrit ci-après, est représenté sur la figure 6. Le circuit de traitement représenté comporte un processeur CPU raccordé à un support d’enregistrement non transitoire MEM sur lequel est enregistré un programme pour la mise en œuvre d’un procédé tel que décrit ci-après lorsque ce programme est exécuté par le processeur CPU. On se réfère à présent à la figure 7 qui illustre les principales étapes d’un mode de réalisation d’un procédé de détermination d’un état de santé d’un système d’intérêt équipé d’un capteur. Dans un exemple, dont une représentation est fournie aux figures 5a et 5b, le système d’intérêt peut être un générateur de vapeur d’une centrale de production électrique, équipé, entre autres, d’un capteur de niveau d’eau. Par « détermination d’un état de santé », on comprend par exemple la détermination d’un état de fonctionnement normal ou non du système d’intérêt, ou encore la détermination d’un état défaillant ou non du système d’intérêt. Le procédé permet de déterminer cet état sur la base d’une analyse d’au moins une série de mesure d’une ou plusieurs grandeurs physiques du système d’intérêt acquise(s) par le ou les capteurs dont il est équipé. Une série temporelle T, formée d’une séquence de mesures issues du capteur en fonction du temps, est obtenue OBT T (S1). Dans l’exemple indiqué ci-avant, la série temporelle obtenue est un historique de mesures relevées par le capteur de niveau, espacées d’un intervalle de temps régulier, chaque mesure correspondant à une valeur de niveau de vapeur dans le générateur de vapeur au temps de la mesure. La taille de la série temporelle T, c’est-à-dire le nombre total de points de mesure, est notée |T|. La série temporelle ainsi obtenue est ensuite traitée afin de déterminer, en tant qu’« état de santé du système d’intérêt », si le générateur de vapeur présente un comportement normal ou anormal sur la période d’intérêt considérée, correspondant à la série temporelle. Il est à noter que, bien évidemment, dans diverses applications industrielles, de nombreux systèmes d’intérêt sont équipés d’une pluralité de capteurs et configurés pour obtenir de chaque capteur une série temporelle. Par exemple, une pompe centrifuge est a minima équipée de deux capteurs de pression (d’aspiration et de refoulement) et d’un capteur de débit, tous absolument nécessaires pour en déterminer le rendement et donc quantifier le bon fonctionnement du matériel. Bien que le procédé de détermination permette de traiter, ensemble ou séparément, plusieurs séries temporelles, il est considéré dans cet exemple de réalisation, pour des raisons de simplicité, le traitement d’une seule série temporelle afin de déterminer l’état de santé d’un système d’intérêt. Plusieurs sous-séquences Ti,ℓ sont extraites EXTR Ti,ℓ (S2) à partir de la série temporelle T. Les sous-séquences Ti,ℓ extraites sont des sous-ensembles de mesures consécutives au sein de la série temporelle. Chaque sous-séquence Ti,ℓ commence à l’indice i, soit au ième point de mesure de T, et contient les ℓ points qui suivent. Par conséquent, une sous-séquence Ti,ℓ donnée a pour taille ℓ et un simple point de T peut être vu comme une sous-séquence de taille 1. Par exemple le point de la série temporelle T ayant pour indice i peut être alternativement noté Ti,1, ou Ti. Ici l’ensemble des sous-séquences extraites présente la même taille ℓ. Dans un mode de réalisation l’étape S2 comprend l’extraction de l’ensemble des sous-séquences de taille ℓ de la série temporelle T. En référence à la figure 3a, on a représenté un exemple de série temporelle T dont sont extraites trois sous-séquences T1, T2 et T3 de même taille. Ces sous-séquences sont représentées en version plus développée dans la figure 3b, où on remarque que les sous-séquences T1 et T2 présentent sensiblement la même forme, mais avec des différences de valeurs, tandis que la séquence T3 présente une forme différente des deux premières. Ces sous-séquences sont utilisées comme un exemple non limitatif mais purement illustratif de la description qui suit. La taille des sous-séquences extraites peut être déterminée par un utilisateur. Dans l’exemple considéré, chaque sous-séquence ainsi extraite peut correspondre à un nombre fixe de mesures consécutives, par exemple de l’ordre de 10, 20, 50 ou 100 mesures, au sein d’une séquence temporelle de plusieurs heures ou plusieurs jours, avec un pas de mesure par exemple de l’ordre de quelques secondes à quelques minutes. Le procédé comprend ensuite la construction CONST (étape S3) d’un réseau R représentant la série temporelle T à partir des sous-séquences extraites. On utilise pour la suite les notations suivantes. Un nœud est défini comme un objet abstrait identifié par un entier, et on note un ensemble de nœuds. Une connexion est un tuple , et le poids d’une connexion est noté . Un ensemble de connexions est noté . Un graphe est défini par la paire ( ) et noté Un réseau est un graphe où x et y sont respectivement des valeurs attribuées aux nœuds et aux connexions. Enfin, le degré d’un nœud est le nombre de connexions entrant et sortant du nœud. Il est noté Le réseau est construit de telle sorte que chaque nœud du réseau représente un ensemble de sous-séquences extraites, et chaque connexion entre deux nœuds représente le nombre de fois où une sous-séquence extraite correspondant à l’un des nœuds reliés par la connexion en suit une autre correspondant à l’autre nœud, dans la séquence temporelle T. Pour ce faire, la construction du réseau comprend la projection PRJ T i ,ℓ (S31) de chaque sous-séquence extraite de la série temporelle T dans un espace de deux dimensions. Dans un mode de réalisation, cette projection comprend d’abord la représentation REP Vi,ℓ (S311) de chaque sous-séquence extraite par un vecteur dont chaque terme est une somme d’un sous-ensemble de composante de la sous-séquence. Typiquement, chaque sous-séquence Ti,ℓ est représentée par un vecteur défini comme suit : où λ est un paramètre entier inférieur à ℓ pouvant être fixé par un utilisateur. Avantageusement, λ peut être fixé entre λ=0.1*ℓ et λ=0.5*ℓ Une opération convolutionnelle de taille λ est donc appliquée à chaque sous-séquence extraite pour obtenir le vecteur la représentant. Cette représentation permet de supprimer du bruit et des perturbations résiduelles, tout en gardant les évolutions principales de la sous-séquence. Chaque sous-séquence extraite étant représentée par un vecteur de taille ℓ- λ, l’ensemble des sous-séquences ainsi représenté forme une matrice que l’on note où est l’ensemble des matrices ayant lignes et ℓ- λ colonnes. On effectue ensuite une opération de réduction de dimensions RED 3D (S312) de cette première matrice pour parvenir à un espace en trois dimensions, c’est-à-dire pour obtenir une deuxième matrice comprenant toujours lignes, chaque ligne correspondant à un vecteur représentant une sous-séquence extraite, mais ne comprenant plus que trois colonnes. On note cette deuxième matrice . Le procédé comprend ensuite le calcul ROT (S313) d’une troisième matrice obtenue par rotation de cette deuxième matrice, de telle sorte qu’une première dimension de cette troisième matrice soit colinéaire aux sous-séquences constantes de la séquence temporelle, et que les deux autres dimensions soient orthogonales à celle-ci. De cette troisième matrice, on ne retient que ces deux autres dimensions comme espace à deux dimensions pour la projection des sous-séquences extraites. En effet, le fait de projeter les sous-séquences selon ces deux dimensions permet de ne conserver après la projection des sous-séquences que des informations sur la forme des sous-séquences, ce qui permet de privilégier la détection des anomalies de forme des sous-séquences, par opposition aux anomalies de valeurs, caractérisées par la valeur moyenne des sous-séquences, et qui sont plutôt détectables selon la première dimension. En notant une sous-séquence unitaire, on définit un vecteur caractérisant la composante des sous-séquences constantes noté , où et où retourne les trois composantes importantes de l’Analyse en Composantes Principales précédemment citée, min et max correspondent respectivement aux valeurs minimales et maximales de la série temporelle. En notant les vecteurs unitaires de la base orthonormée issue de l’analyse en composante principale, on calcule les angles : Et à partir de ces angles, on calcule la matrice de rotation suivante : où sont les matrices de rotation respectivement associées aux angles La matrice résultant de cette opération a donc sa première composante alignée à Les vecteurs unitaires sous-jacents sont , où sont les vecteurs résultant de la rotation précédente. L’espace de deux dimensions qui est conservé pour la projection des sous-séquences pour les étapes suivantes est donc sur les dimensions . En référence à la figure 3c, on a représenté la projection des sous-séquences extraites de la série temporelle T représentée sur la figure 3a en trois dimensions à l’issue de l’étape S312 de réduction des dimensions. Sur la figure 3d, la projection en deux dimensions, en ne conservant que les deux dimensions orthogonales à la dimension des sous-séquences constantes, est représentée. On observe sur cette figure que les sous-séquences T1 et T2 sont voisines dans l’espace de projection à deux dimensions car elles ne varient pas par la forme mais par la valeur moyenne, tandis que la sous-séquence T3 est éloignée des deux premières du fait de sa différence de forme. Une fois les sous-séquences projetées dans l’espace à deux dimensions, la construction du réseau comprend la construction CONST N (S32) d’un ensemble de nœuds où chaque nœud N correspond à une région dense de l’espace de projection à deux dimensions. Pour cela, on effectue un balayage de l’espace à deux dimensions par un ensemble de vecteurs radiaux définis comme : , où ψ est l’angle formé entre le vecteur radial et l’axe de l’espace à deux dimensions, et tous les segments de la série temporelle formés par deux points consécutifs de la projection de la série T dans l’espace à deux dimensions : On appelle radius subset l’ensemble de ces points d’intersection avec le vecteur . Formellement : où x est le produit vectoriel. Sur la figure 4, on a représenté deux exemples de radius subsets pour deux valeurs d’angle ψ différentes. Une fois les radius subsets obtenus, les nœuds du réseau sont définis en estimant la densité de chaque radius subset puis en attribuant chaque maximum local à un nœud N. Formellement, en notant l’ensemble des valeurs de ψ, l’ensemble des nœuds est construit comme suit : La fonction est une fonction d’estimation de densité de noyau appliquée à chaque radius subset, la fonction μ représente la moyenne d’un radius subset, c’est-à-dire la position moyenne des points d’intersection formant le radius subset, et la fonction σ représente l’écart-type des positions des points d’intersection formant le radius subset. n est le nombre de points dans le radius subset considéré, qui peut être noté . r est le nombre de radius subsets, qui correspond au nombre d’angles ψ dans l’ensemble , et donc au nombre de vecteurs de balayage radiaux. r peut être fixé par l’utilisateur. Il est de préférence compris entre 1 et 360, et de préférence entre 20 et 100, pour permettre un balayage de l’espace précis mais limitant le nombre de nœuds et donc le temps de calcul nécessaire pour construire le réseau et l’utiliser. Par exemple r peut être égal à 50. h enfin est un paramètre appelé bande passante de la fonction f h , qui contrôle le degré de lissage de l’estimation de densité. La valeur de h est optimale pour d’après la publication de D. W. Scott, « Multivariate Density Estimation. Theory, Practice, Visualization. Wiley 1992. De retour à la figure 3d, on peut observer les nœuds du réseau construits à partir des maxima locaux identifiés pour les deux radius subsets représentés (ψ et ψ+1), qui sont les mêmes que ceux de la figure 4. Une fois obtenu l’ensemble des nœuds du réseau, le procédé comprend l’extraction des connexions entre les nœuds EXT CNX (S33) ainsi que les poids associés à chaque connexion. Pour cela, on parcourt l’ensemble des projections des sous-séquences extraites en deux dimensions, et à chaque sous-séquence contenue dans cet ensemble est associé l’un des nœuds du réseau. En notant l’ensemble des nœuds du réseau et l’ensemble des connexions du réseau, cet ensemble est construit comme suit : En d’autres termes, la fonction S trouve le nœud le plus proche de chaque point dans P où un point de P est la projection en deux dimensions d’une sous-séquence extraite de la série temporelle, et d est la distance géométrique. Le réseau associé à la série temporelle T est noté , l’indice provenant du fait qu’il est construit à partir de l’ensemble des sous-séquences projetées de taille . Puis, une connexion est créée entre deux nœuds à chaque fois qu’une sous-séquence de l’ensemble P correspondant à un nœud est suivie d’une sous-séquence correspondant à un autre nœud. Le nombre de fois où la connexion a lieu correspond au poids de la connexion. En référence à la figure 3e, on a représenté un exemple de connexions entre les nœuds précédemment identifiés dans la figure 3d. Une fois le réseau obtenu, on attribue SCOR Tj,ℓ (S4) un score de normalité à au moins une sous-séquence , où , c’est-à-dire que la sous-séquence à laquelle on attribue un score peut présenter une taille supérieure ou égale à celle des sous-séquences utilisées pour la construction du réseau. En effet, le score de normalité est défini en fonction du chemin qu’il faut emprunter dans le réseau pour obtenir la sous-séquence, ou dit autrement, en fonction de l’ensemble des nœuds et de connexions entre les nœuds formant la sous-séquence. Dans un mode de réalisation, un score de normalité est attribué à plusieurs sous-séquences, par exemple à l’ensemble des sous-séquences de la série temporelle dont la taille est supérieure ou égale à . On note Series2Path la fonction qui a une sous-séquence de la série temporelle T associe l’ensemble des nœuds successifs du réseau correspondant à cette sous-séquence : , avec Le score d’une sous-séquence de la série temporelle est déterminé en fonction des poids des connexions parcourues pour former la sous-séquence, et des degrés des nœuds parcourus. Concernant les poids de connexion, plus le poids d’une connexion est élevé, et plus cette transition a lieu souvent dans la série temporelle. Par ailleurs, le degré d’un nœud apporte une information sur la centralité du nœud dans le réseau : plus le nœud est central, et plus le score est grand. Dans un mode de réalisation, le score de normalité Norm est défini comme suit : où w est le poids d’une connexion et deg est le degré d’un nœud. En variante, le score de normalité peut être inversé pour devenir un score d’anomalie. Une fois les scores calculés, il est possible d’identifier ID Tk,ℓ (S5) au moins une sous-séquence anormale, indiquant une anomalie de fonctionnement du système d’intérêt. Par exemple, une sous-séquence avec un score de normalité particulièrement faible (ou respectivement un score d’anormalité élevé) peut être considérée comme anormale. Le fait de disposer des sous-séquences anormales permet de disposer des moments et des différents types d’anomalies relevées sur le capteur du système d’intérêt, ce qui permet de déterminer DET SoH (S6) un état de santé du système d’intérêt. Par exemple, il est possible de déterminer une cause des sous-séquences anormales telles que dégradation, usure d’un composant, évènement inopiné, etc. Puis, en fonction de l’analyse qui a été faite sur les causes des anomalies, des actions de correction, de réparation, ou de prédiction sur le fonctionnement du système peuvent être mises en place. Il est également possible d’exploiter ces informations pour enrichir le retour d’expérience quant au fonctionnement du système. En référence à la figure 5a, on a représenté l’exemple, sur le graphe du haut, d’une série temporelle représentant une mesure de niveau d’eau dans un générateur de vapeur d’une centrale de production électrique, et sur la figure 5b on a représenté un graphe obtenu à partir de cette série temporelle par application du procédé qui précède. Dans cette représentation, la largeur des connexions entre les nœuds est proportionnelle à leur poids. On a représenté sur la flèche TN un exemple de transition récurrente et sur la flèche TA un exemple de transition rare ou anormale. De retour à la figure 5a, le graphe du bas représente un score d’anomalie calculé pour les sous-séquences formant la série temporelle, et qui permet d’identifier rapidement les sous-séquences anormales. Procédé de détermination d’un état de santé d’un système d’intérêt équipé d’un capteur, le procédé étant mis en œuvre par un circuit de traitement comportant un processeur et une mémoire, et comprenant : Une obtention OBT T (S1) d’une série temporelle formée d’une séquence de mesures issues du capteur en fonction du temps, Une extraction EXTR T j,ℓ (S2) d’une pluralité de sous-séquences de même taille l à partir de la série temporelle, chaque sous-séquence extraite étant formée d’un nombre l de mesures consécutives dans le temps, de ladite séquence de mesures, Une construction CONST (S3) d’un réseau représentant la série temporelle, le réseau comprenant un ensemble de nœuds et de connexions pondérées entre les nœuds, où chaque nœud représente un ensemble de sous-séquences extraites, et chaque connexion pondérée entre deux nœuds représente le nombre de fois où une sous-séquence représentée par un des nœuds est suivie par une sous-séquence représentée par l’autre nœud, Une attribution SCOR T j,ℓ (S4) d’un score de normalité à au moins une sous-séquence de la série temporelle présentant une taille supérieure ou égale à la taille l des sous-séquences extraites, à partir d’un ensemble de nœuds connectés du réseau formant la sous-séquence, Une identification ID Tk,ℓ (S5) d’au moins une sous-séquence anormale, indiquant une anomalie de fonctionnement du système d’intérêt, sur la base des scores de normalité attribués, et Sur la base de ladite au moins une sous-séquence anormale identifiée, une détermination DET SoH (S6) de l’état de santé du système d’intérêt. Procédé de détermination selon la revendication précédente, comprenant l’extraction EXTR T j,ℓ , à partir de la série temporelle, de l’ensemble des sous-séquences de la série temporelle formées du même nombre l de mesures consécutives dans le temps. Procédé de détermination selon l’une des revendications 1 ou 2, dans lequel la construction CONST du réseau comprend une projection PRJ T j,ℓ (S31) de chaque sous-séquence extraite en un vecteur d’un espace à deux dimensions, et une construction CONST N (S32) d’un ensemble de nœuds du réseau, où chaque nœud correspond à une zone dense de l’espace à deux dimensions. Procédé de détermination selon la revendication précédente, dans lequel la projection PRJ T j,ℓ (S31) de chaque sous-séquence extraite en un vecteur d’un espace à deux dimensions comprend : Pour chaque sous-séquence extraite, une construction REP V j,ℓ (S311) d’un vecteur représentant la sous-séquence, chaque terme du vecteur étant une somme d’un sous-ensemble de composantes de la sous-séquence, Une réduction de dimensions RED 3D (S312) d’une première matrice formée par l’ensemble des vecteurs représentant les sous-séquences extraites pour obtenir une deuxième matrice où chaque vecteur représentant une sous-séquence extraite ne comprend plus que trois dimensions, et Un calcul ROT (S313) d’une troisième matrice obtenue par rotation de la deuxième matrice, où une première dimension de la troisième matrice est définie de sorte que les sous-séquences s’étendant selon cette dimension soient des sous-séquences constantes, et les deux autres dimensions sont orthogonales à la première, et La définition des deux dimensions de l’espace de projection des sous-séquences comme les deux autres dimensions de la troisième matrice. Procédé selon la revendication 4, dans lequel chaque vecteur représentant une sous-séquence extraite comprend un nombre λ- ℓ de termes où chaque terme est une somme de λ composantes de la sous-séquence, et λ est compris entre 0.1* ℓ et 0.5* ℓ. Procédé selon la revendication 4 ou 5, dans lequel le vecteur représentant une sous-séquence est défini par : Où T k est la k-ième composante de la sous-séquence et λ est un entier de valeur déterminée. Procédé selon la revendication 4 à 6, dans lequel la réduction de dimensions de la première matrice est mise en œuvre par Analyse en Composantes Principales. Procédé selon l’une des revendications 3 à 7, dans lequel la construction CONST N (S32) des nœuds du réseau comprend la mise en œuvre d’un balayage circulaire de l’espace à deux dimensions par un ensemble de vecteurs de balayage radiaux de positions angulaires différentes, et pour chaque vecteur de balayage radial : l’identification de l’ensemble des points d’intersection des projections des sous-séquences extraites avec le vecteur de balayage radial, et la construction d’un nœud du réseau comme un maximum local de densité des points d’intersection identifiés. Procédé selon la revendication précédente, dans lequel la construction CONST N (S32) des nœuds du réseau comprend le calcul d’une fonction d’estimation de densité par noyau appliquée à chaque ensemble de points d’intersection correspondant à une position dans l’espace du vecteur de balayage radial, la fonction d’estimation étant définie par : Où est l’ensemble des points d’intersection des projections des séries temporelles avec un vecteur de balayage radial formant un angle ψ par rapport à l’axe des abscisses de l’espace à deux dimensions, r est le nombre de vecteurs de balayage radiaux, h est un paramètre de bande passante, μ est une moyenne, σ est un écart-type et n est le nombre de points contenus dans . Procédé selon l’une des revendications 3 à 9, dans lequel chaque sous-séquence extraite est associée au nœud le plus proche de sa projection en deux dimensions, et la construction du réseau comprend en outre la construction EXT CNX (S33) d’une connexion entre deux nœuds correspondant respectivement à des sous-séquences extraites qui se suivent. Procédé selon l’une des revendications précédentes, dans lequel l’attribution d’un score de normalité à une sous-séquence comprend : L’identification d’un chemin formé d’une série consécutive de nœuds du réseau pour former ladite sous-séquence, et Le calcul du score de normalité en fonction du poids des connexions du réseau formant le chemin, et du nombre de connexions associé à chaque nœud du réseau compris dans le chemin. Programme informatique comportant des instructions pour la mise en œuvre du procédé selon l’une des revendications 1 à 11 lorsque ce programme est exécuté par un processeur (CPU). Support d’enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un programme pour la mise en œuvre du procédé selon l’une des revendications 1 à 11 lorsque ce programme est exécuté par un processeur (CPU). Circuit de traitement comprenant un processeur connecté à un support d’enregistrement non transitoire selon la revendication 13.