NONPARAMETRIC METHOD FOR DETERMINATION OF ANOMALOUS EVENT STATES IN COMPLEX SYSTEMS EXHIBITING NON-STATIONARITY
First Claim
1. A method comprising:
- determining at least one threshold based on a set of historical metric data for at least one monitoring period;
performing a cumulative sum analysis on a set of incoming metric data in real time by calculating a cumulative sum value for each metric and comparing the cumulative sum value to the at least one threshold to detect anomalous events; and
initiating an alert state when an anomalous event is detected;
wherein each cumulative sum value is calculated by adding to the previous cumulative sum value the difference between the value of a metric and a value for normal behavior for a current timeslot within the monitoring period; and
wherein if the calculation of the cumulative sum value is negative, it is set to zero.
4 Assignments
0 Petitions
Accused Products
Abstract
According to a feature of the present disclosure, a method is provided for the determination of anomalous events in complex systems, such as problems, inefficiencies, and failures, and a tool is provided for the detection of these events. Many complex systems are non-stationary or experience periodic fluctuations or spikes in values that are outside of normal ranges, but constitute normal behavior nevertheless. The method accounts for both non-stationarity, as well as fluctuations and spikes. Additional novel features include both a threshold setting initialization method and a regression method for the determination of the start points and end points of events.
-
Citations
34 Claims
-
1. A method comprising:
-
determining at least one threshold based on a set of historical metric data for at least one monitoring period; performing a cumulative sum analysis on a set of incoming metric data in real time by calculating a cumulative sum value for each metric and comparing the cumulative sum value to the at least one threshold to detect anomalous events; and initiating an alert state when an anomalous event is detected; wherein each cumulative sum value is calculated by adding to the previous cumulative sum value the difference between the value of a metric and a value for normal behavior for a current timeslot within the monitoring period; and wherein if the calculation of the cumulative sum value is negative, it is set to zero. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 10, 12, 13)
-
-
9. The method of claim 54, further comprising performing an initialization procedure comprising:
-
collecting historical data for a metric for at least one monitoring period, each monitoring period having a plurality of timeslots and each timeslot observing metric data at least once; screening the historical data to remove anomalous data; aggregating historical data for each timeslot; simulating m monitoring periods by; randomly sampling the aggregated historical data for each timeslot to correspond to a timeslot in the monitoring period to generate a simulated data stream of data points; calculating a cumulative sum value for each simulated incoming data point sampled; determining max(Sn)m, where n is an indicator of sequential position of each data point in the data stream; determining {max(Sn)1, max(Sn)2, . . . , max(Sn)m}; determining a threshold for a monitoring period, the threshold being computed as ƒ
({max(Sn)1, max(Sn)2, . . . , max(Sn)m}).
-
-
11. The method of claim 11, wherein the determination of the end point of each anomalous event is designated as the largest cusum value in the set of ν
- historical cusum values having negative or flat regression slope;
wherein regressions over ν
cusum values begins at the first cusum statistic to exceed the threshold and progresses for each cusum statistic thereafter until a negative or flat slope is calculated.
- historical cusum values having negative or flat regression slope;
-
14. A method comprising:
-
collecting historical data for a metric for at least one monitoring period, each monitoring period having a plurality of timeslots and each timeslot observing metric data at least once; screening the historical data to remove anomalous data; aggregating historical data for each timeslot; simulating m monitoring periods by; randomly sampling the aggregated historical data for each timeslot to correspond to a timeslot in the monitoring period to generate a simulated data stream of data points; calculating a cumulative sum value for each simulated incoming data point sampled; determining max(Sn)m, n is an indicator of sequential position of each data point in the data stream; determining {(max(Sn)1, max(Sn)2, . . . , max(Sn)m)}; determining a threshold for a monitoring period, the threshold being computed as ƒ
(max(Sn)1, max(Sn)2, . . . , max(Sn)m). - View Dependent Claims (15, 16, 17)
-
-
18. A machine-readable medium having program instructions stored thereon executable by a processing unit for performing the steps of:
-
determining at least one threshold based on a set of historical metric data for at least one monitoring period; performing a cumulative sum analysis on a set of incoming metric data in real time by calculating a cumulative sum value for each metric and comparing the cumulative sum value to the at least one threshold to detect anomalous events; and initiating an alert state when an anomalous event is detected; wherein each cumulative sum value is calculated by adding to the previous cumulative sum value the difference between the value of a metric and a value for normal behavior for a current timeslot within the monitoring period; and wherein if the calculation of the cumulative sum value is negative, it is set to zero. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. The machine-readable medium having program instructions stored thereon executable by a processing unit for performing the steps of:
-
collecting historical data for a metric for at least one monitoring period, each monitoring period having a plurality of timeslots and each timeslot observing metric data at least once; screening the historical data to remove anomalous data; aggregating historical data for each timeslot; simulating m monitoring periods by; randomly sampling the aggregated historical data for each timeslot to correspond to a timeslot in the monitoring period to generate a simulated data stream of data points; calculating a cumulative sum value for each simulated incoming data point sampled; determining max(Sn)m, n is an indicator of sequential position of each data point in the data stream; determining {max(Sn)1, max(Sn)2, . . . , max(Sn)m}; determining a threshold for a monitoring period, the threshold being computed as ƒ
({max(Sn)1, max(Sn)2, . . . , max(Sn)m}). - View Dependent Claims (32, 33, 34)
-
Specification