Abnormal power consumption determination method and apparatus
The method addresses the challenge of detecting abnormal power consumption during after-hours setbacks by analyzing power usage data and comparing it to trained parameters, effectively identifying and addressing power usage anomalies.
Patent Information
- Application Number
- PCT/EP2024/052554
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-22
- Filing Date
- 2024-02-01
- Publication Date
- 2025-06-26
AI Technical Summary
Existing techniques for after-hours setback implementations fail to detect abnormal power consumption effectively due to a lack of understanding of normal and abnormal power usage patterns and the inability to manually monitor these occurrences.
An apparatus and method for determining abnormal power consumption by acquiring power usage data, correlating it based on predetermined pulse widths, and comparing it to trained power usage parameters to identify abnormalities.
The solution enables timely detection of abnormal power consumption, preventing unwanted power wastage and aiding in the identification of root causes for such abnormalities.
Smart Images

Figure EP2024052554_26062025_PF_FP_ABST
Abstract
Description
[0001] Abnormal Power Consumption Determination Method and Apparatus
[0002] Field
[0003] Aspects of the present disclosure relate to an apparatus and method for determining abnormal power consumption, and to a training apparatus and training method for determining abnormal power consumption.
[0004] Background
[0005] An after-hours setback is a control strategy adopted to prevent excessive power usage during after-hours (non-operational hours). It reduces the power consumption in a building by controlling the equipment utilization by either switching equipment off or setting equipment in low power consumption mode whenever not required or during non- operational hours. This helps in energy savings which ultimately leads to cost benefits.
[0006] In existing techniques of after-hours setback implementations, abnormal power consumption instances go undetected. This is due to the lack of understanding of what normal and abnormal power consumptions are, and because manual monitoring of such occurrences is infeasible. Abnormal power consumptions can vary overtime (operational vs non-operational hours, and weekdays vs weekends, etc.).
[0007] Current literature on after-hours setback mainly focuses on detecting the correct functioning of after-hours setback implementation but does not focus on actively monitoring and classifying abnormal power consumption. Such prior art methods use image processing and deep learning techniques to ascertain the proper working of the afterhours setback strategy. These methods lack explainability to help in taking corrective actions and need an elaborate infrastructure to capture large amounts of historic labelled data.
[0008] Aspects herein, amongst others, address such issues in detecting power usage abnormalities, and in particularly in after-hours setbacks. Summary
[0009] In a first exemplary aspect, there is provided an abnormal power consumption detection method, the method executed by an abnormal power consumption detection apparatus, the method comprising: acquiring, by a controller, power usage data measured using one or more power measurements circuits, for an entity upon which the abnormal power consumption detection apparatus is implemented, the power usage data comprising power usage data as a function of time for one or more on-periods and one or more off-periods of the entity, wherein an on-period corresponds to an operational state of the entity and an off-period corresponds to a reduced power usage state of the entity; determining, by the controller, whether the power usage data is indicative of abnormal power consumption by: correlating, by a correlation module, the power usage data based on a predetermined pulse width corresponding to a length of time of an on-period to determine a dataset of one or more peaks; sub-setting, by a sub-setting module, the power usage data based on one or more detected peaks in the dataset of one or more peaks to determine a data subset of the power usage data corresponding to each detected peak; determining, by a power usage parameter determination module, one or more power usage parameters of the entity based upon the one or more data subsets of the power usage data; retrieving, from a trained parameter datastore accessible by the abnormal power consumption detection apparatus, one or more corresponding trained power usage parameters the entity upon which the abnormal power consumption detection apparatus is implemented; comparing, by an abnormal power usage determination module, the one or more power usage parameters to the one or more trained power usage parameters to determine whether the power usage data is indicative of abnormal power usage based upon the comparison; performing, by the controller, a further action when it is determined that the power usage data is indicative of abnormal power usage.
[0010] In an exemplary implementation, the abnormal power consumption detection method is applied in detecting abnormal power consumption during an after-hours setback period.
[0011] Optionally, the method further comprises: prior to determining whether the power usage data is indicative of abnormal power consumption: pre-processing, by a pre-processing module, the power usage data to determine pre-processed power usage data such that determining whether the power usage data is indicative of abnormal power consumption comprises using the pre-processed power usage data as the power usage data; and wherein the pre-processing comprises one or more of: removing gaps corresponding to missing data; removing outliers below a lower limit threshold; and removing outliers above an upper limit threshold.
[0012] Optionally, correlating the power usage data based on a predetermined pulse width corresponding to a length of time of an on-period to determine a dataset of one or more peaks comprises: correlating the power usage data by applying a rolling window with the generated unit pulse to the power usage data, wherein the rolling window has the on-period pulse width, to determine one or more peaks in the power usage data.
[0013] Optionally, determining the one or more power usage parameters of the entity based upon the one or more data subsets of the power usage data comprises: determining at least one of an average on-period time, and average on-period power usage level, an average off-period time, and an average off-period power usage level.
[0014] Optionally, the further action comprises triggering an alert to an operator
[0015] Optionally, the further action comprises triggering a diagnosis system configured to identify the cause of the abnormal power consumption determination.
[0016] In a second exemplary aspect there is provided an abnormal power consumption detection apparatus comprising: a controller configured to acquire power usage data measured using one or more power measurements circuits, for an entity upon which the abnormal power consumption detection apparatus is implemented, the power usage data comprising power usage data as a function of time for one or more on-periods and one or more off-periods of the entity, wherein an on-period corresponds to an operational state of the entity and an off-period corresponds to a reduced power usage state of the entity; the controller further configured to determine whether the power usage data is indicative of abnormal power consumption, wherein: a correlation module of the controller is configured to correlate the power usage data based on a predetermined pulse width corresponding to a length of time of an on- period to determine a dataset of one or more peaks; a sub-setting module of the controller is configured to subset the power usage data based on one or more detected peaks in the dataset of one or more peaks to determine a data subset of the power usage data corresponding to each detected peak; a power usage parameter determination module of the controller is configured to determine one or more power usage parameters of the entity based upon the one or more data subsets of the power usage data; the controller is configured to retrieve from a trained parameter datastore accessible by the abnormal power consumption detection apparatus, one or more corresponding trained power usage parameters the entity upon which the abnormal power consumption detection apparatus is implemented; an abnormal power usage determination module of the controller is configured to compare the one or more power usage parameters to the one or more trained power usage parameters to determine whether the power usage data is indicative of abnormal power usage based upon the comparison; and the controller is further configured to perform a further action when it is determined that the power usage data is indicative of abnormal power usage.
[0017] In an exemplary implementation, the abnormal power consumption detection apparatus is applied in detecting abnormal power consumption during an after-hours setback period.
[0018] Optionally, prior to determining whether the power usage data is indicative of abnormal power consumption, a pre-processing module is configured to pre-process the power usage data to determine pre-processed power usage data such that determining whether the power usage data is indicative of abnormal power consumption comprises using the pre-processed power usage data as the power usage data; and the pre-processing comprises one or more of: removing gaps corresponding to missing data; removing outliers below a lower limit threshold; and removing outliers above an upper limit threshold. Optionally, correlating the power usage data based on a predetermined pulse width corresponding to a length of time of an on-period to determine a dataset of one or more peaks comprises: correlating the power usage data by applying a rolling window with the generated unit pulse to the power usage data, wherein the rolling window has the on-period pulse width, to determine one or more peaks in the power usage data.
[0019] Optionally, determining the one or more power usage parameters of the entity based upon the one or more data subsets of the power usage data comprises: determining at least one of an average on-period time, and average on-period power usage level, an average off-period time, and an average off-period power usage level.
[0020] Optionally, the further action comprises triggering an alert to an operator.
[0021] Optionally, the further action comprises triggering a diagnosis apparatus configured to identify the cause of the abnormal power consumption determination.
[0022] In a third exemplary aspect, there is provided a method of training an abnormal power consumption detection apparatus, the method comprising: retrieving, at a controller, historic power usage data from a datastore, the historic power usage data being of an entity upon which the abnormal power consumption detection apparatus is to be implemented, and the historic power usage data comprising power usage data as a function of time for one or more on-periods and one or more off- periods of the entity, wherein an on-period corresponds to an operational state of the entity and an off-period corresponds to a reduced power usage state of the entity; and training, by the controller, the abnormal power consumption detection apparatus using the historic power usage data, by: determining, by a pulse width determining module, an on-period pulse width corresponding to a length of time of an on-period in the historic power usage data; correlating, by a correlation module, the historic power usage data based on the on-period pulse width to determine a dataset of one or more peaks; sub-setting, by a sub-setting module, the historic power usage data based on one or more detected peaks in the dataset of one or more peaks to determine a data subset of the historic power usage data corresponding to each detected peak; determining, by a power usage parameter determination module, one or more historic power usage parameters of the entity based upon the one or more data subsets of the historic power usage data; and storing, by a storage controller, the one or more historic power usage parameters as one or more trained power usage parameters in a trained parameter datastore.
[0023] In an exemplary implementation, the abnormal power consumption detection apparatus is applied in detecting abnormal power consumption during an after-hours setback period.
[0024] Optionally, the method further comprises: prior to retrieving the historic power usage data from the datastore: measuring power usage data as a function of time, using one or more power measurements circuits, for the entity upon which the abnormal power consumption detection apparatus is to be implemented; and storing the measured power data as the historic data in the datastore.
[0025] Optionally, the method further comprises: prior to training the abnormal power consumption detection apparatus: pre-processing, by a pre-processing module, the historic power usage data to determine pre-processed historic power usage data such that training the abnormal power consumption detection apparatus comprises using the pre-processed historic power usage data as the historic power usage data; and wherein the pre-processing comprises one or more of: removing gaps corresponding to missing data; removing outliers below a lower limit threshold; and removing outliers above an upper limit threshold.
[0026] Optionally, determining the on-period pulse width corresponding to a length of time of an on-period in the historic power usage data comprises: determining an average power level in the historic power usage data; labelling periods of the historic power usage data having a power level above the average power level as on-period data; and determining a pulse width of the on-period data as the on-period pulse width.
[0027] Optionally, correlating the historic power usage data using the on-period pulse width to determine a dataset of one or more peaks comprises: correlating the historic power usage data by applying a rolling window with the generated unit pulse to the historic power usage data, wherein the rolling window has the on-period pulse width, to determine one or more peaks in the historic power usage data. Optionally, determining historic power usage parameters of the entity based upon the one or more data subsets of the historic power usage data comprises: determining at least one of an average historic on-period time, and average historic on-period power usage level, an average historic off-period time, and an average historic off-period power usage level; and determining, based on the one or more data subsets, at least one of an average historic on-period time variance, and average historic on-period power usage level variance, an average historic off-period time variance, and an average historic off-period power usage level variance.
[0028] In a fourth exemplary aspect, there is provided an abnormal power consumption detection apparatus comprising: a controller configured to retrieve historic power usage data from a datastore, the historic power usage data being of an entity upon which the abnormal power consumption detection apparatus is to be implemented, and the historic power usage data comprising power usage data as a function of time for one or more on-periods and one or more off-periods of the entity, wherein an on-period corresponds to an operational state of the entity and an off-period corresponds to a reduced power usage state of the entity; the controller further to configured to train the abnormal power consumption detection apparatus using the historic power usage data, wherein: a pulse width determining module of the controller is configured to determine an on-period pulse width corresponding to a length of time of an on-period in the historic power usage data; a correlation module of the controller is configured to correlate the historic power usage data based on the on-period pulse width to determine a dataset of one or more peaks; a sub-setting module of the controller is configured to subset the historic power usage data based on one or more detected peaks in the dataset of one or more peaks to determine a data subset of the historic power usage data corresponding to each detected peak; a power usage parameter determination module of the controller is configured to determine one or more historic power usage parameters of the entity based upon the one or more data subsets of the historic power usage data; and a storage controller of the controller is configured to store the one or more historic power usage parameters as one or more trained power usage parameters in a trained parameter datastore.
[0029] In an exemplary implementation, the abnormal power consumption detection apparatus is applied in detecting abnormal power consumption during an after-hours setback period.
[0030] Optionally, prior to retrieving the historic power usage data from the datastore, one or more power measurements circuits are configured to measure power usage data as a function of time for the entity upon which the abnormal power consumption detection apparatus is to be implemented, and store the measured power data as the historic data in the datastore.
[0031] Optionally, prior to training the abnormal power consumption detection apparatus, a preprocessing module is configured to pre-process the historic power usage data to determine pre-processed historic power usage data such that training the abnormal power consumption detection apparatus comprises using the pre-processed historic power usage data as the historic power usage data; and wherein the pre-processing comprises one or more of: removing gaps corresponding to missing data; removing outliers below a lower limit threshold; and removing outliers above an upper limit threshold.
[0032] Optionally, determining the on-period pulse width corresponding to a length of time of an on-period in the historic power usage data comprises: determining an average power level in the historic power usage data; labelling periods of the historic power usage data having a power level above the average power level as on-period data; and determining a pulse width of the on-period data as the on-period pulse width.
[0033] Optionally, correlating the historic power usage data using the on-period pulse width to determine a dataset of one or more peaks comprises: correlating the historic power usage data by applying a rolling window with the generated unit pulse to the historic power usage data, wherein the rolling window has the on-period pulse width, to determine one or more peaks in the historic power usage data.
[0034] Optionally, determining historic power usage parameters of the entity based upon the one or more data subsets of the historic power usage data comprises: determining at least one of an average historic on-period time, and average historic on-period power usage level, an average historic off-period time, and an average historic off-period power usage level; and determining, based on the one or more data subsets, at least one of an average historic on-period time variance, and average historic on-period power usage level variance, an average historic off-period time variance, and an average historic off-period power usage level variance.
[0035] In a fifth exemplary aspect, there is provided a non-transitory computer-readable medium storing instructions that when executed by one or more processors of an abnormal power consumption detection apparatus causes the one or more processors to perform the method of the first exemplary aspect (and optionally any optional features of the first exemplary aspect), and / or the third exemplary aspect (and optionally any of the optional features of the third exemplary aspect).
[0036] In a sixth exemplary aspect, there is provided a method combining the first exemplary aspect and third exemplary aspect (and optionally any of the optional features of the first exemplary aspect and the third exemplary aspect).
[0037] In a seventh exemplary aspect, there is provided a system combining the second exemplary aspect and the fourth exemplary aspect (and optionally any of the optional features of the second exemplary aspect and the fourth exemplary aspect).
[0038] In an eighth exemplary aspect, there is provided a means for abnormal power consumption detection comprising: a means for acquiring power usage data measured using one or more power measurements circuits, for an entity upon which the abnormal power consumption detection apparatus is implemented, the power usage data comprising power usage data as a function of time for one or more on-periods and one or more off-periods of the entity, wherein an on-period corresponds to an operational state of the entity and an off-period corresponds to a reduced power usage state of the entity; a means for determining whether the power usage data is indicative of abnormal power consumption comprising: a means for correlating the power usage data based on a predetermined pulse width corresponding to a length of time of an on-period to determine a dataset of one or more peaks; a means for sub-setting the power usage data based on one or more detected peaks in the dataset of one or more peaks to determine a data subset of the power usage data corresponding to each detected peak; a means for determining one or more power usage parameters of the entity based upon the one or more data subsets of the power usage data; a means for retrieving, from a trained parameter datastore accessible by the abnormal power consumption detection apparatus, one or more corresponding trained power usage parameters the entity upon which the abnormal power consumption detection apparatus is implemented; a means for comparing the one or more power usage parameters to the one or more trained power usage parameters to determine whether the power usage data is indicative of abnormal power usage based upon the comparison; a means for performing a further action when it is determined that the power usage data is indicative of abnormal power usage.
[0039] In an exemplary implementation, the abnormal power consumption detection method is applied in detecting abnormal power consumption during an after-hours setback period.
[0040] Optionally, the means for abnormal power consumption detection further comprises: a means for pre-processing the power usage data to determine pre-processed power usage data such that determining whether the power usage data is indicative of abnormal power consumption comprises using the pre-processed power usage data as the power usage data, prior to determining whether the power usage data is indicative of abnormal power consumption; and wherein the pre-processing comprises one or more of: removing gaps corresponding to missing data; removing outliers below a lower limit threshold; and removing outliers above an upper limit threshold.
[0041] Optionally, correlating the power usage data based on a predetermined pulse width corresponding to a length of time of an on-period to determine a dataset of one or more peaks comprises: correlating the power usage data by applying a rolling window with the generated unit pulse to the power usage data, wherein the rolling window has the on-period pulse width, to determine one or more peaks in the power usage data.
[0042] Optionally, determining the one or more power usage parameters of the entity based upon the one or more data subsets of the power usage data comprises: determining at least one of an average on-period time, and average on-period power usage level, an average off-period time, and an average off-period power usage level.
[0043] Optionally, the further action comprises triggering an alert to an operator
[0044] Optionally, the further action comprises triggering a diagnosis apparatus configured to identify the cause of the abnormal power consumption determination.
[0045] In a ninth exemplary aspect, there is provided a means for training a means for abnormal power consumption detection apparatus, comprising: a means for retrieving historic power usage data from a datastore, the historic power usage data being of an entity upon which the means for abnormal power consumption detection is to be implemented, and the historic power usage data comprising power usage data as a function of time for one or more on-periods and one or more off-periods of the entity, wherein an on-period corresponds to an operational state of the entity and an off-period corresponds to a reduced power usage state of the entity; and a means for training the means for abnormal power consumption detection using the historic power usage data, comprising: a means for determining an on-period pulse width corresponding to a length of time of an on-period in the historic power usage data; a means for correlating the historic power usage data based on the on-period pulse width to determine a dataset of one or more peaks; a means for sub-setting the historic power usage data based on one or more detected peaks in the dataset of one or more peaks to determine a data subset of the historic power usage data corresponding to each detected peak; a means for determining one or more historic power usage parameters of the entity based upon the one or more data subsets of the historic power usage data; and a means for storing the one or more historic power usage parameters as one or more trained power usage parameters in a trained parameter datastore.
[0046] In an exemplary implementation, the abnormal power consumption detection apparatus is applied in detecting abnormal power consumption during an after-hours setback period.
[0047] Optionally, the means for training a means for abnormal power consumption detection apparatus further comprises: a means for measuring power usage data as a function of time, using one or more power measurements circuits, for the entity upon which the abnormal power consumption detection apparatus is to be implemented, prior to retrieving the historic power usage data from the datastore; and a means for storing the measured power data as the historic data in the datastore.
[0048] Optionally, the means for training a means for abnormal power consumption detection apparatus further comprises: a means for pre-processing the historic power usage data to determine pre- processed historic power usage data such that training the abnormal power consumption detection apparatus comprises using the pre-processed historic power usage data as the historic power usage data, prior to training the means for abnormal power consumption detection; and wherein the pre-processing comprises one or more of: removing gaps corresponding to missing data; removing outliers below a lower limit threshold; and removing outliers above an upper limit threshold.
[0049] Optionally, determining the on-period pulse width corresponding to a length of time of an on-period in the historic power usage data comprises: determining an average power level in the historic power usage data; labelling periods of the historic power usage data having a power level above the average power level as on-period data; and determining a pulse width of the on-period data as the on-period pulse width.
[0050] Optionally, correlating the historic power usage data using the on-period pulse width to determine a dataset of one or more peaks comprises: correlating the historic power usage data by applying a rolling window with the generated unit pulse to the historic power usage data, wherein the rolling window has the on-period pulse width, to determine one or more peaks in the historic power usage data.
[0051] Optionally, determining historic power usage parameters of the entity based upon the one or more data subsets of the historic power usage data comprises: determining at least one of an average historic on-period time, and average historic on-period power usage level, an average historic off-period time, and an average historic off-period power usage level; and determining, based on the one or more data subsets, at least one of an average historic on-period time variance, and average historic on-period power usage level variance, an average historic off-period time variance, and an average historic off-period power usage level variance.
[0052] In a tenth exemplary aspect, there is provided a system combining the eighth exemplary aspect and the ninth exemplary aspect (and optionally any of the optional features of the eight exemplary aspect and the ninth exemplary aspect).
[0053] Brief Description of Drawings
[0054] Examples of the disclosure are now described with reference to the drawings, in which:
[0055] Figure 1 is a plot of power usage as a function of time illustrating a magnitude abnormality;
[0056] Figure 2 is a plot of power usage as a function of time illustrating a time abnormality;
[0057] Figure 3 is plot of power usage as a function time illustrating a combined magnitude and time abnormality;
[0058] Figure 4 is a block diagram of an abnormal power consumption detection apparatus;
[0059] Figures 5A and 5B are a flow diagram of a training phase of the abnormal power consumption detection apparatus;
[0060] Figure 6 is a tandem plot of historic power usage data (upper plot) and the correlated historic power usage data (lower plot);
[0061] Figure 7A shows an exemplary distribution of power usage for historic on-periods;
[0062] Figure 7B shows an exemplary distribution of power usage for historic off-periods;
[0063] Figure 7C shows an exemplary distribution of on-period time for historic on-periods;
[0064] Figure 7D shows an exemplary distribution of off-period time for historic off-periods;
[0065] Figures 8A to 8C are a flow diagram of a testing phase of the abnormal power consumption detection apparatus; and
[0066] Figure 9 is a high-level block diagram of an apparatus suitable for implementing various aspects of the disclosure. Detailed Description
[0067] In a facility where an after-hours setback is applied, there will be a pattern observed in the load consumption profile. The load profile corresponding to the after-hours setback duration will show a dip. Whereas, during the operational hours, the load profile will show a rise, thereby creating a repetitive pattern in the load profile. This pattern helps in identifying abnormal power consumption in a facility in which it occurs. An after-hours setback period comprises a power control strategy used during non-operational hours of an entity; this can include using a reduced power level during the non-operational hours compared to the power level used during operational hours.
[0068] Abnormal power usage during an after-hours setback can be categorized into three major categories:
[0069] 1. Consumption is higher than expected (Magnitude abnormality) during after-hours;
[0070] 2. Delay in start of after-hours (Time abnormality); and
[0071] 3. Combined magnitude and time abnormality.
[0072] Figure 1 shows a plot 100 of power usage 104 as a function of time 102 to illustrate a magnitude abnormality. In this example, a facility has a regular power consumption of 1000W during operational hours and around 300W in the night during after-hours. Line 106 corresponds to normal or expected power consumption. Line 108 corresponds to abnormal or unexpected power usage, wherein the power usage during the night (after- hours) is much higher than normal (i.e., the corresponding power usage in line 106); this could be due to some unexpected activity such as human error or controller error.
[0073] Figure 2 shows a plot 200 of power usage 204 as a function of time 202 to illustrate a time abnormality. In this example, a facility has a regular power consumption of 1000W during operational hours and around 300W in the night during after-hours. Line 206 corresponds to normal or expected power consumption. Line 208 corresponds to abnormal or unexpected power usage wherein the power consumption continues after the operational hours for another 4 hours; this could be due to some unexpected activity such as human error or controller error. This could be an unintentional scenario where the after-hours setback system was not triggered on time and hence power consumption was high for the initial few hours, or it could be because working shifts continued for additional hours. Figure 3 shows a plot 300 of power usage 304 as a function time 302 to illustrate a combined magnitude and time abnormality. In this example, a facility has a regular power consumption of 1000W during operational hours and around 300W in the night during after-hours. Line 306 corresponds to normal or expected power consumption. Line 308 corresponds to abnormal or unexpected power consumption in which the power consumption continues after the operational hours for another 4 hours (time abnormality), and then drops to only 700W (magnitude abnormality) which is higher than the normal or expected after-hours power consumption. This could be an unintentional scenario where the after-hours setback system was not triggered on time and hence power consumption was high for the initial few hours. It could also be because working shifts may have continued for more hours than usual.
[0074] It will, however, be readily understood that Figures 1 , 2 and 3 only present some examples of abnormal power usage.
[0075] The detection and notification of such abnormal power consumptions can help in identifying the root causes for such activities. The abnormal power consumption could be because of multiple scenarios, such as:
[0076] 1. Human errors (e.g., forgetting to manually reset)
[0077] 2. Unexpected usage of facilities (e.g., unauthorised entry)
[0078] 3. Component failures (e.g., controller failures)
[0079] Timely detection of abnormal power consumption can prevent unwanted power wastage and avert security issues.
[0080] Figure 4 shows a block diagram of an abnormal power consumption detection apparatus 400 that is used to detect abnormal power consumptions and determine the root cause of abnormal power consumptions.
[0081] The abnormal power consumption detection apparatus 400 learns normal power usage behaviour from historic power consumption patterns and flags abnormal behaviour based on a learned model. Derived features learned from historic power usage patterns include power consumption levels and time durations of operational hours and non- operational after-hours (whilst the expressions “operational hours” and “non-operational hours” are used herein, the skilled person will readily understand that these can be interpreted as “operational times” and “non-operational times” rather than being limited only to hours). The apparatus 400 uses historic power consumption time series data to extract these features and learn thresholds for normal behaviour. The abnormal power consumption detection apparatus 400 diagnoses the reason for detected abnormal behaviour.
[0082] As the power consumption pattern might have different behaviour in weekdays and in weekends the process can be applied independently for weekends and weekdays. Similarly, this apparatus 400 can be extended to any scenario where there is pattern in load consumption, e.g., shift patterns, day-night patterns, etc.
[0083] Whilst the aforementioned points relate to abnormalities during an after-hours setback, the teaching of the present disclosure can be readily applied for determining abnormalities in power consumption during both after-hours setback periods, and normal operational periods (i.e., non-after-hours setback periods), and more generally in a system that operates between two or more distinct states (e.g., a high power state and a low power state).
[0084] Returning to Figure 4, the abnormal power consumption detection apparatus 400 can comprise a historic power usage datastore 404, a trained parameter datastore 406, a power usage datastore 408, and a controller 402. The controller 402 can comprise an explainability engine 410, a pre-processing module 412, a pulse width determining module 414, a correlation module 416, a peak detection module 418, a sub-setting module 420, a power usage parameter determination module 422, a storage controller 424, and an abnormal power usage determination module 426. These features will be described in more detail as follows.
[0085] The abnormal power consumption detection apparatus 400 has two phases: a training phase (described with reference to Figures 5A, 5B) in which parameters of the apparatus are trained, and a testing phase (described with reference to Figures 8A, 8B, 8C) in which the abnormal power consumption detection apparatus 400 monitors power usage of an entity upon which the abnormal power consumption detection apparatus 400 is to be applied to detect and diagnose abnormalities in power usage. The testing phase can also be considered as a power usage abnormality detection phase.
[0086] The training phase is discussed with reference to Figure 5A. During the training phase, the abnormal power consumption detection apparatus 400 uses unlabelled historic power usage data (power usage as a function of time) from an entity upon which the abnormal power consumption detection apparatus 400 is to be applied, and identifies the operational hours (on-times) and non-operational after-hours (off-times). This information is used to estimate training parameters to identify the occurrence of abnormal power consumption, and the reason for the same during the testing phase. Beneficially, the use of unlabelled data can both improve accuracy by removing human error, and improve efficiency in implementing the apparatus.
[0087] Beneficially, the approach used is purely statistical and hence is less complex and takes less time and computational resource for training and testing as compared to deep learning methods. The approach is flexible enough to adapt to the different load patterns (arising due to expected load changes in the monitored space such as change in operational hours) by using minimal amounts of newly available data as compared to state-of-the-art techniques which require significant amounts of historic data to account for this scenario change.
[0088] Turning to Figure 5A, at step S502 the controller 402 of the abnormal power consumption detection apparatus 400 retrieves historic power usage data from the historic power usage datastore 404. The historic power usage data is power usage data of the entity upon which the abnormal power consumption detection apparatus 400 is to be implemented. The historic power usage data comprises power usage data as a function of time for one or more on-periods and one or more off-periods of the entity.
[0089] In some examples, the entity may be a building or collection of electrically powered pieces of equipment; in other examples, the entity may be a single piece of electrically powered equipment. An on-period corresponds to an operational state of the entity and an off-period corresponds to a reduced power usage state of the entity (i.e. , after-hours).
[0090] In some examples, prior to being retrieved from the historic data datastore, the power usage data is measured, as a function of time, using one or more power measurement circuits, for the entity upon which the abnormal power consumption detection apparatus 400 is to be implemented. The measured power data is then stored as the historic data in the historic data datastore.
[0091] The controller 402 proceeds to train the abnormal power consumption detection apparatus 400 using the historic power usage data.
[0092] In some examples the process proceeds from step S502 to S504. At step S504, after retrieving the historic power usage data, but prior to training the abnormal power consumption detection apparatus 400, the pre-processing module 412 of the controller 402, can pre-process the historic power usage data to determine pre-processed historic power usage data. That is, the historic power usage data is fed to the pre-processing module 412. In this case, training the abnormal power consumption detection apparatus 400 comprises using the pre-processed historic power usage data as the historic power usage data.
[0093] In other examples, the pre-processing stage is not included and the process progresses directly from step S502 to step S506 when the historic power usage data is retrieved. That is, the historic power usage data is fed straight to the pulse width determining module 414 at step S506. In such a case, the subsequent steps are performed on historic power usage data that is not pre-processed.
[0094] Hereinafter, the historic power usage data is referred to as historic power usage data regardless of whether it is pre-processed. The skilled person will understand that for the subsequent steps, the historic power usage data is the pre-processed historic power usage data when step S504 is included, and the historic power usage data is non-pre- processed historic power usage data when step S504 is not included.
[0095] Returning to step S504, the pre-processing comprises one or more of removing gaps corresponding to missing data at S504a, removing outliers below a lower limit threshold and / or removing outliers above an upper limit threshold at S504b, to obtain pre- processed clean data at step S504c.
[0096] The missing data removed at S504a could be due to sensor gaps. The lower limit threshold and upper limit threshold can be predetermined values stored in storage associated with the thresholds. The lower limit threshold and upper limit threshold can be defined as maximum and minimum allowable power levels for the historic power usage data during the training process.
[0097] The obtained pre-processed clean data can be stored in an intermediate datastore 404a. The intermediate datastore 404a can be the same datastore as the historic data datastore 404, a separate datastore to the historic data datastore 404, or a sub-datastore within the historic data datastore 404.
[0098] The process the continues to step S506 where the training begins.
[0099] At step S506, the pulse width determining module 414 of the controller 402 determines an on-period pulse width corresponding to a length of time of an on-period in the historic power usage data. The historic power usage data can be acquired from the intermediate datastore 404a if pre-processed historic power usage data is used, or from the historic data datastore 404 if non-pre-processed historic power usage data is used.
[0100] Determining the on-period pulse width corresponding to a length of time of an on-period in the historic power usage data can comprise determining an average power level in the historic power usage data. Periods of the historic power usage data having a power level above the average power level are then labelled as on-period data. A pulse width of the on-period data is then determined as the on-period pulse width. That is, a window length of the pulse is determined for correlation purposes at step S508. The pulse width can be considered as the width (i.e., length of time) of the on-period.
[0101] In more detail, the mean power level of the historic power usage data is determined at step S506a, and the historic power usage data is then categorised as on-period data and off-period data using the mean value as the threshold at step S506b. Periods with power levels above the mean correspond to on-periods, and periods with power levels below the threshold correspond to off-periods.
[0102] The data corresponding to on-periods can be selected and an outlier removal algorithm applied at step S506c. This removes cycles that have on-periods with initially identified abnormal power consumption. This can involve classifying each of the on-periods as “on”, and applying machine learning outlier based algorithms individually on each of the on-period signals to remove the outliers. Here, outliers refer to outliers in each on-period separately.
[0103] The maximum of the remaining on-periods can then be determined at step S506d, and assigned as the pulse width at step S506e for the correlation at step S508. That is, the maximum width (time) of an on-period defines the width of the correlation window.
[0104] The input to step S506 is unlabelled historic power usage data and might include patterns corresponding to abnormal power consumption. Step S506 removes the abnormal data by extracting the signals as on-periods and off-periods based on the mean power usage level, and removing the outliers. These eliminates the need to have labelled data, which is a prerequisite in the state-of-the-art. Consequently, improvements in processing efficiency are provided.
[0105] The process then progresses to step S508. At step S508, the correlation module 416 of the controller 402 correlates the historic power usage data based on the on-period pulse width to determine a correlated historic power usage dataset of one or more peaks.
[0106] In more detail, correlating the historic power usage data using the on-period pulse width can comprise generating a unit pulse having the on-period pulse width at step S508a. Then, the historic power usage data is correlated to the unit pulse by applying a rolling window with the generated unit pulse to the historic power usage data at step S508b. The rolling window has the on-period pulse width, and is used to determine one or more peaks in the historic power usage data. By applying this rolling window, an output is generated at step 508c having one or more peaks that correspond to the unit pulse correlating with the on-periods in the historic power usage data.
[0107] This can be visualised by referring to Figure 6. Figure 6 shows a tandem plot of historic power usage data (upper plot 600a) and the correlated historic power usage data (lower plot 600b). Both plots are presented as power usage 604 as a function of time 602. As can be understood from the plots when the rolling window with the unit pulse aligns with the on-period 602a there is a peak 602b in the correlation, and when the rolling window aligns with the off-period 604a there is a trough in the correlation 604b.
[0108] The process then progresses to step S510.
[0109] At step S510, the peak detection module 418 of the controller 402 can detect one or more peaks in the correlated historic power usage data determined at step S508. The peak detection can comprise determining peak height and peak position at step S510a, the distance between peaks can be determined at step S510b. Timestamps of the peaks can also be determined. The determined peak data can then be output at step S510c, for use as an input at step S512.
[0110] The process then progresses to step S512.
[0111] At step S512, the sub-setting module 420 of the controller 402 subsets the historic power usage data based on one or more detected peaks in the dataset of one or more peaks to determine a data subset of the historic power usage data corresponding to each detected peak.
[0112] At step S512a, the historic power usage data corresponding to the time period between each peak in the correlated data is extracted as a subset of the historic power usage data. In other words, each data subset of the historic power usage data comprises historic power usage data corresponding to a cycle having an off-period and an on-period.
[0113] This auto-segmentation of the cyclic load signal allows for the self-detection of start and end points of each segmented unit or subset.
[0114] The process then progresses to step S514 (see Figure 5B).
[0115] At step S514, the power usage parameter determination module 422 of the controller 402 determines on and off period times and amplitude estimations for each subset or cycle of historic data as determined in step S512.
[0116] At step S514a, for each subset, the data can be normalised using the maximum power usage value of the subset.
[0117] At step S514b, the normalised data above a predetermined threshold can be determined. This threshold can be specific to the particular system in which the methodology is being applied, and can be adjusted based on the system accordingly. That is, the threshold can be a predefined value as per the system.
[0118] At step S514c, the original historic power usage data corresponding to the normalised data above the threshold can be determined (X_sel).
[0119] At step S514d, a histogram of X_sel can be generated, and the amplitude of the largest bin can be selected (X_sel_max).
[0120] At step S514e, upper and lower limits of the amplitude of the largest bin can be determined as X_sel_max ± delta. The delta value can be considered as a buffer for use in the next step of filtration, and is kept to ensure that the data at the boundary levels are not left out during the next step of filtration. Delta can represent a value obtained from experimentation and can vary as per user discretion.
[0121] At step S514f, the original historic power usage data can be filtered based on the upper and lower limits to obtain an ‘on’ signal (XON) which corresponds to the historic power usage data during operational hours.
[0122] At step S514g, the width and amplitude of XON can be determined to obtain the average historic ‘on’ time period (X_TON) and the average historic ‘on’ power usage level or amplitude (X_AmpoN). At steps S514h and S514i, X_TON and X_AmpoN can respectively be output to step S516. At step 514j, the ‘off’ signal (XOFF) which corresponds to the historic power usage data during non-operational hours can be estimated by removing the XON signal from the original historic power data.
[0123] At step S514k, the width and amplitude of XOFF can be determined to obtain the average historic ‘off’ time period (X_TOFF) and the average historic ‘off’ power usage level or amplitude (X_AmpoFF). At steps S514I and S514m, X_TOFF and X_AmpoFF can respectively be output to step S516.
[0124] As such, at steps S514h, S514i, S514I and S514m, four features (X_TON, X_AmpoN, X_TOFF and X_AmpoFF) can be obtained which are derived from the load input where two features correspond to the operational hours and two features correspond to the after- hours (non-operational hours).
[0125] This isolation of ‘on’ and ‘off’ regions from each of the segmented units or subsets makes use of a robust outlier-resistant histogram approach, thereby improving the accuracy.
[0126] The process then progresses to step S516.
[0127] At step S516, the power usage parameter determination module 422 of the controller 402 determines one or more historic power usage parameters of the entity based upon the one or more data subsets of the historic power usage data.
[0128] In more detail, at S516, ‘on’ time, ‘on’ power usage level, ‘off’ time, and ‘off’ power usage level thresholds can be estimated. At step S516a, for each data subset, X_TON, X_AmpoN, X_TOFF and X_AmpoFF can be passed to an autoencoder for outlier removal. In this way, outliers are removed from each data-subset independently. At step S516b, the autoencoder can remove outliers separately for the generation of X_TON, X_AmpoN, X_TOFF and X_AmpoFF. This improves the subsequent estimation of threshold parameters.
[0129] Figures 7A to 7D respectively show distribution plots of X_AmpoN, X_AmpoFF, X_TON, and, X_TOFF in S516b after the autoencoding and before the mean and variance are determined at step S516c. Each of X_AmpoN, X_AmpoFF, X_TON, and, X_TOFF follow a Gaussian pattern. As will be discussed with regard to the testing phase in this disclosure, the testing phase utilises this Gaussian principle in that test data X_AmpoN, X_AmpoFF, X_TON, and, X_TOFF are validated against a specific range of the historic X_AmpoN, X_AmpoFF, X_TON, and, X_TOFF based upon the mean and variance in order to determine abnormal power consumption. Figure 7A shows the distribution 700a of power usage or load (wattage) 702a for historic on-periods. Figure 7B shows the distribution 700b of power usage or load (wattage) 702b for historic off-periods. Figure 7C shows the distribution 700c of on-period time duration (hours) 702c for historic on-periods. Figure 7D shows the distribution 700d of off period time duration (hours) 702d for historic off-periods.
[0130] At step S516c, the mean and variance of each of X_TON, X_AmpoN, X_TOFF and X_AmpoFF can be determined across the data subsets.
[0131] At step S516d, the average historic on-period time (X_TON) and the average historic on- period time variance can be output.
[0132] At step S516e, the average historic on-period power usage level (X_AmpoN) and the average historic on-period power usage level variance can be output.
[0133] At step S516f, the average historic off-period time (X_TOFF) and the average historic off- period time variance can be output.
[0134] At step S516g, average historic off-period power usage level (X_AmpoFF) and the average historic off-period power usage level variance can be output.
[0135] That is, determining the historic power usage parameters of the entity based upon the one or more data subsets of the historic power usage data can comprise determining, based on the on-period and an off-period in each data subset, at least one of an average historic on-period time, average historic on-period power usage level, an average historic off-period time, and an average historic off-period power usage level. Determining the historic power usage parameters can also comprise determining, based on the one or more data subsets, at least one of an average historic on-period time variance, and average historic on-period power usage level variance, an average historic off-period time variance, and an average historic off-period power usage level variance.
[0136] The variance can be one or more (n, where n is a predetermined integer greater than or equal to 1) standard deviations (o) of the average (p), thereby defining a range of values for each of the average historic on-period time, the average historic on-period power usage level, the average historic off-period time, and the average historic off-period power usage level. For each of the parameters, this range can be represented as p ± no.
[0137] The process then progresses to step S518. At step S518, the storage controller 424 of the controller 402 stores the one or more historic power usage parameters as one or more trained power usage parameters in a trained parameter datastore 406.
[0138] That is, the average historic on-period time (X_TON) and variance, the average historic on-period power usage level (X_AmpoN) and variance, the average historic off-period time (X_TOFF) and variance, and the average historic off-period power usage level (X_AmpoFF) and variance can be stored as the trained parameters in the trained parameter datastore 406.
[0139] The process then proceeds to step S520 where the training phase ends.
[0140] The apparatus can be trained or retrained for different power usage load patterns, and is therefore adaptive to different loading patterns for example due to changes in operational hours.
[0141] The trained abnormal power consumption detection apparatus 400 can then be used in the testing phase. The testing phase, in which the abnormal power consumption detection apparatus 400 monitors power usage of an entity upon which the abnormal power consumption detection apparatus 400 is to be applied to detect and diagnose abnormalities in power usage, is described with reference to Figures 8A, 8B and 8C.
[0142] Turning to Figure 8A, at step S802 the testing phase begins. The controller 402 of the abnormal power consumption detection apparatus 400 acquires power usage data measured using one or more power measurement circuits, for the entity upon which the abnormal power consumption detection apparatus 400 is implemented. In some examples the power usage data can be stored in a power usage datastore 408, and the controller 402 can retrieve it from said datastore; prior to storing the power usage data, the abnormal power consumption detection apparatus 400 can measure the power consumption using one or more measurement circuits of the abnormal power consumption detection apparatus 400 at the entity. In other examples, the power usage data can be live data from the entity upon which the abnormal power consumption detection apparatus is implemented, and measured using the one or more measurement circuits of the abnormal power consumption detection apparatus 400 at the entity. The power usage data comprises power usage data as a function of time for one or more on- periods and one or more off-periods of the entity. As in the training phase, an on-period corresponds to an operational state of the entity and an off-period corresponds to a reduced power usage state of the entity. The power usage data in the testing phase, described subsequently with respect to Figures 8A-8C, can be considered as testing power usage data (rather than the historic power usage data of Figures 5A-5B) as it is the power usage data used when testing for abnormalities. Hereinafter, regarding Figures 8A-8C, this testing power usage data is referred to as power usage data.
[0143] As discussed, the power usage data can be ‘live’ power usage data measured by the one or more power measurement circuits at the entity in real-time measurements or near to real-time measurements at the entity. In other examples, the power usage data can pre-stored, rather than being live, for the testing phase.
[0144] In some examples, the process proceeds from step S802 to S804. At step S804, after acquiring the power usage data, but prior to determining whether the power usage data is indicative of abnormal power consumption, the pre-processing module 412 can pre- process the power usage data to determine pre-processed power usage data. That is, the power usage data can be fed into the pre-processing module 412. In this case, determining whether the power usage data is indicative of abnormal power consumption comprises using the pre-processed power usage data as the power usage data.
[0145] In other examples, the pre-processing stage (S804) is not included and the process progresses directly from step S802 to step S806 when the power usage data is acquired. That is, the power usage data can be fed into the correlation module 416 rather than the pre-processing module 412. In such a case, the subsequent steps are performed on power usage data that is not pre-processed.
[0146] Hereinafter, the power usage data is referred to as power usage data regardless of whether it is pre-processed. The skilled person will understand that for the subsequent steps, the historic power usage data is the pre-processed historic power usage data when step S804 is included, and the historic power usage data is non-pre-processed historic power usage data when step S804 is not included.
[0147] Returning to step S804, the pre-processing comprises on or more of removing gaps corresponding to missing data at S804a, removing outliers below a lower limit threshold and / or removing outliers above an upper limit threshold at 8504b, to obtain pre- processed clean data at step S804c. This is carried out in a corresponding manner to that described for step S504 of the training phase, but with the power usage data rather than the historic power usage data; for brevity, the detail is not repeated here.
[0148] The process continues to step S806 where the testing begins. At step S806, the correlation module 416 correlates the power usage data based on a predetermined pulse width corresponding to a length of time of an on-period to determine a dataset of one or more peaks.
[0149] Correlating the power usage data can comprise generating a unit pulse having the predetermined pulse width, at step S806a. This unit pulse can be generated based upon the pulse width or width of the correlation window as determined in the training phase at step S506a to S506e; that is, the pulse width of the unit pulse used in the testing phase is the same as that determined in the training phase. For example, the abnormal power consumption detection apparatus 400 may store this pulse width determined during the training phase as the predetermined pulse width, in a datastore (such as the intermediate datastore 404a), and then retrieve this during testing phase. The unit pulse for the correlation in the testing phase can then use the pulse width determined in the training phase. Alternatively, the unit pulse itself used in the training phase can be stored in the datastore during the training phase, and retrieved for the testing phase.
[0150] At step S806b, the correlation module 416 can correlate the power usage data by applying a rolling window with the generated unit pulse to the power usage data. The rolling window has the on-period pulse width. Through this correlation, a correlated power usage dataset is determined having one or more peaks at step S806c. The correlation is carried out in a corresponding manner to that described for step S508 of the training phase, but with the power usage data rather than the historic power usage data; for brevity, the detail is not repeated here.
[0151] The process then proceeds to step S808.
[0152] At step S808, the peak detection module 418 of the controller 402 can detect one or more peaks in the correlated power usage data determined at step S806. The peak detection can comprise determining peak height and peak position at step S806a, the distance between peaks can be determined at step S806b. Timestamps of the peaks can also be determined. The determined peak data can then be output at step S806c, for use as an input at step S810.
[0153] The process then progresses to step S810 (see Figure 8B).
[0154] At step S810, the sub-setting module 420 of the controller 402 subsets the power usage data based on one or more detected peaks in the dataset of one or more peaks to determine a data subset of the power usage data corresponding to each detected peak. At step S810a, the power usage data corresponding to the time period between each peak in the correlated data is extracted as a subset of the power usage data. In other words, each data subset of the power usage data comprises power usage data corresponding to a cycle having an off-period and an on-period.
[0155] The process then progresses to step S812.
[0156] At step S812, the power usage parameter determination module 422 of the controller 402 determines one or more power usage parameters of the entity based upon the one or more data subsets of the power usage data.
[0157] Determining the one or more power usage parameters can comprise determining at least one of an average on-period time, an average on-period power usage level, an average off-period time, and an average off-period power usage level.
[0158] At step S812a, for each subset, the data can be normalised using the maximum power usage value of the subset.
[0159] At step S812b, the normalised data above a predetermined threshold can be determined. This threshold can be specific to the particular system in which the methodology is being applied, and can be adjusted based on the system accordingly. That is, the threshold can be a predefined value as per the system.
[0160] At step S812c, the original power usage data corresponding to the normalised data above the threshold can be determined (Y_sel).
[0161] At step S812d, a histogram of Y_sel can be generated, and the amplitude of the largest bin can be selected (Y_sel_max).
[0162] At step S812e, upper and lower limits of the amplitude of the largest bin can be determined as Y_sel_max ± delta. The delta value can be considered as a buffer for use in the next step of filtration, and is kept to ensure that the data at the boundary levels are not left out during the next step of filtration. Delta can represent a value obtained from experimentation and can vary as per user discretion.
[0163] At step S812f, the original power usage data can be filtered based on the upper and lower limits to obtain an ‘on’ signal (YON) which corresponds to the power usage data during operational hours. 1 At step S812g, the width and amplitude of YON can be determined to obtain the average ‘on’ time period (Y_TON) and the average ‘on’ power usage level or amplitude (Y_AmpoN). At steps S812h and S812i, Y_TON and Y_AmpoN can respectively be output to step S814.
[0164] At step S812j, the ‘off’ signal (YOFF) which corresponds to the power usage data during non-operational hours can be estimated by removing the YON signal from the original data.
[0165] Then, the width and amplitude of YOFF can be determined to obtain the average ‘off’ time period (Y_TOFF) and the average ‘off’ power usage level or amplitude (Y_AmpoFF). At steps S812k and S812I, Y_TOFF and Y_AmpoFF can respectively be output to step S814.
[0166] As such, at steps S812h, S812i, S812k and S812I, four features (Y_TON, Y_AmpoN, Y_TOFF and Y_AmpoFF) can be obtained which are derived from the load input where two features correspond to the operational hours and two features correspond to the after hours.
[0167] In other words, Y_TON, Y_AmpoN, Y_TOFF and Y_AmpoFF are parameters of the testing power usage data that respectively correspond to the X_TON, X_AmpoN, X_TOFF and X_AmpoFF parameters of the historic power usage data.
[0168] The process then progresses to step S814.
[0169] At step S814, the controller 402 can retrieve (e.g., using the storage controller 424) the one or more corresponding trained power usage parameters of the entity upon which the abnormal power consumption detection apparatus 400 is implemented from the trained parameter datastore 406.
[0170] For example, these trained parameters can be the mean and variance of X_TON, X_AmpoN, X_TOFF and X_AmpoFF stored at step S518, and corresponding to Y_TON, Y_AmpON, Y_TOFF and Y_AmpOFF.
[0171] Then, the abnormal power usage determination module 426 compares the one or more power usage parameters to the one or more trained power usage parameters and determines whether the power usage data is indicative of abnormal power usage based upon the comparison.
[0172] In particular, the abnormal power usage determination module 426 determines that the power usage data is indicative of abnormal power usage when at least one power usage parameter does not fall within an allowable range of a corresponding trained power usage parameter.
[0173] In more detail, at step 814a, the abnormal power usage determination module 426 loads the trained parameters (i.e., the mean p and variance no of each of X_TON, X_AmpoN, X_TOFF and X_AmpoFF) from the trained parameter data store.
[0174] At step 814b, the abnormal power usage determination module 426 can determine the allowable range of each of the trained parameters (i.e., on-period time X_TON, on-period power usage X_AmpoN, off-period time X_TOFF and off-period power usage X_AmpoFF) based upon their respective mean and variance values, as follows:
[0175] Allowable on-period time range = ([Average historic on-period time] - [Average historic on-period time variance]) to ([Average historic on-period time] + [Average historic on-period time variance])
[0176] Allowable on-period power usage level range = ([Average historic on-period power usage level] - [Average historic on-period power usage level variance]) to ([Average historic on-period power usage level] + [Average historic on-period power usage level variance])
[0177] Allowable off-period time range = ([Average historic off-period time] - [Average historic off-period time variance]) to ([Average historic off-period time] + [Average historic off-period time variance])
[0178] Allowable off-period power usage level range = ([Average historic off-period power usage level] - [Average historic off-period power usage level variance]) to ([Average historic off-period power usage level] + [Average historic off-period power usage level variance])
[0179] Alternatively, these ranges can be determined and stored during the training phase, and retrieved during the testing phase.
[0180] At step S814c, the abnormal power usage determination module 426 can determine whether each of the power usage parameters falls within the allowable range of the corresponding trained power usage parameters. When each of the power usage parameters falls within the allowable range of the corresponding trained power usage parameters, it is determined that there is no abnormal power consumption. However, when at least one of the power usage parameters does not fall within the allowable range of the corresponding trained power usage parameters, it is determined that there is abnormal power consumption.
[0181] In a specific example, determining that the power usage data is indicative of abnormal power usage when at least one power usage parameter does not fall within an allowable range of a corresponding trained power usage parameter can comprise determining at least one of:
[0182] • The average on-period time falls outside of an average historic on-period time variance of an average historic on-period time;
[0183] • The average on-period power usage level falls outside of an average historic on- period power usage level variance of an average historic on-period power usage level;
[0184] • The average off-period time falls outside of an average historic off-period time variance of an average historic off-period time; or
[0185] • The average off-period power usage level falls outside of an average historic off- period power usage level variance of an average historic off-period power usage level.
[0186] This is described in more detail for the example of the power usage parameters being on-period time, on-period power usage level, off-period time and off-period power usage level in steps S814d, S814e, S814f and S814g (see Figure 8C).
[0187] At step S814d, the abnormal power usage level determination module 426 can determine whether the on-period power usage parameter (Y_AmpoN) determined from the power usage data falls within the allowable range of the historic on-period power usage level parameter (X_AmpoN) determined in the training phase with the historic power usage data.
[0188] When it is determined that that the on-period power usage level parameter (Y_AmpoN) falls within the allowable range of the historic on-period power usage level parameter (X_AmpoN), the abnormal power usage determination module 426 determines that the on-period power usage level parameter (Y_AmpoN) is allowable. An on-period power usage level parameter flag can then be set to ‘TRUE’.
[0189] When it is determined that that the on-period power usage level parameter (Y_AmpoN) does not fall within the allowable range of the historic on-period power usage level parameter (X_AmpoN), the abnormal power usage determination module 426 determines that the on-period power usage level parameter (Y_AmpoN) is not allowable. An on- period power usage level parameter flag can then be set to ‘FALSE’.
[0190] At step S814e, the abnormal power usage determination module 426 can determine whether the on-period time parameter (Y_TON) determined from the power usage data falls within the allowable range of the historic on-period time parameter (X_TON) determined in the training phase with the historic power usage data.
[0191] When it is determined that that the on-period time parameter (Y_TON) falls within the allowable range of the historic on-period time parameter (X_TON), the abnormal power usage determination module 426 determines that the on-period time parameter (Y_TON) is allowable. An on-period time parameter flag can then be set to ‘TRUE’.
[0192] When it is determined that that the on-period time parameter (Y_TON) does not fall within the allowable range of the historic on-period time parameter (X_TON), the abnormal power usage determination module 426 determines that the on-period time parameter (Y_TON) is not allowable. The on-period time parameter flag can then be set to ‘FALSE’.
[0193] At step S814f, the abnormal power usage level determination module 426 can determine whether the off-period power usage parameter (Y_AmpoFr) determined from the power usage data falls within the allowable range of the historic off-period power usage level parameter (X_AmpoFF) determined in the training phase with the historic power usage data.
[0194] When it is determined that that the off-period power usage level parameter (Y_AmpoFF) falls within the allowable range of the historic off-period power usage level parameter (X_AmpoFF), the abnormal power usage determination module 426 determines that the off-period power usage level parameter (Y_AmpoFF) is allowable. An off-period power usage level parameter flag can then be set to ‘TRUE’.
[0195] When it is determined that that the off-period power usage level parameter (Y_AmpoFF) does not fall within the allowable range of the historic off-period power usage level parameter (X_AmpoFF), the abnormal power usage determination module 426 determines that the off-period power usage level parameter (Y_AmpoFF) is not allowable. An off-period power usage level parameter flag can then be set to ‘FALSE’.
[0196] At step S814g, the abnormal power usage determination module 426 can determine whether the off-period time parameter (Y_TOFF) determined from the power usage data falls within the allowable range of the historic off-period time parameter (X_TOFF) determined in the training phase with the historic power usage data.
[0197] When it is determined that that the off-period time parameter (Y_TOFF) falls within the allowable range of the historic off-period time parameter (X_TOFF), the abnormal power usage determination module 426 determines that the off-period time parameter (Y_TOFF) is allowable. An off-period time parameter flag can then be set to ‘TRUE’.
[0198] When it is determined that that the off-period time parameter (Y_TOFF) does not fall within the allowable range of the historic off-period time parameter (X_TOFF), the abnormal power usage determination module 426 determines that the off-period time parameter (Y_TOFF) is not allowable. The off-period time parameter flag can then be set to ‘FALSE’.
[0199] Following the determination of whether each of the power usage parameters falls within the allowable range of the corresponding trained power usage parameters at step S814c (or more specifically S814d, S814e, S814f, S814g), the process continues to step S814h.
[0200] At step S814h, the abnormal power usage determination module 426 can determine whether one or more of the power usage parameters falls outside of the corresponding allowable range of each of the corresponding trained power usage parameters.
[0201] When the abnormal power usage determination module 426 determines that none of the power usage parameters fall outside of the corresponding allowable range of the trained power usage parameters, the process continues to step S814i.
[0202] At step S814i, the abnormal power usage determination module 426 determines that there is no abnormal power usage. That is, the power consumption is as expected. In this case, the abnormal power consumption detection apparatus 400 may record in a datastore that the power consumption is as expected and there are no abnormalities in power usage for the period of time tested. The process then continues to step S816, where it ends.
[0203] When the abnormal power usage determination module 426 determines that at least one of the power usage parameters falls outside of the corresponding allowable range of the trained power usage parameters, the process continues to step S814j.
[0204] At step S814j, the abnormal power usage determination module 426 determines that there is abnormal power usage. That is, the power consumption is not as expected. In this case, the controller 402 can perform a further action. The further action can comprise triggering an alert. This alert may be a visual or audible indicator output by, for example, a screen, light source or speaker of the abnormal power consumption detection apparatus 400, or a computer system running the abnormal power consumption detection apparatus 400. The alert is configured to communicate to an operator that there is an abnormal power usage.
[0205] Additionally or alternatively, the further action can also comprise triggering a diagnosis system configured to identify the cause of the abnormal power consumption determination. This can involve forwarding the result to an explainability engine 410 that is configured to diagnose the cause of the abnormal power consumption based upon which of the one or more power usage parameters did not fall within the allowable range of the corresponding trained power usage parameters.
[0206] Returning to step S814h, for the example in which the power usage parameters are on- period power usage level, on-period time, off-period power usage level and off-period time, the abnormal power usage determination module 426 can check whether the on- period power usage level parameter flag, on-period time parameter flag, off-period power usage level parameter flag or off-period time parameter flag are set to TRUE or FALSE. When all of these flags are set to TRUE, the process continues to step S814i. When one of more of these flags are set to FALSE, the process continues to steps S841j.
[0207] As discussed above, when abnormal power consumption is detected, the process can progress from step S814j to S902 such that the explainability engine 410 can determine the cause of the abnormal power consumption.
[0208] At step S902, the explainability engine 410 receives the flag values of each of the power usage parameters, i.e., the on-period power usage level parameter flag, on-period time parameter flag, off-period power usage level parameter flag and off-period time parameter flag.
[0209] The explainability engine 410 filters the flags for any that are set to FALSE.
[0210] The process then progresses from step S902 to each of steps S902a, S902b, S902c and S902d.
[0211] At step S902a, the explainability engine 410 determines whether the on-period power usage level parameter flag is set to FALSE. When the explainability engine 410 positively determines that this flag is set to FALSE, the process continues to step S902e. At step S902e, the explainability engine 410 determines that an abnormal power usage load has been detected during operational hours. When the on-period power usage level parameter flag is set to TRUE, the explainability engine 410 determines that an abnormal power usage has not been detected during operational hours.
[0212] At step S902b, the explainability engine 410 determines whether the on-period time parameter flag is set to FALSE. When the explainability engine 410 positively determines that this flag is set to FALSE, the process continues to step S902f. At step S902f, the explainability engine 410 determines that an abnormal power usage activity (i.e., an abnormal power usage time) has been detected during operational hours. When the on-period time parameter flag is set to TRUE, the explainability engine 410 determines that an abnormal power usage activity has not been detected during operational hours.
[0213] At step S902c, the explainability engine 410 determines whether the off-period power usage level parameter flag is set to FALSE. When the explainability engine 410 positively determines that this flag is set to FALSE, the process continues to step S902g. At step S902g, the explainability engine 410 determines that an abnormal power usage load has been detected during non-operational hours. When the off-period power usage level parameter flag is set to TRUE, the explainability engine 410 determines that an abnormal power usage has not been detected during non-operational hours.
[0214] At step S902d, the explainability engine 410 determines whether the off-period time parameter flag is set to FALSE. When the explainability engine 410 positively determines that this flag is set to FALSE, the process continues to step S902h. At step S902h, the explainability engine 410 determines that an abnormal power usage activity has been detected during non-operational hours. When the off-period time parameter flag is set to TRUE, the explainability engine 410 determines that an abnormal power usage activity has not been detected during non-operational hours.
[0215] The explainability engine 410 can generate a communication, such as a message or notification, to be presented to an operator to communicate the cause of the abnormal power consumption determination, based upon the combination of flags that are FALSE (i.e., which power usage parameters did not fall within the allowable range of the corresponding trained power usage parameters).
[0216] For example, if the on-period power usage level parameter flag and the on-period time parameter flag are both set to FALSE, the communication indicates that there is an abnormal power load and activity during operational hours. In another example, if the off-period power usage level parameter flag and the off-period time parameter flag are both set to FALSE, the communication indicates that there is an abnormal load and activity during non-operational hours.
[0217] The process then continues to step S816, where it ends.
[0218] The explainability engine 410 is a condition-based classifier for root cause identification which helps in recognising the exact reasons for abnormal power consumption. This is an improvement on the state-of-the-art, in which only the proper working of after-hours setback implementation is ascertained.
[0219] The skilled person will readily understand that the process described with reference to Figures 5A and 5B can be combined with the process described with reference to Figures 8A, 8B and 8C to form a single overall process comprising the training phase (Figures 5A and 5B) and the testing phase (Figures 8A, 8B and 8C) flowing from the training phase.
[0220] The controller 402 and modules described herein may be realised as one or more processors such as a central processing unit in a computer system, or as one or more microprocessor units. The controller 402 and modules may be dedicated hardware, or brought about by executing software stored on a medium such as a hard disk or semiconductor memory.
[0221] In some examples, the methodology herein may be stored as instructions on a non- transitory computer-readable medium. Said instructions may be performed by one or more processors of an abnormal power consumption detection apparatus 400. This may be implemented on a computer, for example. A computer-readable medium can include non-volatile media and volatile media. Volatile media can include semiconductor memories and dynamic memories, amongst others. Non-volatile media can include optical disks and magnetic disks, amongst others.
[0222] Figure 9 depicts a high-level block diagram of an apparatus 900 suitable for implementing various aspects of the disclosure. Although illustrated in a single block, in other embodiments the apparatus 900 may also be implemented using parallel and distributed architectures. Thus, for example, various steps such as those illustrated in the methods described above by reference to Figures 5A, 5B, 8A, 8B, 8c may be executed using apparatus 900 sequentially, in parallel, or in a different order based on particular implementations. The abnormal power consumption detection apparatus can be implemented in the form of apparatus 900. According to an exemplary embodiment, depicted in Figure 9, apparatus 900 comprises a printed circuit board 901 on which a communication bus 902 connects a processor 903 (e.g., a central processing unit "CPU"), a random access memory 904, a storage medium 911 , possibly an interface 905 for connecting a display 906, a series of connectors 907 for connecting user interface devices or modules such as a mouse or trackpad 908 and a keyboard 909, a wireless network interface 910 and / or a wired network interface 912. Depending on the functionality required, the apparatus may implement only part of the above. Certain modules of Figure 9 may be internal or connected externally, in which case they do not necessarily form integral part of the apparatus itself. E.g. display 906 may be a display that is connected to the apparatus only under specific circumstances, or the apparatus may be controlled through another device with a display, i.e. no specific display 906 and interface 905 are required for such an apparatus. Memory 911 contains software code which, when executed by processor 903, causes the apparatus to perform the methods described herein. In an exemplary embodiment, a detachable storage medium 913 such as a USB stick may also be connected. For example the detachable storage medium 913 can hold the software code to be uploaded to memory 911.
[0223] The processor 903 may be any type of processor such as a general purpose central processing unit ("CPU") or a dedicated microprocessor such as an embedded microcontroller or a digital signal processor ("DSP").
[0224] In addition, apparatus 900 may also include other components typically found in computing systems, such as an operating system, queue managers, device drivers, or one or more network protocols that are stored in memory 911 and executed by the processor 903.
[0225] Although aspects herein have been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present disclosure. It is therefore to be understood that numerous modifications can be made to the illustrative embodiments and that other arrangements can be devised without departing from the spirit and scope of the disclosure as determined based upon the claims and any equivalents thereof.
[0226] For example, the data disclosed herein may be stored in various types of data structures which may be accessed and manipulated by a programmable processor (e.g., CPU or FPGA) that is implemented using software, hardware, or combination thereof. It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the disclosure. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, and the like represent various processes which may be substantially implemented by circuitry.
[0227] Each described function, engine, block, step can be implemented in hardware, software, firmware, middleware, microcode, or any suitable combination thereof. If implemented in software, the functions, engines, blocks of the block diagrams and / or flowchart illustrations can be implemented by computer program instructions I software code, which may be stored or transmitted over a computer-readable medium, or loaded onto a general purpose computer, special purpose computer or other programmable processing apparatus and I or system to produce a machine, such that the computer program instructions or software code which execute on the computer or other programmable processing apparatus, create the means for implementing the functions described herein.
[0228] In the present description, block denoted as "means configured to perform ..." (a certain function) shall be understood as functional blocks comprising circuitry that is adapted for performing or configured to perform a certain function. A means being configured to perform a certain function does, hence, not imply that such means necessarily is performing said function (at a given time instant). Moreover, any entity described herein as "means", may correspond to or be implemented as "one or more modules", "one or more devices", "one or more units", etc. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term "processor" or "controller" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional or custom, may also be included. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
Claims
Claims1. An abnormal power consumption detection method, the method executed by an abnormal power consumption detection apparatus, the method comprising: acquiring, by a controller, power usage data measured using one or more power measurements circuits, for an entity upon which the abnormal power consumption detection apparatus is implemented, the power usage data comprising power usage data as a function of time for one or more on-periods and one or more off-periods of the entity, wherein an on-period corresponds to an operational state of the entity and an off-period corresponds to a reduced power usage state of the entity; determining, by the controller, whether the power usage data is indicative of abnormal power consumption by: correlating, by a correlation module, the power usage data based on a predetermined pulse width corresponding to a length of time of an on-period to determine a dataset of one or more peaks; sub-setting, by a sub-setting module, the power usage data based on one or more detected peaks in the dataset of one or more peaks to determine a data subset of the power usage data corresponding to each detected peak; determining, by a power usage parameter determination module, one or more power usage parameters of the entity based upon the one or more data subsets of the power usage data; retrieving, from a trained parameter datastore accessible by the abnormal power consumption detection apparatus, one or more corresponding trained power usage parameters the entity upon which the abnormal power consumption detection apparatus is implemented; comparing, by an abnormal power usage determination module, the one or more power usage parameters to the one or more trained power usage parameters to determine whether the power usage data is indicative of abnormal power usage based upon the comparison; performing, by the controller, a further action when it is determined that the power usage data is indicative of abnormal power usage.
2. The method of claim 1 , further comprising: prior to determining whether the power usage data is indicative of abnormal power consumption:pre-processing, by a pre-processing module, the power usage data to determine pre-processed power usage data such that determining whether the power usage data is indicative of abnormal power consumption comprises using the pre-processed power usage data as the power usage data; and wherein the pre-processing comprises one or more of: removing gaps corresponding to missing data; removing outliers below a lower limit threshold; and removing outliers above an upper limit threshold.
3. The method of any preceding claim, wherein correlating the power usage data based on a predetermined pulse width corresponding to a length of time of an on-period to determine a dataset of one or more peaks comprises: correlating the power usage data by applying a rolling window with the generated unit pulse to the power usage data, wherein the rolling window has the on-period pulse width, to determine one or more peaks in the power usage data.
4. The method of any preceding claim, wherein determining the one or more power usage parameters of the entity based upon the one or more data subsets of the power usage data comprises: determining at least one of an average on-period time, and average on- period power usage level, an average off-period time, and an average off-period power usage level.
5. The method of any preceding claim, wherein the further action comprises triggering an alert to an operator.
6. The method of any preceding claim, wherein the further action comprises triggering a diagnosis system configured to identify the cause of the abnormal power consumption determination.
7. An abnormal power consumption detection apparatus comprising: a controller configured to acquire power usage data measured using one or more power measurements circuits, for an entity upon which the abnormal power consumption detection apparatus is implemented, the power usage data comprising power usage data as a function of time for one or more on-periodsand one or more off-periods of the entity, wherein an on-period corresponds to an operational state of the entity and an off-period corresponds to a reduced power usage state of the entity; the controller further configured to determine whether the power usage data is indicative of abnormal power consumption, wherein: a correlation module of the controller is configured to correlate the power usage data based on a predetermined pulse width corresponding to a length of time of an on-period to determine a dataset of one or more peaks; a sub-setting module of the controller is configured to subset the power usage data based on one or more detected peaks in the dataset of one or more peaks to determine a data subset of the power usage data corresponding to each detected peak; a power usage parameter determination module of the controller is configured to determine one or more power usage parameters of the entity based upon the one or more data subsets of the power usage data; the controller is configured to retrieve from a trained parameter datastore accessible by the abnormal power consumption detection apparatus, one or more corresponding trained power usage parameters the entity upon which the abnormal power consumption detection apparatus is implemented; an abnormal power usage determination module of the controller is configured to compare the one or more power usage parameters to the one or more trained power usage parameters to determine whether the power usage data is indicative of abnormal power usage based upon the comparison; and the controller is further configured to perform a further action when it is determined that the power usage data is indicative of abnormal power usage.
8. A method of training an abnormal power consumption detection apparatus, the method comprising: retrieving, at a controller, historic power usage data from a datastore, the historic power usage data being of an entity upon which the abnormal power consumption detection apparatus is to be implemented, and the historic power usage data comprising power usage data as a function of time for one or more on-periods and one or more off-periods of the entity, wherein an on-period corresponds to an operational state of the entity and an off-period corresponds to a reduced power usage state of the entity; andtraining, by the controller, the abnormal power consumption detection apparatus using the historic power usage data, by: determining, by a pulse width determining module, an on-period pulse width corresponding to a length of time of an on-period in the historic power usage data; correlating, by a correlation module, the historic power usage data based on the on-period pulse width to determine a dataset of one or more peaks; sub-setting, by a sub-setting module, the historic power usage data based on one or more detected peaks in the dataset of one or more peaks to determine a data subset of the historic power usage data corresponding to each detected peak; determining, by a power usage parameter determination module, one or more historic power usage parameters of the entity based upon the one or more data subsets of the historic power usage data; and storing, by a storage controller, the one or more historic power usage parameters as one or more trained power usage parameters in a trained parameter datastore.
9. The method of claim 8, further comprising: prior to retrieving the historic power usage data from the datastore: measuring power usage data as a function of time, using one or more power measurements circuits, for the entity upon which the abnormal power consumption detection apparatus is to be implemented; and storing the measured power data as the historic data in the datastore.
10. The method of claim 8 or claim 9, further comprising: prior to training the abnormal power consumption detection apparatus: pre-processing, by a pre-processing module, the historic power usage data to determine pre-processed historic power usage data such that training the abnormal power consumption detection apparatus comprises using the pre- processed historic power usage data as the historic power usage data; and wherein the pre-processing comprises one or more of: removing gaps corresponding to missing data; removing outliers below a lower limit threshold; and removing outliers above an upper limit threshold.
11. The method of any one of claims 8 to 10, wherein determining the on-period pulse width corresponding to a length of time of an on-period in the historic power usage data comprises: determining an average power level in the historic power usage data; labelling periods of the historic power usage data having a power level above the average power level as on-period data; and determining a pulse width of the on-period data as the on-period pulse width.
12. The method of any one of claims 8 to 11 , wherein correlating the historic power usage data using the on-period pulse width to determine a dataset of one or more peaks comprises: correlating the historic power usage data by applying a rolling window with the generated unit pulse to the historic power usage data, wherein the rolling window has the on-period pulse width, to determine one or more peaks in the historic power usage data.
13. The method of any one of claims 8 to 12, wherein determining historic power usage parameters of the entity based upon the one or more data subsets of the historic power usage data comprises: determining at least one of an average historic on-period time, and average historic on-period power usage level, an average historic off-period time, and an average historic off-period power usage level; and determining, based on the one or more data subsets, at least one of an average historic on-period time variance, and average historic on-period power usage level variance, an average historic off-period time variance, and an average historic off-period power usage level variance.
14. An abnormal power consumption detection apparatus comprising: a controller configured to retrieve historic power usage data from a datastore, the historic power usage data being of an entity upon which the abnormal power consumption detection apparatus is to be implemented, and the historic power usage data comprising power usage data as a function of time for one or more on-periods and one or more off-periods of the entity, wherein an on-period corresponds to an operational state of the entity and an off-period corresponds to a reduced power usage state of the entity; the controller further to configured to train the abnormal power consumption detection apparatus using the historic power usage data, wherein: a pulse width determining module of the controller is configured to determine an on-period pulse width corresponding to a length of time of an on- period in the historic power usage data; a correlation module of the controller is configured to correlate the historic power usage data based on the on-period pulse width to determine a dataset of one or more peaks; a sub-setting module of the controller is configured to subset the historic power usage data based on one or more detected peaks in the dataset of one or more peaks to determine a data subset of the historic power usage data corresponding to each detected peak; a power usage parameter determination module of the controller is configured to determine one or more historic power usage parameters of the entity based upon the one or more data subsets of the historic power usage data; and a storage controller of the controller is configured to store the one or more historic power usage parameters as one or more trained power usage parameters in a trained parameter datastore.
15. A non-transitory computer-readable medium storing instructions that when executed by one or more processors of an abnormal power consumption detection apparatus causes the one or more processors to perform the method of any one of claims 1 to 6 and / or any one of claims 8 to 13.
Citation Information
Patent Citations
Method of intelligent data analysis to detect abnormal use of utilities in buildings
US20030028350A1
Method of utility usage analysis
US20190004098A1
Electrical parameter monitoring
US20230121793A1
Automated fault detection and diagnostics in a building management system
US8731724B2