IP Library Granted Patent US 12,031,848
Granted Patent B2
US 12,031,848 · App. 18/352,418 · Granted Jul 9, 2024

Method and computing device for detecting anomalous sensor data

Inventors: Brian Darwin Shoener (Chicago, IL); Eric Daniel Redmond (Des Moines, IA); Sandeep Sathyamoorthy (Walnut Creek, CA)
Assignee: Black & Veatch Holding Company
G01D18/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,031,848
App. No.
18/352,418
Granted
Jul 9, 2024
Kind
B2
Abstract

A computer-implemented method for detecting anomalies in data from a sensor comprises receiving a plurality of data points from the sensor; determining a first anomaly score component, the first anomaly score component varying according to a Cook's Distance value; determining a second anomaly score component, the second anomaly score component varying according to a singular spectrum analysis value; determining a third anomaly score component, the third anomaly score component varying according to a rolling variance rate of change value; determining a fourth anomaly score component, the fourth anomaly score component varying according to whether a current data point is within an upper bound and a lower bound; determining a total anomaly score as a function of the anomaly score components; comparing the total anomaly score to an anomaly score threshold value; and determining the data point is an anomaly if the total anomaly score is greater than the threshold value.

Claims (83)

1. A computer-implemented method for detecting anomalies in data from a sensor, the method comprising:

receiving the data from the sensor, the data including a sequence of readings, each reading being a successive one of time-sampled data points having a numeric digital or binary value;

for each data point, performing the following steps:

determining a first anomaly score component, the first anomaly score component varying according to a Cook's Distance value;

determining a second anomaly score component, the second anomaly score component varying according to a singular spectrum analysis value;

determining a third anomaly score component, the third anomaly score component varying according to a rolling variance rate of change value;

determining a fourth anomaly score component, the fourth anomaly score component varying according to whether a current data point is within an upper bound and a lower bound;

determining a total anomaly score as a function of the first anomaly score component, the second anomaly score component, the third anomaly score component, and the fourth anomaly score component;

comparing the total anomaly score to an anomaly score threshold value; and

determining the data point is an anomaly if the total anomaly score is greater than the threshold value.

2. The computer-implemented method of claim 1 , further comprising determining the data point is not an anomaly if the total anomaly score is less than or equal to the threshold value.

3. The computer-implemented method of claim 1 , further comprising disregarding the data point that is determined to be an anomaly in a system that analyzes the data from the sensor.

4. The computer-implemented method of claim 1 , further comprising changing one or more operating parameters of a system process if a plurality of consecutive data points are determined to be anomalies.

5. The computer-implemented method of claim 4 , wherein the system process utilizes components selected from the group consisting of a pump, a valve, and a fan, and the operating parameters are selected from the group consisting of a pump operating state, a valve position, and a fan operating state.

6. The computer-implemented method of claim 1 , further comprising deactivating the sensor if a plurality of data points are determined to be anomalies over a period of time.

7. The computer-implemented method of claim 1 , further comprising calibrating the sensor if a plurality of data points are determined to be anomalies over a period of time.

8. The computer-implemented method of claim 1 , wherein determining the first anomaly score component includes

determining a first linear regression on a window of data points that includes the current data point,

determining a second linear regression on the window of data points that excludes the current data point,

determining the Cook's Distance value for the current data point as a function of the first linear regression and the second linear regression, and

determining the first anomaly score component as one of a plurality of integer values according to the Cook's Distance value.

9. The computer-implemented method of claim 1 , wherein determining the second anomaly score component includes

forming a trajectory matrix which includes a plurality of first data points arranged in a first number of rows and a first number of columns,

forming a test matrix which includes a plurality of second data points arranged in a second number of rows and the first number of columns,

transposing the trajectory matrix and the test matrix,

performing singular value decomposition on each of the trajectory matrix and the test matrix to form a trajectory U matrix and a test U matrix, truncating the trajectory U matrix and the test U matrix by removing a portion of

the columns of each matrix,

transposing the truncated trajectory U matrix,

multiplying the transposed truncated trajectory U matrix by the truncated test U matrix,

performing singular value decomposition on the product of the transposed truncated U trajectory matrix and the truncated U test matrix to form a sigma matrix,

extracting a first value of the sigma matrix, and

determining the second anomaly score component as a difference between 1 and the first value of the sigma matrix.

10. The computer-implemented method of claim 1 , wherein determining the third anomaly score component includes

forming a first window of data points that includes the current data point and a first plurality of previous data points,

calculating a first variance of the first window of data points,

forming a second window of data points that includes the data point prior to the current data point and a second plurality of previous data points,

calculating a second variance of the second window of data points,

calculating a difference between the first variance and the second variance, and

determining the third anomaly score component as one of a plurality of integer values according to the difference between the first variance and the second variance.

11. The computer-implemented method of claim 1 , wherein determining the fourth anomaly score component includes

