WO2024079408A1 - Procédé de détection d'anomalie dans une série temporelle observée de valeurs d'une grandeur physique représentative des performances d'un système - Google Patents

Procédé de détection d'anomalie dans une série temporelle observée de valeurs d'une grandeur physique représentative des performances d'un système Download PDF

Info

Publication number
WO2024079408A1
WO2024079408A1 PCT/FR2023/051529 FR2023051529W WO2024079408A1 WO 2024079408 A1 WO2024079408 A1 WO 2024079408A1 FR 2023051529 W FR2023051529 W FR 2023051529W WO 2024079408 A1 WO2024079408 A1 WO 2024079408A1
Authority
WO
WIPO (PCT)
Prior art keywords
segment
time series
values
anomaly
observed time
Prior art date
Application number
PCT/FR2023/051529
Other languages
English (en)
Inventor
Etienne Matthieu KRONERT
Dalila HATTAB
Original Assignee
Worldline
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FR2210466A external-priority patent/FR3140958A1/fr
Application filed by Worldline filed Critical Worldline
Publication of WO2024079408A1 publication Critical patent/WO2024079408A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment

Definitions

  • Title of the invention Method for detecting an anomaly in an observed time series of values of a physical quantity representative of the performance of a system.
  • the present invention relates to the field of monitoring, in particular in computer data. More precisely, it concerns a method for detecting an anomaly in an observed time series of values of a physical quantity representative of the performance of a system.
  • Monitoring in French monitorage is an activity of monitoring and measuring IT activity, with the aim of supervision.
  • metrics various physical quantities
  • time series the set of successive values of a metric and the corresponding curve.
  • Figure 1 is a time series illustrating the CPU usage rate of a computer system (over a period of one week). Each circle is an observed anomaly and we notice, for example, during the day of July 19, cascading anomalies having led to a brief drop in this CPU usage to 0% for a few hours, causing a service interruption. We also see other moderate variations in the rate which may or may not be linked to anomalies.
  • the naive monitoring solution consists of setting up thresholds and detecting their crossing, which is in practice insufficient: each system is different and has its own behavior.
  • the behavior of the metrics can evolve over time without there being an anomaly, and conversely we can have an anomaly while having a metric that is maintained.
  • application EP3672153 proposes to determine a “residual” corresponding to what remains of a metric once a predictable component has been removed (corresponding to normal behavior), and to calculate confidence intervals (with thresholds) on these residues.
  • the present invention therefore relates according to a first aspect to a method for detecting an anomaly in an observed time series of values of a physical quantity representative of the performance of a system, the method being characterized in that it comprises the implementation implemented by data processing means of a step server of: (a) Determination of a residual corresponding to said observed time series from which a predictable part of said observed time series has been removed;
  • Step (a) comprises the determination, from the observed time series, of said predictable part; and subtracting said predictable part from the time series, so as to obtain said residual.
  • Determination of the predictable part includes the implementation on the observed time series of a prediction model trained on a base of reference time series of the same physical quantity representative of the performance of the system.
  • the method comprises a step (aO) of acquiring said observed time series of values of the physical quantity representative of the performance of the system, by the system or by system monitoring means.
  • Step (b) comprises the proposal of a plurality of candidate segmentations, in particular each defining a number of different segments, and the selection of the candidate segmentation presenting said score representative of the lowest intra-segment inhomogeneity.
  • Step (c) includes constructing a possible statistical model of the residual values in the segments, and for at least said most recent segment, determining a p-value for said statistical model of the distribution of residual values. residue in said segment.
  • step (c) It is concluded that there is an anomaly in step (c) if said p-value is below a threshold.
  • the threshold is predetermined, in particular 5%. Said threshold is calculated for a desired false positive rate, in particular using the Benjamini Hochberg method.
  • Said desired false positive rate on the segment for which the p-value is determined is calculated based on a desired false positive rate over the entire time series.
  • a first threshold calculated for the desired false positive rate over the entire time series, and a second threshold calculated for said desired false positive rate over the segment, are successively applied.
  • Step (c) comprises the construction of a plurality of possible statistical models of the residual values in the segments, and the selection for at least said most recent segment of a best model of said plurality for which the p-value is determined, said best model being that which best describes the tails of said distribution of residual values in said most recent segment.
  • the method includes a step (d) of implementing an action if an anomaly is detected on at least one segment.
  • Step (d) includes triggering an alert and/or requesting system diagnostic and maintenance equipment.
  • the invention relates to a server for detecting an anomaly in an observed time series of values of a physical quantity representative of the performance of a system, characterized in that it comprises data processing means configured For :
  • the invention relates to an assembly of the server according to the second aspect, of the system and of system diagnostic and maintenance equipment.
  • the invention relates to a computer program product comprising code instructions for executing a method according to the first aspect of anomaly detection in an observed time series of values of a physical quantity representative of the performance of a system; and storage means readable by computer equipment on which is recorded a computer program product comprising code instructions for executing a method according to the first aspect of anomaly detection in an observed time series of values d 'a physical quantity representative of the performance of a system.
  • Figure 1 previously described represents an example of a time series with the anomalies observed
  • FIG. 2 is a diagram of a system for implementing the method according to the invention.
  • FIG. 3 Figure 3 is a flowchart representing the steps of a preferred embodiment of the invention.
  • Figure 4 illustrates the determination of the residual from an example of an observed time series;
  • Figure 5 represents a case of a reference segment constructed on the basis of the current segment currently being analyzed and the very similar segment in terms of mean and variance already analyzed in the recent past;
  • Figure 6 illustrates the segmentation of the residue of the example in Figure 4.
  • Figure 7 represents a case of a reference segment constructed on the basis of the current segment currently being analyzed and the very similar segment in terms of mean and variance already analyzed in the recent past;
  • Figure 8 represents an example of probability density on the segment of Figure 7.
  • Figure 9 illustrates the result of the implementation of the statistical analysis on the current segment of the example of Figures 4, 6 and 7.
  • the current segment of Figure 9 corresponds to that of Figure 7 powered with more data enabling robust anomaly detection.
  • Figure 10 corresponds to Figure 9 with use of thresholds calculated for desired false positive rates.
  • Figure 11 is a graph illustrating optimal control of the false positive rate.
  • the present invention relates to a method for detecting an anomaly in an observed time series of values of a physical quantity representative of the performance of a system 2.
  • System 2 is typically a computer server providing a service, for example network equipment, a banking server implementing transactions, industrial control equipment, etc. We assume that we have a physical quantity representative of the performance of said system 2.
  • Said physical quantity is naturally chosen in accordance with the nature of system 2 and the service it provides, for example for network equipment we can take CPU usage (example in Figure 1 described previously), but also memory usage. , bandwidth, number of connected users, number of packets passed, etc. For a banking server, this quantity can be the number of completed transactions, the rate of rejected transactions, etc. For industrial control equipment, it may be a quantity involved in the industrial process such as temperature, pressure, etc.
  • time series of values of the physical quantity is meant a sequence of values over time, each corresponding to an observation of system 2, for example a value per minute. Said time series can be seen as a vector of values. We speak here of an “observed” time series as being the series of values currently examined as opposed to “reference” time series which correspond to past examples in particular constituting a learning basis.
  • the observed time series can be directly acquired by system 2, or by monitoring means 20 of system 2.
  • Said method is a method for detecting anomaly in the time series, that is to say it aims to determine whether the values are normal or not. More precisely, although there is a normal variability of values which is expected, as explained before, certain values may in practice be abnormal and constitute weak signals that a degradation of system performance is in progress or imminent, and we talk about incident when system 2 is no longer capable of performing its service. In the example in Figure 1, network equipment whose CPU usage collapses is no longer capable of correctly managing network traffic, and users will quickly experience slowdowns or even disconnections. To rephrase, the incident is the consequence of an anomaly.
  • an anomaly is in itself statistical, the causes can be very varied, and the objective of this process is not in itself to determine these causes, but simply to alert and launch corrective actions as soon as possible. so as to avoid or at least limit the incident (diagnosis, troubleshooting, start-up of an emergency system, etc.), as well as to identify and evaluate types of anomalies according to selection filters and criteria adequate.
  • a server 1 comprising data processing means 11 (typically a processor), and generally data storage means 12 (a memory).
  • the server 1 is also provided with an interface 13 to report detected anomalies, this can be an HMI but also means of connection to other diagnostic and maintenance equipment 3 and/or a terminal 4 for example from an administrator .
  • connection between the different equipment can be via a communication network 10 such as the Internet.
  • the present method typically begins with a step (aO) of acquiring said observed time series of values of the physical quantity representative of the performance of system 2, for example by means 20.
  • aO a step of acquiring said observed time series of values of the physical quantity representative of the performance of system 2
  • the performance of system 2 is observed at regular intervals and a new value completing the series is acquired at each observation.
  • system monitoring is well known to those skilled in the art.
  • the order of magnitude is typically one observation per second.
  • the series can be provided to server 1 all at once, or value by value (in particular in real time) in a queue and reconstituted.
  • the process can also be implemented for each new value obtained. It will be understood in this respect that the present process can be implemented as well:
  • the time series is advantageously timestamped, i.e. associated with an initial timestamp (of the first value) and/or a final timestamp (last value) corresponding to the observation times
  • a “residual” of the observed time series is determined.
  • the residual corresponds to said observed time series from which a predictable part has been removed, i.e. the prediction error.
  • the residual and the predictable part are in themselves time series of values.
  • step (a) preferably includes:
  • step (a) is illustrated in particular by Figure 4: we see from left to right the time series, the predictable part and the residual obtained.
  • the idea is to consider that the observed time series is the sum of “normal” behavior and “abnormal” behavior of the physical quantity. Normal behavior is expected, and can therefore be predicted, unlike abnormal behavior, which is random.
  • artificial intelligence models and in particular artificial neural networks such as N-beats, capable of making time series predictions.
  • the server 1 has a prediction model taking the observed time series as input and generating said predictable part of the observed time series as output.
  • This prediction model can be trained in an unsupervised manner from a learning base of reference time series of the same physical quantity representative of the performance of system 2 (i.e. no label is associated with these reference series ), corresponding advantageously to past observations under comparable conditions. Indeed, said physical quantity varies for example naturally during the day, and this “normal” trend can be understood by said prediction model.
  • the server 1 can store said learning base on its data storage means 12 and the data processing means 11 can implement the learning of the prediction model, even if it is entirely possible whether this is done by a separate server, and the learned model directly retrieved by server 1.
  • step (b) the data processing means 11 implement a segmentation of the residue into a plurality of successive segments minimizing a score representative of the intra-segment inhomogeneity.
  • Inhomogeneity or heterogeneity, refers here to the variability of the law which generates the values that we observe, and in practice the variability of the values of the residual, which results for example in changes in the variance.
  • a perfectly homogeneous segment will have a constant residue over its entire extent.
  • Figure 5 represents the values of a time series, and we see the existence of a change in the variance which defines a central segment.
  • segmentation we mean the division of the residue into n successive segments.
  • the segments are ordered temporally, and therefore that the “last” segment is the most recent.
  • Segmentation aims more precisely to determine the n-1 breakpoints, which constitute the most abrupt points of change (heterogeneities), and where the boundaries between segments are placed.
  • any known breakpoint detector can be used, in particular those used in the context of genetic analysis (for example to analyze copy number variations in DNA). See also for example the so-called “KernSeg” methods described in the document New efficient algorithms for multiple change-point detection with reproducing kernels, A.Celisse, G. Marot, M. Pierre-Jean, G.J.Rigaill.
  • the processing means 11 propose a plurality of candidate segmentations, preferably at least one candidate segmentation per value of the number n of segments, then calculate for each the value of said score representative of intra-segment inhomogeneity.
  • the candidate segmentation presenting said score representative of the lowest intra-segment inhomogeneity, that is to say the one which minimizes the score among all the candidate segmentations.
  • score we can in particular take a score per segment (for example the deviation from the average of the segment, but we can use any cost function which tends towards 0 when the segment tends towards a constant value), and sum the segment scores.
  • scores based on reproducing kernels, allowing the detection of all types of breaks and not just breaks in the mean (for example changes in variance).
  • breakpoint detection determines whether we continue the current segment, or if, on the contrary, a new segment has started (retroactively the algorithm can fragment the current segment by subsequently placing a breakpoint several observations before).
  • each segment in particular the current segment
  • a predetermined significance score e.g., a segment that is too short may not include enough value to allow meaningful statistical analysis, and this generally happens in real-time operation when a new segment begins.
  • the segmentation obtained again includes three segments but the last one is too short: we only have 12 seconds of observations. If the significance threshold is for example 30 seconds, it is necessary to add this third segment to the most similar previous segment, in this case the first. It is then this set of segments which serves as a reference to define normality.
  • step (c) for at least the current segment (and possibly for each segment if we treat the entire series a posteriori), we statically analyze the distribution of the residual values in said segment so as to conclude or not to the presence of an anomaly. If the method is implemented in real time, step (c) only concerns the current segment (because we assume that the previous segments have already been analyzed progressively), but alternatively, if we process a posteriori the entire series, step (c) is implemented for each segment identified in step (b).
  • the residual should present a Gaussian distribution of values, ie in accordance with a centered normal law (around 0), and we check whether the observed distribution is compatible with such a law in probabilistic terms.
  • the distribution obtained is not always Gaussian, the statistical analysis of residuals and the detection of anomalies is then more difficult with traditional methods.
  • the statistical analysis thus aims to determine whether the observed distribution is “explainable” by statistical fluctuations, or on the contrary that it is not and therefore that we are in the presence of an anomaly.
  • Any known method can be used, and in particular those cited in application EP3672153, but advantageously, at least one possible statistical model of the residual values in the segments is constructed.
  • the model(s) are evaluated by their ability to describe the extremal parts of the distribution, called “tails”. It is more common to select models by their ability to accurately describe the entire distribution, but such models are biased toward the middle portion and against the tail of the distribution. However, it is precisely in the tail of the distribution that any anomalies are observed that we wish to capture.
  • the model or a “best model” if there are several, is chosen and used to determine alert thresholds on the residual values.
  • the estimation of the p-value typically involves a kernel estimation, in English “Kernel Density Estimation” (KDE) applied to the tail of the distribution, which makes it possible to estimate the probability density of the residual by smoothing more or less the estimate, and the Grimshaw procedure (Computing Maximum Likelihood Estimates for the Generalized Pareto Distribution, Scott D. Grimshaw).
  • KDE Kernel Density Estimation
  • Figure 8 represents for a segment the probability density estimated by KDE with the corresponding p-value thresholds.
  • the threshold can be predetermined, for example 5%, but alternatively it is calculated for a desired false positive rate on the segment considered (in particular the most recent segment), so as to be more adequate to rule on the existence of anomalies.
  • the desired false positive rate on the segment considered can be predetermined, but alternatively what can be predetermined is a desired false positive rate over the entire time series (called global rate).
  • a second threshold 0a' calculated for a value a' corresponding to a slight variation in the overall rate a so as to guarantee said desired false positive rate over the entire time series (ie said desired false positive rate on the segment for which the p value is determined is calculated as a function of the desired false positive rate over the entire time series), as illustrated in Figure 10, in order to control the false positive rate of the overall time series analyzed by controlling the false positive rate of its sub-series.
  • the second threshold 0 a ' is then calculated for the segment by again applying the Benjamini-Hochberg method but taking the rate a'.
  • a first threshold 0 a is calculated for a desired false positive rate a over the entire time series (predetermined), and applied to the segment considered;
  • o a desired false positive rate a' on the segment considered is calculated as a function of the desired false positive rate a over the entire time series (and the result of the application of the first threshold 0 a to the segment);
  • o a second threshold 0a' is calculated for said false positive rate a' desired on the segment considered, and applied to the segment considered.
  • the reference size can be modified so as to guarantee that the error made in the estimation of the p value does not prevent control of the false positive rate, both at the local and global level.
  • the number of points in the reference set must be chosen judiciously to best control false positives.
  • the method advantageously comprises a step (d) of implementing an action if an anomaly is detected on at least one segment:
  • the possible diagnostic and maintenance equipment 3 of the system 2 is requested, i.e. a request is sent to it, so that the latter implements tests to determine the nature of the anomaly, or even resolve it, if possible even before an incident occurs.
  • This method has been tested for the proactive detection of anomalies on a network equipment type system 2 such as a denial of service (DDoS) attack.
  • DDoS denial of service
  • server 1 manages to detect the anomaly 15 minutes earlier than using known methods with predefined thresholds.
  • the invention relates to the server 1 for implementing the method according to the invention.
  • This anomaly detection server in an observed time series of values of a physical quantity representative of the performance of a system 2 comprises data processing means 11, and generally data storage means 12, for example storing a basis of observed time series of values of said physical quantity representative of the performance of system 2, and an interface 13.
  • the means 11 are configured for:
  • a set of server 1 and system 2 is proposed.
  • the set may possibly include means 20 for monitoring system 2, equipment 3 for diagnosis and maintenance of system 2 and/or a terminal 4. All these elements 1, 2, 20, 3, 4 can be connected via a network 10.
  • the invention relates to a computer program product comprising code instructions for the execution (in particular on the data processing means 11) of a method according to the first aspect of the invention of anomaly detection in a observed time series of values of a physical quantity representative of the performance of a system, as well as storage means readable by computer equipment (a memory 12 of the server 1) on which this computer program product is found.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Mathematical Optimization (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computational Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Operations Research (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

La présente invention concerne un procédé de détection d'anomalie dans une série temporelle observée de valeurs d'une grandeur physique représentative des performances d'un système (2), le procédé étant caractérisé en ce qu'il comprend la mise en œuvre par des moyens de traitement de données (11) d'un serveur (1) d'étapes de : (a) Détermination d'un résidu correspondant à ladite série temporelle observée à laquelle on a retiré une partie prédictible de ladite série temporelle observée; (b) Segmentation du résidu en une pluralité de segments successifs minimisant un score représentatif de l'inhomogénéité intra-segment; (c) Pour au moins le segment le plus récent, analyse statistique de la distribution des valeurs du résidu dans ledit segment de sorte à conclure ou non à la présence d'une anomalie sur le segment.

Description

Description
Titre de l'invention : Procédé de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système.
DOMAINE TECHNIQUE GÉNÉRAL
La présente invention se rapporte au domaine du monitoring, en particulier dans des données informatiques. Plus précisément, elle concerne un procédé de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système.
ETAT DE L’ART
Le « monitoring » (en français monitorage) est une activité de surveillance et de mesure d'une activité informatique, dans un objectif de supervision.
On peut notamment chercher à observer les performances d’un système informatique, en termes de temps de réponse par exemple, sa disponibilité, son intégrité, etc.
De manière générale, on mesure en fonction du temps les valeurs de diverses grandeurs physiques (appelées « métriques »), et l’on cherche à identifier voire prédire à partir de ces valeurs des anomalies, de sorte à mettre en place des alertes et des mécanismes de correction avant un incident. On appelle « série temporelle » l’ensemble des valeurs successives d’une métrique et la courbe correspondante.
Par exemple, la figure 1 est une série temporelle illustrant le taux d’utilisation d’un processeur (« CPU usage ») d’un système informatique (sur une durée d’une semaine). Chaque cercle est une anomalie constatée et l’on remarque par exemple dans la journée du 19 juillet des anomalies en cascade ayant entrainé une brève chute de ce CPU usage à 0% pendant quelques heures, causant une interruption de service. On voit également d’autres variations modérées du taux qui peuvent être ou non liées à des anomalies.
La solution naïve de monitoring consiste à mettre en place des seuils et à détecter leur franchissement, ce qui est en pratique insuffisant : chaque système est différent et a son comportement propre.
Et même en supposant qu’on définisse des seuils individualisés, le comportement des métriques peut évoluer dans le temps sans pour autant qu’il y ait une anomalie, et inversement on peut avoir une anomalie tout en ayant une métrique qui se maintient.
Dans l’exemple de la figure 1 , on peut par exemple mettre un seuil à 80% de CPU usage (en dessous duquel on considère qu’on est en présence d’une anomalie) qui s’avère pertinent dans la majorité des cas. Cependant, lors de l’ensemble d’anomalies initiales à l’aube du 19 juillet (qui vont entraîner en cascade d’autres anomalies et l’interruption totale du service) le CPU usage est pourtant à près de 95%, et donc bien au-dessus du seuil de détection.
Il a par conséquent été proposé des solutions basées sur la détermination d’intervalles de confiance de manière dynamique.
En particulier, la demande EP3672153 propose de déterminer un « résidu » correspondant à ce qui reste d’une métrique une fois qu’on a retiré une composante prédictible (correspondant à un comportement normal), et de calculer des intervalles de confiance (avec des seuils) sur ces résidus.
Cette méthode apporte satisfaction, mais il serait souhaitable d’améliorer encore sa précision et ainsi de diminuer le nombre de faux positifs/négatifs.
PRÉSENTATION DE L’INVENTION
La présente invention se rapporte donc selon un premier aspect à un procédé de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système, le procédé étant caractérisé en ce qu’il comprend la mise en œuvre par des moyens de traitement de données d’un serveur d’étapes de : (a) Détermination d’un résidu correspondant à ladite série temporelle observée à laquelle on a retiré une partie prédictible de ladite série temporelle observée ;
(b) Segmentation du résidu en une pluralité de segments successifs minimisant un score représentatif de l’inhomogénéité intra-segment ;
(c) Pour au moins le segment le plus récent, analyse statistique de la distribution des valeurs du résidu dans ledit segment de sorte à conclure ou non à la présence d’une anomalie sur le segment.
Selon des caractéristiques avantageuses et non limitatives :
L’étape (a) comprend la détermination, à partir de la série temporelle observée, de ladite partie prédictible ; et la soustraction de ladite partie prédictible, de la série temporelle, de sorte à obtenir ledit résidu.
La détermination de la partie prédictible comprend la mise en œuvre sur la série temporelle observée d’un modèle de prédiction entraîné sur une base de séries temporelles de référence de la même grandeur physique représentative des performances du système.
Le procédé comprend une étape (aO) d’acquisition de ladite série temporelle observée de valeurs de la grandeur physique représentative des performances du système, par le système ou par des moyens de surveillance du système.
L’étape (b) comprend la proposition d’une pluralité de segmentations candidates, en particulier chacune définissant un nombre de segments différents, et la sélection de la segmentation candidate présentant ledit score représentatif de l’inhomogénéité intra-segment le plus faible.
L’étape (c) comprend la construction d’un modèle statistique possible des valeurs du résidu dans les segments, et pour au moins ledit segment le plus récent, la détermination d’une valeur p pour ledit modèle statistique de la distribution des valeurs du résidu dans ledit segment.
Il est conclu à une anomalie à l’étape (c) si ladite valeur p est en dessous d’un seuil.
Le seuil est prédéterminé, en particulier 5%. Ledit seuil est calculé pour un taux de faux positifs souhaité, en particulier en utilisant la méthode de Benjamini Hochberg.
Ledit taux de faux positifs souhaité sur le segment pour lequel la valeur p est déterminée est calculé en fonction d’un taux de faux positifs souhaité sur toute la série temporelle.
Un premier seuil calculé pour taux de faux positifs souhaité sur toute la série temporelle, et un deuxième seuil calculé pour ledit taux de faux positifs souhaité sur le segment, sont successivement appliqués.
L’étape (c) comprend la construction d’une pluralité de modèles statistiques possibles des valeurs du résidu dans les segments, et la sélection pour au moins ledit segment le plus récent d’un meilleur modèle de ladite pluralité pour lequel la valeur p est déterminée, ledit meilleur modèle étant celui décrivant au mieux les queues de ladite distribution des valeurs du résidu dans ledit segment le plus récent.
Le procédé comprend une étape (d) de mise en œuvre d’une action si une anomalie est détectée sur au moins un segment.
L’étape (d) comprend le déclenchement d’une alerte et/ou la sollicitation d’un équipement de diagnostic et de maintenance du système.
Selon un deuxième aspect, l’invention concerne un serveur de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système, caractérisé en ce qu’il comprend des moyens de traitement de données configurés pour :
- Déterminer un résidu correspondant à ladite série temporelle observée à laquelle on a retiré une partie prédictible de ladite série temporelle observée ;
- Segmenter le résidu en une pluralité de segments successifs minimisant un score représentatif de l’inhomogénéité intra-segment ;
- Pour au moins le segment le plus récent, mettre en œuvre une analyse statistique de la distribution des valeurs du résidu dans ledit segment de sorte à conclure ou non à la présence d’une anomalie sur le segment.
Selon un troisième aspect, l’invention concerne un ensemble du serveur selon le deuxième aspect, du système et d’un équipement de diagnostic et de maintenance du système.
Selon un quatrième et un cinquième aspects, l’invention concerne un produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé selon le premier aspect de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système ; et un moyen de stockage lisible par un équipement informatique sur lequel est enregistré un produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé selon le premier aspect de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système.
PRÉSENTATION DES FIGURES
D’autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description qui va suivre d’un mode de réalisation préférentiel. Cette description sera donnée en référence aux dessins annexés dans lesquels :
[Fig. 1 ]la figure 1 précédemment décrite représente un exemple de série temporelle avec les anomalies constatées ;
[Fig. 2]la figure 2 est un schéma d’un système pour la mise en œuvre du procédé selon l’invention ;
[Fig. 3]la figure 3 est un logigramme représentant les étapes d’un mode de réalisation préféré de l’invention ; [Fig.4]la figure 4 illustre la détermination du résidu à partir d’un exemple de série temporelle observée ;
[Fig ,5]la figure 5 représente un cas de segment de référence construit sur la base du segment courant en cours d’analyse et le segment très similaire en terme de moyenne et de variance déjà analysé dans le passé proche ;
[Fig.6]la figure 6 illustre la segmentation du résidu de l’exemple de la figure 4 ;
[Fig ,7]la figure 7 représente un cas de segment de référence construit sur la base du segment courant en cours d’analyse et le segment très similaire en terme de moyenne et de variance déjà analysé dans le passé proche ;
[Fig.8]la figure 8 représente un exemple de densité de probabilité sur le segment de la figure 7.
[Fig.9]la figure 9 illustre le résultat de la mise en œuvre de l’analyse statistique sur le segment courant de l’exemple des figures 4, 6 et 7. Le segment courant de la figure 9 correspond à celui de la figure 7 alimenté avec plus de données permettant une détection d’anomalie robuste.
[Fig.10]la figure 10 correspond à la figure 9 avec utilisation de seuils calculés pour des taux de faux positif souhaités.
[Fig.11 ]la figure 11 est un graphique illustrant un contrôle optimal du taux de faux positifs.
DESCRIPTION DÉTAILLÉE
Architecture
La présente invention concerne un procédé de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système 2.
Le système 2 est typiquement un serveur informatique fournissant un service, par exemple un équipement réseau, un serveur bancaire mettant en œuvre des transactions, un équipement de contrôle industriel, etc. On suppose qu’on dispose d’une grandeur physique représentative des performances dudit système 2.
Ladite grandeur physique est naturellement choisie en accord avec la nature du système 2 et le service qu’il fournit, par exemple pour un équipement réseau on pourra prendre l’usage CPU (exemple de la figure 1 décrite précédemment), mais également un usage mémoire, une bande-passante, un nombre d’utilisateurs connectés, un nombre de paquets passés, etc. Pour un serveur bancaire, cette grandeur peut être le nombre de transactions accomplies, le taux de transactions rejetées, etc. Pour un équipement de contrôle industriel, il peut s’agir d’une grandeur impliquée dans le processus industriel comme une température, une pression, etc.
On ne sera limité ni à un type de système ni à une grandeur physique, il importe juste que ladite grandeur physique soit représentative des performances de ce système 2, i.e. ait un sens pour l’homme du métier vis-à-vis du service fourni par le système 2.
Par série temporelle de valeurs de la grandeur physique, on entend une séquence de valeurs au cours du temps, chacune correspondant à une observation du système 2, par exemple une valeur par minute. Ladite série temporelle peut être vue comme un vecteur de valeurs. On parle ici de série temporelle « observée » comme étant la série des valeurs présentement examinées par opposition à des séries temporelles « de référence » qui correspondent à des exemples passés en particulier constituant une base d’apprentissage.
La série temporelle observée peut être directement acquise par le système 2, ou par des moyens 20 de surveillance du système 2.
Ledit procédé est un procédé de détection d’anomalie dans la série temporelle, c’est-à-dire qu’il vise à déterminer un caractère normal ou non des valeurs. Plus précisément, bien qu’il y ait une variabilité normale des valeurs qui soit attendue, comme expliqué avant, certaines valeurs peuvent être en pratique anormales et constituer des signaux faibles qu’une dégradation des performances du système est en cours ou imminente, et on parle d’incident lorsque le système 2 n’est plus capable d’accomplir son service. Dans l’exemple de la figure 1 , un équipement réseau dont le CPU usage s’effondre n’est plus capable de gérer correctement le trafic réseau, et les utilisateurs vont rapidement subir des ralentissements voire des déconnexions. Pour reformuler, l’incident est la conséquence d’une anomalie.
La notion d’anomalie est en soi statistique, les causes peuvent être très variées, et l’objectif du présent procédé n’est pas en soi de déterminer ces causes, mais simplement d’alerter et de lancer au plus tôt des actions correctrices de sorte à éviter ou du moins limiter l’incident (diagnostic, dépannage, mise en route d’un système de secours, etc.), ainsi que d’identifier et d’évaluer des types d’anomalies selon des filtres de sélection et critères adéquats.
Dans le cas du présent procédé de détection, on cherche à éviter les faux négatif (cas dans lequel une anomalie n’est pas détectée) et les faux positifs (cas dans lequel on croit détecter une anomalie mais en fait il n’y a rien).
En référence à la figure 2, le procédé est mis en œuvre par un serveur 1 comprenant des moyens de traitement de données 11 (typiquement un processeur), et généralement des moyens de stockage de données 12 (une mémoire). Le serveur 1 est également muni d’une interface 13 pour signaler les anomalies détectées, ce peut être une IHM mais également des moyens de connexion à un autre équipement 3 de diagnostic et de maintenance et/ou un terminal 4 par exemple d’un administrateur.
La connexion entre les différents équipements (serveurs 1 , 3, système 2 moyens 20 et/ou terminal 4) peut être via un réseau de communication 10 tel qu’internet.
Procédé
En référence à la figure 3, le présent procédé commence typiquement par une étape (aO) d’acquisition de ladite série temporelle observée de valeurs de la grandeur physique représentative des performances du système 2, par exemple par les moyens 20. Typiquement, les performances du système 2 sont observées à intervalle régulier et une nouvelle valeur complétant la série est acquise à chaque observation. On comprendra que le monitoring de systèmes est bien connu de l’homme du métier. Dans des applications réseau, l’ordre de grandeur est typiquement d’une observation par seconde.
La série peut être fournie au serveur 1 d’un coup, ou valeur par valeur (en particulier en temps réel) dans une queue et reconstituée. Le procédé peut d’ailleurs être mis en œuvre à chaque nouvelle valeur obtenue. On comprendra à ce titre que le présent procédé peut être mis en œuvre aussi bien :
- de façon isolée pour toute une série temporelle, et on cherche à détecter a posteriori si la série a comporté des anomalies, ou
- de manière itérée et en particulier en temps réel, et on cherche alors à détecter proactivement pour chaque nouvelle observation si l’on est en présence d’une anomalie (on cherche à détecter au plus tôt voire anticiper un incident).
Dans tous les cas, la série temporelle est avantageusement horodatée, i.e. associée à un timestamp initial (de la première valeur) et/ou un timestamp final (dernière valeur) correspondants aux instants d’observation
Dans une étape (a), qui est la première étape de traitement de la série temporelle observée mise en œuvre par les moyens de traitement de données 11 du serveur 1 , est déterminé un « résidu » de la série temporelle observée. Le résidu correspond à ladite série temporelle observée à laquelle on a retiré une partie prédictible, i.e. l’erreur de prédiction. Le résidu et la partie prédictible sont en elle-même des séries temporelles de valeurs.
A ce titre, l’étape (a) comprend préférentiellement :
- la détermination, à partir de la série temporelle observée, de ladite partie prédictible, et
- la soustraction de ladite partie prédictible, de la série temporelle, observée, i.e. pour chaque valeur de la série temporelle on lui soustrait la valeur correspondante de la partie prédictible. Cette étape (a) est en particulier illustrée par la figure 4 : on voit de gauche à droite la série temporelle, la partie prédictible et le résidu obtenu.
L’idée est de considérer que la série temporelle observée est la somme d’un comportement « normal » et d’un comportement « anormal » de la grandeur physique. Le comportement normal est attendu, et peut donc être prédit, contrairement au comportement anormal, qui est l’aléa.
A ce titre, on connaît des modèles d’intelligence artificielle, et notamment des réseaux de neurones artificiels tels que N-beats, capables de faire de la prédiction de série temporelle.
Ainsi, dans un mode de réalisation préférée, le serveur 1 dispose d’un modèle de prédiction prenant en entrée la série temporelle observée et générant en sortie ladite partie prédictible de la série temporelle observée.
Ce modèle de prédiction peut être entraîné de manière non-supervisée à partir d’une base d’apprentissage de séries temporelles de références de la même grandeur physique représentative des performances du système 2 (i.e. aucun label n’est associé à ces séries de référence), correspondant avantageusement à des observations passées dans des conditions comparables. En effet, ladite grandeur physique varie par exemple naturellement au cours de la journée, et cette tendance « normale » peut être appréhendée par ledit modèle de prédiction.
Pour cela, le serveur 1 peut stocker sur ses moyens de stockage de données 12 ladite base d’apprentissage et les moyens de traitement de données 11 peuvent mettre en œuvre l’apprentissage du modèle de prédiction, même s’il est tout à fait possible que ce soit fait par un serveur distinct, et le modèle appris directement récupéré par le serveur 1 .
On comprendra qu’un tel modèle et son apprentissage sont bien connus de l’homme du métier, on pourra utiliser le modèle N-beats cité avant ou par exemple d’autres réseaux récurrents tels que LSTM adaptés à de la prédiction de séries temporelles. On pourra également consulter la demande EP3672153 citée avant. De manière originale, dans une étape (b) les moyens de traitement de données 11 mettent en œuvre une segmentation du résidu en une pluralité de segments successifs minimisant un score représentatif de l’inhomogénéité intra- segment. L’inhomogénéité, ou hétérogénéité, désigne ici est la variabilité de la loi qui génère les valeurs que l’on observe, et en pratique la variabilité des valeurs du résidu, qui se traduit par exemple par des changements dans la variance. Un segment parfaitement homogène présentera un résidu constant sur toute son étendue. Au contraire un segment très inhomogène aura une grande étendue de valeurs de résidu. A noter qu’on ne vise ici que l’inhomogénéité intra- segments (i.e. à l’intérieur des segments), l’éventuelle inhomogénéité intersegments (i.e. d’un segment par rapport à un autre) n’étant pas considérée. A titre d’exemple, la figure 5 représente les valeurs d’une série temporelle, et on constate l’existence d’un changement dans la variance qui définit un segment central.
Par segmentation, on entend la division du résidu en n segments successifs. On comprendra que, de la même manière que valeurs de la grandeur physique, les segments sont ordonnés temporellement, et donc que le « dernier » segment est le plus récent.
La segmentation vise plus précisément à déterminer les n-1 points de cassure, en anglais « breakpoints » qui constituent les points de changements les plus abrupts (hétérogénéités), et où l’on place les frontières entre segments.
L’idée est qu’on puisse obtenir des segments eux-mêmes homogènes sur lesquels on pourra mettre en œuvre une analyse statistique performante.
Les techniques connues mettaient en effet en œuvre une analyse statistique globale ou sur fenêtre glissante, et l’on constate que le fait de travailler segment par segment permet de s’adapter plus finement aux variations dans la moyenne et la variance.
Par exemple si l’on reprend la figure 1 , les anomalies du 19 juillet matin étaient certes à près de 95% d’usage CPU, mais on avait déjà une baisse et donc une variance trop brutale par rapport à un comportement normal (qui est proche de la sinusoïde - alors que la baisse avant l’incident total est presque linéaire). La segmentation aurait fait ressortir un segment spécifique correspondant à cette matinée du 19 juillet.
Pour mettre en œuvre l’étape (b) en pratique, on peut utiliser tout breakpoint detector connu, notamment ceux utilisés dans le contexte de l’analyse génétique (par exemple pour analyser les variations du nombre de copies dans l'ADN). Voire en outre par exemple les méthodes dites « KernSeg » décrites dans le document New efficient algorithms for multiple change-point detection with reproducing kernels, A.Celisse, G. Marot, M. Pierre- Jean , G.J.Rigaill.
De manière préférée les moyens de traitement 11 proposent une pluralité de segmentations candidates, préférentiellement au moins une segmentation candidate par valeur du nombre n de segments, puis calculent pour chacune la valeur dudit score représentatif de l’inhomogénéité intra-segment. On choisit alors la segmentation candidate présentant ledit score représentatif de l’inhomogénéité intra-segment le plus faible, c’est-à-dire celle qui minimise le score parmi toutes les segmentations candidates.
En ce qui concerne le score, on peut en particulier prendre un score par segment (par exemple l’écart à la moyenne du segment, mais on pourra utiliser toute fonction de coût qui tend vers 0 lorsque le segment tend vers une valeur constante), et sommer les scores de segments. On préférera cependant des scores basés sur les noyaux reproduisant, permettant la détection de tous types de ruptures et pas uniquement de rupture dans la moyenne (par exemple des changements de variance).
La figure 6 représente les segmentations candidates obtenues pour le résidu de la figure 4 respectivement pour n=2, 3 et 4, ainsi que le score d’inhomogénéité correspondant. On voit que ce score présente son minimum pour n=3, car à n=2 le second segment est trop inhomogène, et à n= 4+ on a trop de segments.
A noter que dans un fonctionnement temps réel, on connaît généralement déjà les segments antérieurs terminés (du fait de la mise en œuvre itérée du procédé) et on a un segment « courant » (le plus récent). A chaque nouvelle observation, la détection de breakpoint détermine si l’on vient continuer le segment courant, ou si au contraire un nouveau segment a débuté (rétroactivement l’algorithme peut venir fragmenter le segment courant en plaçant a posteriori un breakpoint plusieurs observations avant).
De manière préférée, on vérifie à l’issue de l’étape (b) que chaque segment (en particulier le segment courant) présente une taille au-dessus d’un score prédéterminé de signifiance. Pour reformuler, un segment trop court peut ne pas comprendre assez de valeur pour permettre une analyse statistique pertinente, et cela arrive généralement dans un fonctionnement temps réel lorsqu’un nouveau segment débute.
Si c’est le cas, on peut ajouter à un segment trop court les valeurs d’un segment similaire antérieur pour l’étape suivante. Bien entendu, dès que le segment courant sera suffisamment long du fait de nouvelles observations on peut arrêter d’utiliser ces valeurs antérieures.
Par exemple, dans le cas de la figure 7, la segmentation obtenue comprend à nouveau trois segments mais le dernier est trop court : on a seulement 12 secondes d’observations. Si le seuil de signifiance est par exemple de 30 secondes, il est nécessaire d’ajouter ce troisième segment au segment précédent le plus similaire, en l’espèce le premier. C’est alors cet ensemble de segments qui sert de référence pour définir la normalité.
Dans une étape (c), pour au moins le segment courant (et possiblement pour chaque segment si l’on traite a posteriori toute la série), on analyse statiquement la distribution des valeurs du résidu dans ledit segment de sorte à conclure ou non à la présence d’une anomalie. Si le procédé est mis en œuvre en temps réel, l’étape (c) ne concerne que le segment courant (car on suppose que les segments précédents ont déjà été analysés au fur et à mesure), mais alternativement, si l’on traite a posteriori toute la série, l’étape (c) est mise en œuvre pour chaque segment identifié à l’étape (b).
De manière classique, le résidu devrait présenter une distribution de valeurs gaussienne, i.e. conformément à une loi normale centrée (autour de 0), et on vérifie si la distribution constatée est compatible avec une telle loi en termes probabiliste. Dans des cas plus réalistes, la distribution obtenue n’est pas toujours gaussienne, l’analyse statistique des résidus et la détection des anomalies est alors plus difficile avec les méthodes classiques.
L’analyse statistique vise ainsi à déterminer si la distribution constatée est « explicable » par des fluctuations statistiques, ou au contraire qu’elle ne l’est pas et donc qu’on est en présence d’une anomalie. On pourra utiliser toute méthode connue, et notamment celles citées dans la demande EP3672153, mais avantageusement, est construit au moins un modèle statistique possible des valeurs du résidu dans les segments.
On peut avoir plusieurs modèles candidats correspondants à plusieurs distributions possibles, et progressivement mettre à jour ces modèles au fur et à mesure que l’on reçoit des observations.
De manière préférée, on évalue le ou les modèles par leur capacité à décrire les parties extrémales de la distribution, dites « queues ». Il est plus courant de sélectionner les modèles par leur capacité à décrire précisément toute la distribution, mais de tels modèles sont biaisés en faveur de la partie centrale et en défaveur de la queue de la distribution. Or c’est justement dans la queue de distribution que les éventuelles anomalies sont observées que l’on souhaite capturer.
Le modèle ou un « meilleur modèle » s’il y en a plusieurs, est choisi et utilisé pour déterminer des seuils d’alerte sur les valeurs du résidu.
Par exemple, on peut utiliser la « valeur p », en anglais « p value » qui désigne la probabilité pour le modèle statistique choisi d’obtenir une erreur aussi grande que l'erreur observée (i.e. la valeur du résidu). Ainsi, une faible valeur de p correspond à une erreur de prédiction anormalement élevée, et donc qu’on est en présence d’une anomalie. Traditionnellement, on utilise un seuil de valeur p à 5%
L'estimation de la p-value implique typiquement une estimation par noyau, en anglais « Kernel Density Estimation » (KDE) appliquée à la queue de distribution, qui permet d’estimer la densité de probabilité du résidu en lissant plus ou moins l’estimation, et la procédure de Grimshaw (Computing Maximum Likelihood Estimates for the Generalized Pareto Distribution, Scott D. Grimshaw).
La figure 8 représente pour un segment la densité de probabilité estimée par KDE avec les seuils de valeur p correspondants.
De manière visuelle, on peut reporter sur le résidu les seuils de valeurs correspondants : si un seuil est dépassé, une anomalie est constatée, voir la figure 9. On comprendra toutefois qu’on peut simplement déterminer la valeur p et la comparer au seuil, sans recalculer des seuils de valeurs du résidu.
Comme expliqué le seuil peut être prédéterminé, par exemple 5%, mais alternativement il est calculé pour un taux de faux positifs souhaité sur le segment considéré (en particulier le segment le plus récent), de sorte à être plus adéquat pour statuer sur l’existence d’anomalies.
Pour cela, on peut utiliser la méthode de Benjamini-Hochberg, qui définit le seuil 0a pour un taux de faux positifs a souhaité, grâce à la formule suivante :
Figure imgf000017_0001
P(k) :1a k-ième plus petite valeur p de la série analysée m : Taille de la série analysée
L’homme du métier saura trouver des méthodes alternatives.
De manière préférée, on peut même utiliser une version modifiée de la méthode de Benjamini-Hochberg :
- le taux de faux positifs souhaité sur le segment considéré (dit taux local) peut être prédéterminé, mais alternativement ce qui peut être prédéterminé est un taux de faux positifs souhaité sur toute la série temporelle (dit taux global). En effet, si on utilise le seuil 0a alors on peut garantir que le taux de faux positifs sera inférieur à a sur le segment mais c’est insuffisant pour garantir un contrôle sur le taux de faux positifs dans la série complète, c’est pourquoi on peut appliquer au segment un deuxième seuil 0a’ calculé pour une valeur a’ correspondant à une légère variation du taux global a de sorte à garantir ledit taux de faux positifs souhaité sur toute la série temporelle (i.e. ledit taux de faux positifs souhaité sur le segment pour lequel la valeur p est déterminée est calculé en fonction du taux de faux positifs souhaité sur toute la série temporelle), comme illustré sur la figure 10, afin de contrôler le taux de faux positifs de la série temporelle globale analysée par le contrôle du taux de faux positifs de ses sous-séries.
On peut notamment commencer par calculer et appliquer sur le segment considéré le premier seuil 0a pour le taux a souhaité sur toute la série temporelle (avec la méthode de Benjamini-Hochberg standard), calculer une proportion li d’anomalies, et appliquer la où m’ est la taille de la sous-série locale (i.e. le
Figure imgf000018_0001
nombre de valeurs de la grandeur physique dans le segment). Le second seuil 0a’ est alors calculé pour le segment en appliquant à nouveau la méthode de Benjamini-Hochberg mais en prenant le taux a’.
En résumé, dans le mode de réalisation préféré : o un premier seuil 0a est calculé pour un taux de faux positifs a souhaité sur toute la série temporelle (prédéterminé), et appliqué au segment considéré ; o un taux de faux positifs a’ souhaité sur le segment considéré est calculé en fonction du taux de faux positifs a souhaité sur toute la série temporelle (et du résultat de l’application du premier seuil 0a au segment) ; o un deuxième seuil 0a’ est calculé pour ledit taux de faux positifs a’ souhaité sur le segment considéré, et appliqué au segment considéré.
- la taille de référence peut être modifiée de sorte à garantir que l’erreur commise sur l’estimation de la valeur p n’empêche pas d’avoir le contrôle du taux de faux positifs, aussi bien au niveau local que global. En effet, le nombre de points de l’ensemble de référence doit être choisi de façon judicieuse pour contrôler au mieux le faux positifs, On peut voir sur la figure 11 que le contrôle est en particulier optimal pour une taille de référence Ni choisie de la manière suivante: N, = l — 1, a où l’indice I est un hyperparamètre choisi par l’utilisateur. Il s’agit d’un nombre entier positif (généralement 1 ou 2) qui contrôle la taille de l’ensemble de référence. Choisir un ensemble de référence plus grand permet de diminuer le nombre de faux négatifs mais augmente le temps de calcul.
Dans tous les cas, le procédé comprend avantageusement une étape (d) de mise en œuvre d’une action si une anomalie est détectée sur au moins un segment :
- a minima une alerte pour être déclenchée sur une interface 13 du serveur 1 ou un terminal 4 connecté
- de manière préférée, l’éventuel équipement 3 de diagnostic et de maintenance du système 2 est sollicité, i.e. une requête lui est envoyée, de sorte à ce que ce dernier mette en œuvre des tests pour déterminer la nature de l’anomalie, voire la résolve, si possible avant même qu’un incident survienne.
Résultats
La présente méthode a été testée pour la détection proactive d’anomalies sur un système 2 de type équipement réseau telles qu’une attaque par déni de service (DDoS).
On constate que le serveur 1 parvient à détecter l’anomalie 15 minutes plus tôt qu’en utilisant les procédés connus à seuils prédéfinis.
Serveur, système
Selon un deuxième aspect, l’invention concerne le serveur 1 pour la mise en œuvre du procédé selon l’invention. Ce serveur de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système 2 comprend des moyens de traitement de données 11 , et généralement des moyens de stockage de données 12, par exemple stockant une base de séries temporelles observées de valeurs de ladite grandeur physique représentative des performances du système 2, et une interface 13.
Le moyens 11 sont configurés pour :
- Déterminer un résidu correspondant à ladite série temporelle observée à laquelle on a retiré une partie prédictible de ladite série temporelle observée ;
- Segmenter le résidu en une pluralité de segments successifs minimisant un score représentatif de l’inhomogénéité intra-segment ;
- Pour au moins le segment le plus récent, mettre en œuvre une analyse statistique de la distribution des valeurs du résidu dans ledit segment de sorte à conclure ou non à la présence d’une anomalie sur le segment.
- Avantageusement, mettre en œuvre une action si une anomalie est détectée sur au moins un segment
Selon un troisième aspect, est proposé un ensemble du serveur 1 et du système 2. L’ensemble peut éventuellement comprendre des moyens 20 de monitoring du système 2, un équipement 3 de diagnostic et de maintenance du système 2 et/ou un terminal 4. Toutes ces éléments 1 , 2, 20, 3, 4 peuvent être connectés via un réseau 10.
Produit programme d’ordinateur
Selon un quatrième et un cinquième aspects, l’invention concerne un produit programme d’ordinateur comprenant des instructions de code pour l’exécution (en particulier sur les moyens de traitement de données 11 ) d’un procédé selon le premier aspect de l’invention de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système, ainsi que des moyens de stockage lisibles par un équipement informatique (une mémoire 12 du serveur 1) sur lequel on trouve ce produit programme d’ordinateur.

Claims

REVENDICATIONS
[Revendication 1] Procédé de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système (2), le procédé étant caractérisé en ce qu’il comprend la mise en œuvre par des moyens de traitement de données (11 ) d’un serveur (1 ) d’étapes de :
(a) Détermination d’un résidu correspondant à ladite série temporelle observée à laquelle on a retiré une partie prédictible de ladite série temporelle observée ;
(b) Segmentation du résidu en une pluralité de segments successifs minimisant un score représentatif de l’inhomogénéité intra-segment ;
(c) Pour au moins le segment le plus récent, analyse statistique de la distribution des valeurs du résidu dans ledit segment de sorte à conclure ou non à la présence d’une anomalie sur le segment.
[Revendication 2] Procédé selon la revendication 1 , dans lequel l’étape (a) comprend la détermination, à partir de la série temporelle observée, de ladite partie prédictible ; et la soustraction de ladite partie prédictible, de la série temporelle, de sorte à obtenir ledit résidu.
[Revendication 3] Procédé selon la revendication 2, dans lequel la détermination de la partie prédictible comprend la mise en œuvre sur la série temporelle observée d’un modèle de prédiction entraîné sur une base de séries temporelles de référence de la même grandeur physique représentative des performances du système (2).
[Revendication 4] Procédé selon l’une des revendications 1 à 3, comprenant une étape (aO) d’acquisition de ladite série temporelle observée de valeurs de la grandeur physique représentative des performances du système (2), par le système (2) ou par des moyens (20) de surveillance du système (2).
[Revendication 5] Procédé selon l’une des revendications 1 à 4, dans lequel l’étape (b) comprend la proposition d’une pluralité de segmentations candidates, en particulier chacune définissant un nombre de segments différents, et la sélection de la segmentation candidate présentant ledit score représentatif de l’inhomogénéité intra-segment le plus faible.
[Revendication 6] Procédé selon l’une des revendications 1 à 5, dans lequel l’étape (c) comprend la construction d’un modèle statistique possible des valeurs du résidu dans les segments, et pour au moins ledit segment le plus récent, la détermination d’une valeur p pour ledit modèle statistique de la distribution des valeurs du résidu dans ledit segment.
[Revendication 7] Procédé selon la revendication 6, dans lequel il est conclu à une anomalie à l’étape (c) si ladite valeur p est en dessous d’au moins un seuil.
[Revendication 8] Procédé selon la revendication 7, dans lequel ledit seuil est soit prédéterminé, en particulier 5%, soit calculé pour un taux de faux positifs souhaité sur le segment pour lequel la valeur p est déterminée, en particulier en utilisant la méthode de Benjamini Hochberg.
[Revendication 9] Procédé selon la revendication 8, dans lequel ledit taux de faux positifs souhaité sur le segment pour lequel la valeur p est déterminée est calculé en fonction d’un taux de faux positifs souhaité sur toute la série temporelle.
[Revendication 10] Procédé selon l’une des revendications 6 à 9, dans lequel l’étape (c) comprend la construction d’une pluralité de modèles statistiques possibles des valeurs du résidu dans les segments, et la sélection pour au moins ledit segment le plus récent d’un meilleur modèle de ladite pluralité pour lequel la valeur p est déterminée, ledit meilleur modèle étant celui décrivant au mieux les queues de ladite distribution des valeurs du résidu dans ledit segment le plus récent.
[Revendication 11 ] Procédé selon l’une des revendications 1 à 10, comprenant une étape (d) de mise en œuvre d’une action si une anomalie est détectée sur au moins un segment.
[Revendication 12] Procédé selon la revendication 11 , dans lequel l’étape (d) comprend le déclenchement d’une alerte et/ou la sollicitation d’un équipement (3) de diagnostic et de maintenance du système (2).
[Revendication 13] Serveur (1 ) de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système (2), caractérisé en ce qu’il comprend des moyens de traitement de données (11 ) configurés pour :
- Déterminer un résidu correspondant à ladite série temporelle observée à laquelle on a retiré une partie prédictible de ladite série temporelle observée ;
- Segmenter le résidu en une pluralité de segments successifs minimisant un score représentatif de l’inhomogénéité intra-segment ;
- Pour au moins le segment le plus récent, mettre en œuvre une analyse statistique de la distribution des valeurs du résidu dans ledit segment de sorte à conclure ou non à la présence d’une anomalie sur le segment.
[Revendication 14] Ensemble du serveur (1 ) selon la revendication 13, du système (2) et d’un équipement (3) de diagnostic et de maintenance du système (2).
[Revendication 15] Produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé selon l’une des revendications 1 à 12 de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système (2), lorsque ledit programme est exécuté sur un ordinateur. [Revendication 16] Moyen de stockage lisible par un équipement informatique sur lequel est enregistré un produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé selon l’une des revendications 1 à 12 de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système (2).
PCT/FR2023/051529 2022-10-12 2023-10-04 Procédé de détection d'anomalie dans une série temporelle observée de valeurs d'une grandeur physique représentative des performances d'un système WO2024079408A1 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FRFR22/10466 2022-10-12
FR2210466A FR3140958A1 (fr) 2022-10-12 2022-10-12 Procédé de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système.
FR2301611 2023-02-22
FRFR23/01611 2023-02-22

Publications (1)

Publication Number Publication Date
WO2024079408A1 true WO2024079408A1 (fr) 2024-04-18

Family

ID=88517598

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2023/051529 WO2024079408A1 (fr) 2022-10-12 2023-10-04 Procédé de détection d'anomalie dans une série temporelle observée de valeurs d'une grandeur physique représentative des performances d'un système

Country Status (1)

Country Link
WO (1) WO2024079408A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9628499B1 (en) * 2012-08-08 2017-04-18 Google Inc. Statistics-based anomaly detection
EP3672153A1 (fr) 2018-12-20 2020-06-24 Worldline Détection d'anomalies dans des flux de données ayant des intervalles de confiance
US20210319081A1 (en) * 2020-04-03 2021-10-14 Alibaba Group Holding Limited Change of variance detection in time series data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9628499B1 (en) * 2012-08-08 2017-04-18 Google Inc. Statistics-based anomaly detection
EP3672153A1 (fr) 2018-12-20 2020-06-24 Worldline Détection d'anomalies dans des flux de données ayant des intervalles de confiance
US20210319081A1 (en) * 2020-04-03 2021-10-14 Alibaba Group Holding Limited Change of variance detection in time series data

Similar Documents

Publication Publication Date Title
EP3767558B1 (fr) Procede et dispositif de determination d'une duree estimee avant un incident technique dans une infrastructure informatique a partir de valeurs d'indicateurs de performance
FR3098938A1 (fr) Procédé et dispositif de détermination d’une valeur d’indice de performance de prédiction d’anomalies dans une infrastructure informatique à partir de valeurs d’indicateurs de performance
EP1877826B1 (fr) Détecteur séquentiel markovien
FR2816078A1 (fr) Procede de monitorage d'un systeme d'exploitation utilisant des distributions empiriques et des normes de distribution cumulatives
EP3846046A1 (fr) Procede et systeme de traitement de donnees pour la preparation d'un jeu de donnees
WO2016075409A1 (fr) Procédé de surveillance d'un moteur d'aéronef en fonctionnement dans un environnement donné
EP3100201B1 (fr) Procédé de détection d'attaques dans une architecture informatique dans le nuage
EP3767468A1 (fr) Procédé et dispositif de détermination d'une valeur de risque d'incident technique dans une infrastructure informatique à partir de valeurs d'indicateurs de performance
EP1792278B1 (fr) Procede de detection et de pistage de cibles ponctuelles, dans un systeme de surveillance optronique
FR3076005A1 (fr) Commande de la consommation energetique d'une grappe de serveurs
EP4055506B1 (fr) Detection d'attaques a l'aide de compteurs de performances materiels
WO2024079408A1 (fr) Procédé de détection d'anomalie dans une série temporelle observée de valeurs d'une grandeur physique représentative des performances d'un système
FR3140958A1 (fr) Procédé de détection d’anomalie dans une série temporelle observée de valeurs d’une grandeur physique représentative des performances d’un système.
EP3905044B1 (fr) Procédé d'analyse automatique des journaux de transactions d'un système informatique distribué
WO2023241896A1 (fr) Détection d'anomalies pour la maintenance applicative de dispositifs
FR3098961A1 (fr) Procédé d’identification de données aberrantes dans d’un jeu de données d’entrée acquises par au moins un capteur
FR3089648A1 (fr) Procede de detection non supervise d’attaques internes et systeme associe
FR3096164A1 (fr) Evaluation calibrée d’un modèle prédictif pour la détection automatique de fraudes dans un flux de transactions
EP4033361B1 (fr) Procédé et dispositif de détermination d'au moins une machine impliquée dans une anomalie détectée dans une infrastructure informatique complexe
EP4078416A1 (fr) Procédé de contrôle d'un système électronique par compteurs de performance bas niveaux et comprenant au moins un ensemble d'applicatif(s) logiciels non maîtrisés s'exécutant sur un processeur et un dispositif de contrôle
WO2020128246A1 (fr) Procédé de détermination d'un chemin de transmission de données, et dispositif correspondant
FR3067480B1 (fr) Procede et systeme de prediction de l'impact d'un dysfonctionnement ressource sur le niveau de service d'une chaine applicative
FR3108743A1 (fr) Procede de prevention d’incident sur une chaine applicative et dispositif informatique de prevention d’incident
EP3835985A1 (fr) Procédé de surveillance de données transitant par un équipement utilisateur
EP1276277B1 (fr) Procédé et dispositif pour rendre compte de la distribution temporelle d'une succession d'événements

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23794080

Country of ref document: EP

Kind code of ref document: A1