determining whether the value of the current data point is within the upper bound and the lower bound as determined by Hoeffding's bounds,

updating the values of the upper bound and the lower bound after each current data point is received,

setting the fourth anomaly score component to 0 if the value of the current data point is within the upper bound and the lower bound,

performing the following steps if the value of the current data point is not within the upper bound and the lower bound,

including the current data point as an anomalous data point in a first rolling time window and a second rolling time window,

comparing a number of anomalous data points in the first rolling time window to a first rolling time window threshold value,

setting the fourth anomaly score component to 0 if the number of anomalous data points in the first rolling time window is less than or equal to the first rolling time window threshold value,

setting the fourth anomaly score component to 1 if the number of anomalous data points in the first rolling time window is greater than the first rolling time window threshold value,

maintaining the value of the fourth anomaly score component at 1 until there are no anomalous data points in the second rolling time window, and

shifting the first rolling time window and the second rolling time window as time passes.

12. The computer-implemented method of claim 1 , wherein determining the total anomaly score includes

calculating a first weighted component as a first weight times the first anomaly score component,

calculating a second weighted component as a second weight times the second anomaly score component,

calculating a third weighted component as a third weight times the third anomaly score component,

calculating a fourth weighted component as a fourth weight times the fourth anomaly score component, and

calculating the total anomaly score as a sum of the first weighted component and the second weighted component times the third weighted component plus the fourth weighted component.

13. A computing device for detecting anomalies in data from a sensor, the computing device comprising:

a processing element in electronic communication with a memory element, the processing element configured or programmed to:

receive the data from the sensor, the data including a sequence of readings, each reading being a successive one of time-sampled data points having a numeric digital or binary value;

for each data point, perform the following steps:

determine a first anomaly score component, the first anomaly score component varying according to a Cook's Distance value;

determine a second anomaly score component, the second anomaly score component varying according to a singular spectrum analysis value;

determine a third anomaly score component, the third anomaly score component varying according to a rolling variance rate of change value;

determine a fourth anomaly score component, the fourth anomaly score component varying according to whether a current data point is within an upper bound and a lower bound;

determine a total anomaly score as a function of the first anomaly score component, the second anomaly score component, the third anomaly score component, and the fourth anomaly score component;

compare the total anomaly score to an anomaly score threshold value; and

determine the data point is an anomaly if the total anomaly score is greater than the threshold value.

14. The computing device of claim 13 , wherein the processing element is further configured or programed to determine the data point is not an anomaly if the total anomaly score is less than or equal to the threshold value.

15. The computing device of claim 13 , wherein the processing element is further configured or programed to change one or more operating parameters of a system process if a plurality of consecutive data points are determined to be anomalies.

16. The computing device of claim 13 , wherein the processing element is further configured or programed to deactivate the sensor if a plurality of data points are determined to be anomalies over a period of time.

17. A non-transitory computer-readable medium having stored thereon software instructions for detecting anomalies in data from a sensor that, when executed by a processing element, cause the processing element to:

receive the data from the sensor, the data including a sequence of readings, each reading being a successive one of time-sampled data points having a numeric digital or binary value;

for each data point, perform the following steps:

determine a first anomaly score component, the first anomaly score component varying according to a Cook's Distance value;

determine a second anomaly score component, the second anomaly score component varying according to a singular spectrum analysis value;

determine a third anomaly score component, the third anomaly score component varying according to a rolling variance rate of change value;

determine a fourth anomaly score component, the fourth anomaly score component varying according to whether a current data point is within an upper bound and a lower bound;

determine a total anomaly score as a function of the first anomaly score component, the second anomaly score component, the third anomaly score component, and the fourth anomaly score component;

compare the total anomaly score to an anomaly score threshold value; and

determine the data point is an anomaly if the total anomaly score is greater than the threshold value.

18. The non-transitory computer-readable medium of claim 17 , wherein the processing element is further caused to determine the data point is not an anomaly if the total anomaly score is less than or equal to the threshold value.

19. The non-transitory computer-readable medium of claim 17 , wherein the processing element is further caused to change one or more operating parameters of a system process if a plurality of consecutive data points are determined to be anomalies.

20. The non-transitory computer-readable medium of claim 17 , wherein the processing element is further caused to deactivate the sensor if a plurality of data points are determined to be anomalies over a period of time.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2025
From: BVH, INC.
To: BLACK & VEATCH CORPORATION
Reel/Frame 070615/0901 →
MERGER Recorded Jan 22, 2025
From: BLACK & VEATCH HOLDING COMPANY
To: BVH, INC.
Reel/Frame 069969/0701 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2023
From: SATHYAMOORTHY, SANDEEP; SHOENER, BRIAN DARWIN; REDMOND, ERIC
To: BLACK & VEATCH HOLDING COMPANY
Reel/Frame 064509/0567 →
Continuity (2)
Provisional Application 63389667 · Jul 15, 2022
Related Publication 20240019282A1 · Jan 18, 2024