Non-intrusive Load Monitoring Using Ensemble Machine Learning Techniques
Ensemble machine learning models in NILM systems address the challenge of predicting household device energy usage by utilizing labeled data and energy data from non-target devices, achieving precise energy usage forecasts for appliances and vehicles.
Patent Information
- Application Number
- JP2021555327
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-11-27
- Filing Date
- 2020-09-17
- Publication Date
- 2025-01-30
- Estimated Expiration
- 2040-09-17
AI Technical Summary
Non-invasive load monitoring (NILM) and disaggregation of energy use devices within households are challenging due to diversity in equipment and limited labeled datasets, making it difficult to accurately predict energy usage of specific devices from overall household energy consumption.
A system and method using ensemble machine learning technology, comprising multiple trained machine learning models, including neural networks, to predict energy usage of target devices by analyzing overall household energy data, leveraging labeled data from various source positions and incorporating energy usage from non-target devices to enhance accuracy.
Accurately predicts energy usage of target devices like large appliances and electric vehicles with high granularity, improving energy management and efficiency by enhancing the accuracy of NILM systems.
Smart Images

Figure 0007624399000007 
Figure 0007624399000008 
Figure 0007624399000009
Abstract
Description
[Technical field]
[0001] Field TECHNICAL FIELD Embodiments of the present disclosure relate generally to utility metering devices, and more particularly to non-intrusive load monitoring using utility metering devices. [Background technology]
[0002] background Non-intrusive load monitoring ("NILM") and disaggregation of various energy-using devices at a particular source location has proven to be very challenging. For example, disaggregating the energy usage of a household's devices and / or electric vehicles from the overall monitored household energy usage has been difficult due in part to the diversity (e.g., make, model, year, etc.) of the household's devices and / or electric vehicles. Advances in metering devices have provided some opportunities, but disaggregation remains difficult to achieve successfully. Limited availability of labeled datasets or source location energy usage values that include labeled device energy usage values (e.g., household energy usage values labeled with energy usage values for appliance 1, electric vehicle 1, appliance 2, etc.) has further hindered progress. Therefore, NILM and disaggregation techniques that can learn from these limited data sets and successfully predict the energy usage of a target device from the overall energy usage of a source location would significantly improve this field and benefit users who implement these technologies. Summary of the Invention [Means for solving the problem]
[0003] overview The embodiments of the present disclosure are generally directed to a system and method for non-intrusive load monitoring using ensemble machine learning techniques. A first trained machine learning model configured to disaggregate target device energy usage from source potential energy usage can be stored, the first trained machine learning model being trained to predict total target device energy usage from the source potential energy usage. A second trained machine learning model configured to detect device energy usage from the source potential energy usage can be stored, the second trained machine learning model being trained to predict when the target device used energy from the source potential energy usage. A source potential energy usage over a period of time can be received, the source potential energy usage including the energy consumed by the target device. The first trained machine learning model and the second trained machine learning model can be used to predict total disaggregated target device energy usage over the period of time based on the received source potential energy usage.
[0004] Features and advantages of the embodiments will be set forth in the description that follows, or will be obvious from the description, or may be learned by the practice of the disclosure.
[0005] Further embodiments, details, advantages and modifications will become apparent from the following detailed description of the preferred embodiments, considered in conjunction with the accompanying drawings. [Brief description of the drawings]
[0006] [Figure 1] FIG. 1 illustrates a system for disaggregating energy usage associated with target devices according to an example embodiment. [Diagram 2] FIG. 1 illustrates a block diagram of a computing device operatively coupled to a system according to an example embodiment. [Diagram 3]FIG. 1 illustrates a flow diagram for disaggregating energy usage associated with target devices using machine learning models according to an example embodiment. [Figure 4A] FIG. 1 illustrates a sample convolutional neural network according to an example embodiment. [Figure 4B] FIG. 1 illustrates a sample convolutional neural network according to an example embodiment. [Figure 5A] FIG. 13 illustrates a sample graph depicting device specific disaggregation according to an example embodiment. [Figure 5B] FIG. 13 illustrates a sample graph depicting device specific disaggregation according to an example embodiment. [Figure 5C] FIG. 13 illustrates a sample graph depicting device specific disaggregation according to an example embodiment. [Figure 5D] FIG. 13 illustrates a sample graph depicting device specific disaggregation according to an example embodiment. [Figure 5E] FIG. 13 illustrates a sample graph depicting device specific disaggregation according to an example embodiment. [Figure 5F] FIG. 13 illustrates a sample graph depicting device specific disaggregation according to an example embodiment. [Figure 5G] FIG. 13 illustrates a sample graph depicting device specific disaggregation according to an example embodiment. [Figure 6] FIG. 1 illustrates a flow diagram for disaggregating energy usage associated with target devices using multiple machine learning models according to an example embodiment. [Figure 7] FIG. 1 illustrates a flow diagram for training a machine learning model to disaggregate energy usage associated with target devices according to an example embodiment. [Figure 8] FIG. 1 illustrates a flow diagram for predicting disaggregated energy usage associated with target devices using a trained machine learning model according to an example embodiment. [Figure 9] FIG. 1 illustrates a flow diagram for predicting disaggregated energy usage associated with target devices using a trained convolutional neural network according to an example embodiment. [Figure 10] FIG. 1 illustrates a flow diagram for disaggregating energy usage associated with target devices by training multiple machine learning models according to an example embodiment. [Figure 11] FIG. 1 illustrates a flow diagram for predicting disaggregated energy usage associated with target devices using multiple trained machine learning models according to an example embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0007] Detailed Description The embodiment performs non-intrusive load monitoring using a novel learning scheme. NILM and disaggregation is to take as input the total energy usage at a source location (e.g., the energy usage of a household provided by an advanced metering infrastructure) and estimate the energy usage of one or more appliances, electric vehicles, and other devices that use energy at the source location. The embodiment utilizes a trained machine learning model to predict the energy usage of a target device based on the total energy usage at the source location. For example, the target device may be a large appliance or an electric vehicle, the source location may be a household, and the trained machine learning model may receive the energy usage of the household as input and predict the energy usage of the target device (e.g., the energy usage of the target device included in the energy usage of the household as a whole).
[0008] Embodiments train a machine learning model with the labeled energy usage data. For example, the machine learning model may be a designed / selected neural network, etc. Energy usage data may be obtained from multiple source locations (e.g., households), and the energy usage data may be labeled with device-specific energy usage. For example, household energy usage values may cover a period of time, and energy usage values for individual devices (e.g., appliance 1, electric vehicle 1, appliance 2, etc.) within this period may be labeled. Then, in some embodiments, training data for the machine learning model may be generated by processing this household and device-specific energy usage.
[0009] In some embodiments, a machine learning model can be trained to predict (e.g., disaggregate) the energy usage of a target device. For example, the training data can include target device-specific energy usage at multiple different source locations (e.g., households), and thus the machine learning model can be trained to identify trends in the training data and predict the energy usage of the target device. In some embodiments, while training a machine learning model to predict the energy usage of the target device, the training data can include energy usage predictions / loss calculations / gradient updates for one or more other devices. For example, when implementing embodiments of training techniques (e.g., prediction generation, loss calculation, gradient propagation, accuracy improvement, etc.) for a machine learning model, a set of other devices can be included along with the target device.
[0010] In some embodiments, the set of other devices can be based on the training data and / or on available device-specific labeled data values in the training data. For example, the availability of energy usage data for source locations labeled with device-specific energy usage may be limited. The embodiment includes a correspondence between the set of other devices used in the technique for training the machine learning model and the values of labeled device-specific energy usage data available in the training data. In other words, the values of labeled device-specific energy usage data available in the training data may include labels of multiple different devices, and there may be many different combinations of devices that appear in a particular source location of the training data, and the frequency with which different devices appear together at the same source location may vary. The set of other devices used in the training technique may be based on the diversity of devices in the training data, different combinations of devices at a particular source location, and / or the frequency of occurrence of different combinations of devices.
[0011] In some embodiments, when using training data for a set of other devices in combination with training data for the target device, the training technique may include the target device and the set of other devices. This implementation allows the machine learning model being trained to more accurately predict the energy usage / disaggregation of the target device using features learned based on the set of other devices. In some embodiments, the correspondence between the set of other devices and the available training data further enhances the training / prediction / accuracy benefits realized by including the set of other devices.
[0012] The embodiment uses the total energy in the household provided by the advanced metering infrastructure (AMI) to accurately estimate or predict the corresponding device-specific energy usage. The domain of non-intrusive load monitoring (NILM) has received significant research attention, such as the insights described in Hart, George W., "Nonintrusive appliance load monitoring," Proceedings of the IEEE, vol. 80, no. 12, pp. 1870-1891, 1992. Accurate disaggregation through NILM offers numerous benefits, including energy saving opportunities, personalization, improved grid planning, and more.
[0013] The embodiment utilizes a deep learning scheme that can accurately disaggregate the power loads of a large number of energy consuming devices, such as large household appliances and electric vehicles, based on a limited training set. Accurate disaggregation can be difficult due to the diversity and corresponding usage conditions of energy consuming devices, such as energy consuming devices (e.g., large appliances and electric vehicles) in a general household. In addition, in the NILM domain, the available training data can be limited. Therefore, a learning scheme that can maximize the advantage of the training data set can be particularly effective.
[0014] In embodiments, the training data can be used to train a learning model designed to learn effectively in these challenging conditions. Inputs to the learning model can be provided from the AMI, along with other types of inputs. Embodiments can accurately predict the energy usage of an electric device at high and low granularity / resolution (e.g., 1 minute, 5 minutes, 15 minutes, 30 minutes, 1 hour, or longer).
[0015] The embodiment utilizes a learning scheme of NILM designed for disaggregation of target devices, but one or more other non-target devices can be used in the learning scheme. For example, a subset of the training dataset can include labeled device energy usage, which produces a larger training set. In the NILM domain, there may be limited training data to be quantified, and there may be limited number of labeled devices in any particular location in the dataset.
[0016] Traditional realization of NILM through existing learning methods has its own deficiencies. Some of the proposed strategies considered in the past are built on combinatorial optimization, Bayesian methods, hidden Markov models, or deep learning. However, many of these models suffer from various shortcomings that render them useless in real-world scenarios. For example, some of these solutions are computationally expensive and therefore impractical. Others require high resolution / granularity inputs (e.g., AMI data or training data) that are often unavailable or impractical for certain deployed metric capabilities.
[0017] For example, one proposed approach focuses on multiple energy consuming devices, but this scenario does not take advantage of the limited training dataset due to the constraint that multiple labeled energy consuming devices at the same source location are required (e.g., to train effectively). As a result, the training dataset is underutilized. Another proposed approach selects a target device from the training dataset, but does not use other devices in the learning scheme. In this case, the limited number of devices participating in the learning limits the effectiveness of the system. The embodiments solve the NILM problem elegantly under real-world constraints in a practical time.
[0018] The embodiments utilize limited training data sets in the domain by using the target device and also the non-target devices in the learning scheme. For example, learning can be performed based on the non-target devices (e.g., labeled energy usage, loss calculation, and gradient propagation), but invalid entries in the training data, such as missing labeled data, can be replaced with zero values instead of discarding. This form of data curation provides accurate disaggregation predictions for the target devices by also utilizing data from the non-target devices. For example, training can be performed on the curated / processed data set. The embodiments provide flexibility in providing accurate predictions of disaggregation for the target devices. The model can learn from other non-target devices, from a subset of the training data, or from any combination of these, during training for the target device. This flexibility provides better training data utilization, resulting in a higher level of accuracy in disaggregation of the target devices.
[0019] Embodiments may use data (e.g., training and / or input) from any suitable meter (e.g., AMI, etc.), and the data (e.g., training and / or input) utilized may have low granularity, such as 15 minutes, 30 minutes, or hourly. Predictions of disaggregated energy usage for targeted devices may be useful for many reasons, namely, providing energy savings opportunities for utilities and their customers, providing opportunities for personalization, and enabling better grid planning, including peak time demand management. For example, electric utilities may invest in technologies to aggregate energy usage from large appliances or devices. Motivations for these investments include advances in AMI and smart grid technologies, increasing interest in energy efficiency, customer interest in better information, etc.
[0020] Some embodiments implement an architecture on top of a deep learning framework that includes a convolutional neural network ("CNN"). This architecture is also scalable and can be adjusted to the size of the input and output. Features of the deep learning framework can be utilized, removed, or adjusted, such as layer initialization, implemented optimizers, value normalization, dropout, etc. In fact, many applications of CNN are designed to recognize visual patterns (e.g., directly from images for classification). Examples include LeNet, AlexNet, ZFNet, GoogleNet / Inception, VGGNet, and ResNet. On the other hand, embodiments use a CNN architecture to predict the disaggregation of energy usage of a target device. For example, a CNN can be designed to have multiple convolution layers running in parallel with various kernel sizes and shapes. This design can be used to learn trends and other aspects of measured energy usage data (e.g., over a granularity of 1 minute, 5 minutes, 15 minutes, 30 minutes, 1 hour, or longer).
[0021] Some embodiments utilize multiple trained learning models to achieve higher prediction accuracy. For example, an ensemble approach can combine the output from multiple trained models. An embodiment implementing this ensemble approach can achieve higher accuracy by combining multiple deep learning models designed to solve the disaggregation and detection / identification problems. For example, the outputs of these models can be combined in multiple possible ways to achieve optimal accuracy. The embodiments solve two different but related problems for the same input, disaggregation and detection / identification. Separate models can be used to solve each problem more effectively. The results from the disaggregation and detection / identification models can be combined in several ways, namely: a) weighting for detection / identification, b) weighting for disaggregation, c) equal (substantially equal) weighting for each model. For example, the particular manner in which the two models are combined into a final output can be based on multiple factors, namely, a threshold and the distance between the predicted output of each model and the final output.
[0022] The embodiments train and build disaggregation and detection / identification models (e.g., for each target device). Depending on the distance of each model from each other (e.g., measured by a distance metric) and from the labeled / known value, an ensemble / combination strategy can be selected: a) weighting for detection / identification, b) weighting for disaggregation, c) weighting each model equally (or substantially equally). Some embodiments may augment the output with data values (e.g., thresholds), for example, based on discrepancies between models. Implementations and results show improved disaggregation predictions for multiple energy consuming devices (e.g., large household appliances and / or electric vehicles) when the models are combined into a final output.
[0023] Reference will now be made in detail to the embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that the present disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the embodiments. Wherever possible, like reference numerals are used for like elements.
[0024] FIG. 1 illustrates a system for disaggregating energy usage associated with target devices according to an example embodiment. System 100 includes source location 102, meter 104, source location 106, meter 108, devices 110, 112, and 114, and network node 116. Source location 102 may be any suitable location that includes or is otherwise associated with energy consuming or generating devices, such as a household with devices 110, 112, and 114. In some embodiments, devices 110, 112, and 114 may be energy-using appliances, such as washers, dryers, air conditioners, heaters, refrigerators, televisions, computing devices, and / or electric vehicles. For example, source location 102 may be powered (e.g., electricity), and devices 110, 112, and 114 may obtain power provided by source location 102. In some embodiments, source location 102 is a household, and power to the household is provided from the power grid, a local power source (eg, solar panels), a combination of these, or any other suitable source.
[0025] In some embodiments, the meter 104 may be used to monitor energy usage (e.g., electricity usage) at the source location 102. For example, the meter 104 may be a smart meter, an advanced metering infrastructure ("AMI") meter, an automatic meter reading ("AMR") meter, a simplified energy usage meter, etc. In some embodiments, the meter 104 may transmit information regarding energy usage at the source location 102 to a central power grid, a supplier, a third party, or any other suitable entity. For example, the meter 104 may provide two-way communication with the entity to communicate energy usage at the source location 102. In some embodiments, the meter 104 may provide one-way communication with the entity, where a measurement reading of the meter is transmitted to the entity.
[0026] In some embodiments, meter 104 may communicate via wired and / or wireless communications links and may utilize wireless communications protocols (e.g., cellular technologies), Wi-Fi, wireless ad-hoc networks over Wi-Fi, wireless mesh networks, low power long range wireless ("LoRa"), Zigbee, Wi-SUN, wireless local area networks, wired local area networks, etc. Devices 110, 112, and 114 (as well as other devices not shown) may use energy at source location 102, and meter 104 may monitor energy usage at the source location and report corresponding data (e.g., to network node 116).
[0027] In some embodiments, source location 106 and meter 108 may be similar to source location 102 and meter 104. For example, networking node 116 may receive energy usage information regarding source location 102 and source location 106 from meter 104 and meter 106. In some embodiments, network node 116 may be part of a central power system, a supplier, a power grid, an analytics service provider, a third party entity, or any other suitable entity.
[0028] The following description includes the description of a single criterion or multiple criteria. These terms are used interchangeably throughout this disclosure, and a range of multiple criteria is intended to include a range of a single criterion, and a range of a single criterion is intended to include a range of multiple criteria.
[0029] FIG 2 is a block diagram of a computer server / system 200 according to an embodiment. All or portions of the system 200 may be used to implement any of the elements shown in FIG 1. As shown in FIG 2, the system 200 may include a bus device 212 and / or other communication mechanisms configured to convey information between various components of the system 200, such as a processor 222 and a memory 214. Additionally, a communication device 220 may enable connectivity between the processor 222 and other devices by encoding data to be transmitted from the processor 222 to another device over a network (not shown) and decoding data for the processor 222 received over the network from another system.
[0030] For example, communication device 220 may include a network interface card configured to provide wireless network communication. A variety of wireless communication technologies may be used, including infrared, radio, Bluetooth, Wi-Fi, and / or cellular communication. Alternatively, communication device 220 may be configured to provide a wired network connection, such as an Ethernet connection.
[0031] Processor 222 may include one or more general-purpose or special-purpose processors for performing the computational and control functions of system 200. Processor 222 may include a single integrated circuit, such as a microprocessing device, or may include multiple integrated circuit devices and / or circuit boards that work in cooperation to achieve the functions of processor 222. In addition, processor 222 may execute computer programs stored in memory 214, such as operating system 215, predictive tools 216, and other applications 218.
[0032] The system 200 may include a memory 214 for storing instructions and information executed by the processor 222. The memory 214 may include various components for retrieving, presenting, modifying, and storing data. For example, the memory 214 may store software modules that provide functionality when executed by the processor 222. The modules may include an operating system 215 that provides operating system functionality for the system 200. The modules may include the operating system 215, a predictive tool 216 that implements the NILM and disaggregation functionality disclosed herein, and other application modules 218. The operating system 215 provides operating system functionality for the system 200. In some examples, the predictive tool 216 may be implemented as an in-memory configuration. In some implementations, the system 200, when executing the functionality of the predictive tool 216, implements a non-conventional dedicated computer system that performs the functionality disclosed herein.
[0033] The non-transitory memory 214 may include a variety of computer-readable media accessible to the processor 222. For example, the memory 214 may include any combination of random access memory ("RAM"), dynamic RAM ("DRAM"), static RAM ("SRAM"), read only memory ("ROM"), flash memory, cache memory, and / or any other type of non-transitory computer-readable medium. The processor 222 is further coupled to a display 224, such as a liquid crystal display ("LCD"), via the bus 212. A keyboard 226 and a cursor control device 228, such as a computer mouse, are further coupled to the communication device 212 to allow a user to interface with the system 200.
[0034] In some embodiments, system 200 may be part of a larger system. Thus, system 200 may include one or more additional functional modules 218 to include additional functionality. Other application modules 218 may include, for example, various modules of Oracle® Utility Customer Cloud Services, Oracle® Cloud Infrastructure, Oracle® Cloud Platform, Oracle® Cloud Applications. Predictive tools 216, other application modules 218, and any other suitable components of system 200 may include various modules of Oracle® Data Science Cloud Services, Oracle® Data Integration Services, or other suitable Oracle® products or services.
[0035] Database 217 is coupled to bus 212 to provide centralized storage for modules 216 and 218, for example, storing data received by computer vision tool 216 or other data sources. Database 217 may store data in an integrated collection of logically related records or files. Database 217 may be an operational database, an analytical database, a data warehouse, a distributed database, an end-user database, an external database, a navigation database, an in-memory database, a document-oriented database, a real-time database, a relational database, an object-oriented database, a non-relational database, a NoSQL database, a Hadoop® Distributed File System ("HFDS"), or any other database known in the art.
[0036] Although shown as a single system, the functionality of system 200 may be implemented as a distributed system. For example, memory 214 and processor 222 may be distributed across multiple different computers that collectively represent system 200. In one embodiment, system 200 may be part of a device (e.g., a smartphone, a tablet, a computer, etc.). In some embodiments, system 200 may be independent of a device and may remotely provide the disclosed functionality to the device. Furthermore, one or more components of system 200 may not be included. For example, in function as a user or consumer device, system 200 may be a smartphone or other wireless device that includes a processor, memory, and a display, does not include one or more of the other components shown in FIG. 2, and includes additional components not shown in FIG. 2, such as an antenna, a transceiver, or any other suitable wireless device components.
[0037] 3 illustrates a system for disaggregating energy usage associated with target devices using a machine learning model, according to an example embodiment. The system 300 includes input data 302, a processing module 304, a prediction module 306, training data 308, and output data 310. In some embodiments, the input data 302 may include energy usage from source locations, and the processing module 304 may process the data. For example, the processing module 304 may process the input data 302 to generate features based on the input data.
[0038] In some embodiments, the prediction module 306 can be a machine learning module (e.g., a neural network) trained by training data 308. For example, the training data 308 can include labeled data, such as energy usage data values from multiple source locations (e.g., source locations 102 and 106 of FIG. 1 ), including labeled device-specific energy usage data values. In some embodiments, output from the processing module 304, such as processed input, can be provided as input to the prediction module 306. The prediction model 306 can generate output data 310, such as disaggregated energy usage data, for the input data 302. In some embodiments, the input data 302 can be source location energy usage data and the output data 310 can be disaggregated energy usage data for a target device (or devices).
[0039] The embodiments use machine learning models, such as neural networks, to predict the energy usage of a target device. A neural network may include multiple nodes, called neurons, that are connected to other neurons via links or synapses. Some implementations of neural networks may be aimed at classification tasks and / or trained under supervised learning techniques. Often, labeled data may include features that aid in the realization of a prediction task (e.g., energy usage classification / prediction). In some embodiments, a neuron in a trained neural network may perform a small mathematical operation on a particular input data, where its corresponding weight (or association) may be used to generate an operand (e.g., generated in part by applying a nonlinearity) that is fed further into the network or given as an output. A synapse may connect two neurons with corresponding weights / associations. The prediction model 306 of FIG. 3 may be a neural network.
[0040] In some embodiments, a neural network can be used to learn trends among labeled energy usage data values (e.g., household energy usage data values labeled with device-specific energy usage over a period of time). For example, training data can include features that a neural network (or other learning model) can use to identify trends and predict energy usage from overall source location energy usage associated with target devices (e.g., identify energy usage by target devices by disaggregating overall energy usage for a household). In some embodiments, once a model is trained / prepared, it can be deployed. Embodiments can be implemented with multiple products or services (e.g., Oracle® products or services).
[0041] In some embodiments, the design of the prediction module 306 may include any suitable machine learning model components (e.g., neural networks, support vector machines, specialized regression models, etc.). For example, a neural network may be implemented with a particular cost function (e.g., for training / gradient calculation). The neural network may include any number of hidden layers (e.g., 0, 1, 2, 3, or more) and may include feedforward neural networks, recurrent neural networks, convolutional neural networks, modular neural networks, and any other suitable type.
[0042] 4A-4B show a sample convolutional neural network according to an example embodiment. The CNN 400 of FIG. 4A includes layers 402, 404, 406, 408, and 410, and kernels 412, 414, and 416. For example, at a particular layer of a convolutional neural network, one or more filters or kernels may be applied to the input data of the layer. In the illustrated embodiment, layers 402, 404, and 406 are convolutional layers, with kernel 412 being applied to layer 402, kernel 414 being applied to layer 404, and kernel 416 being applied to layer 406. The shape of the data and the underlying data values may vary from input to output depending on the shape of the applied filter or kernel (e.g., 1×1, 1×2, 1×3, 1×4, etc.), how the filter or kernel is applied (e.g., mathematical application), and other parameters (e.g., stride). Although kernels 412, 414, and 416 are shown as one-dimensional kernels, any other suitable shape may be implemented. In an embodiment, kernels 412, 414, and 416 may have one shape that matches between them, two different shapes, or three different shapes (e.g., all kernels are different sizes).
[0043] In some examples, the layers of a convolutional neural network may be heterogeneous and may include various mixes / sequences of convolutional layers, pooling layers, fully connected layers (e.g., similar to applying a 1×1 filter), etc. In the illustrated embodiment, layers 408 and 410 may be fully connected layers. Thus, CNN 400 illustrates an embodiment of a feed-forward convolutional neural network with multiple convolutional layers (e.g., implementing one-dimensional filters or kernels) followed by a fully connected layer. The embodiment may implement any other suitable convolutional neural network.
[0044] CNN 420 of FIG. 4B includes layers 422, 424, 426, 428, 430, and 432, and kernels 434, 436, and 438. CNN 420 may be similar to CNN 400 of FIG. 4A, except that layers 422, 424, and 426 may be parallel-oriented convolutional layers, and layer 428 may be a concatenation layer that concatenates the outputs of layers 422, 424, and 426. For example, inputs from an input layer may be provided to each of layers 422, 424, and 426, and the outputs from these layers are concatenated at layer 428. In some embodiments, the concatenated output from layer 428 may be provided to layer 430, which may be a fully connected layer. For example, each of layers 430 and 432 may be a fully connected layer, and the output from layer 432 may be the prediction that CNN 420 generates.
[0045] In some embodiments, kernels 434, 436, and 438 can be similar to kernels 412, 414, and 416 of Figure 4A. For example, kernels 434, 436, and 438 are shown as one-dimensional kernels, but any other suitable shape can be implemented. In embodiments, kernels 434, 436, and 438 can have one shape that matches between them, two different shapes, or three different shapes (e.g., all kernels are different sizes).
[0046] In some examples, the layers of a convolutional neural network may be heterogeneous and may include various mixes / sequences of convolutional layers, pooling layers, fully connected layers (e.g., similar to applying a 1×1 filter), parallel layers, concatenation layers, and the like. For example, layers 422, 424, and 426 may represent three parallel layers, although more or fewer parallel layers may be implemented. Similarly, although the output of each of layers 422, 424, and 426 is shown as an input to layer 428, which in some embodiments is a concatenation layer, one or more of layers 422, 424, and 426 may include additional convolutional or other layers before the concatenation layer. For example, one or more convolutional or other layers may exist between layer 422 (e.g., a convolutional layer) and layer 428 (e.g., a concatenation layer). In some embodiments, another convolutional layer (with another kernel) may be implemented between layer 422 and layer 428, but no such intervening layer is implemented for layer 424. In other words, in this example, the input to layer 422 may pass through another convolutional layer before being input to layer 428 (e.g., a concatenation layer), but the input to layer 424 is output directly to layer 428 (without another convolutional layer).
[0047] In some embodiments, layers 422, 424, 426, and 428 (e.g., three parallel convolutional layers and one concatenation layer) may represent a block in CNN 420, and one or more additional blocks may be implemented before or after the illustrated block. For example, a block may be characterized by at least two parallel convolutional layers followed by a concatenation layer. In some embodiments, multiple (e.g., three or more) additional convolutional layers with various parallel structures may be implemented as a block. CNN 420 illustrates an embodiment of a feedforward convolutional neural network with multiple parallel-oriented convolutional layers (e.g., implementing one-dimensional filters or kernels) followed by a fully connected layer. An embodiment may implement any other suitable convolutional neural network.
[0048] In some embodiments, the neural network can be configured for deep learning, for example, based on the number of hidden layers implemented. In some examples, a Bayesian network can be implemented as well, or other types of supervised learning models can be implemented as well. For example, a support vector machine can be implemented in some examples with one or more kernels (e.g., Gaussian kernel, linear kernel, etc.). In some embodiments, the prediction module 306 of FIG. 3 may be multiple models stacked, for example, where the output of a first model is fed into the input of a second model. Some implementations may include multiple layers of predictive models.
[0049] In some embodiments, test instances can be provided to the model to calculate its accuracy. For example, a portion of the training data 308 / labeled energy usage data can be reserved for testing the trained model (e.g., not for training the model). The accuracy measurement can be used to adjust the prediction module 306. In some embodiments, the accuracy assessment can be based on a subset of the training data / processed data. For example, a subset of the data can be used to evaluate the accuracy of the trained model (e.g., 75% vs. 25% training vs. test ratio). In some embodiments, data can be randomly selected for the test and training segments across various iterations of testing.
[0050] In some embodiments, during testing, the trained model can output predicted data values for the target device's energy usage based on a particular input (e.g., an instance of test data). For example, the instance of test data can be energy usage data for a particular source location (e.g., a household) over a period of time, including the target device's specific energy usage over that period as a known, labeled data value. Because the target device's energy usage data values are known for the particular input / test instance, an accuracy metric can be generated by comparing the predicted values to the known values. The accuracy of the trained model can be evaluated based on testing the trained model using multiple instances of test data.
[0051] In some embodiments, the design of the prediction module 306 can be adjusted based on accuracy calculations during training, retraining, and / or updated training. For example, adjustments can include adjusting the number of hidden layers in the neural network, adjusting kernel calculations (e.g., used to implement a support vector machine or neural network), etc. The adjustments can also include tuning / selecting features used by the machine learning model, adjustments to the processing of input data, etc. Embodiments include implementing various tuning configurations (e.g., different versions of machine learning models and features) while training / calculating accuracy to arrive at a configuration for the prediction module 306 that achieves a desired performance when trained (e.g., performs predictions at a desired level of accuracy, performs according to a desired resource utilization / time metric, etc.). In some embodiments, the trained model can be saved or stored for further use and to maintain its state. For example, the training of the prediction module 306 can be performed "offline," and the trained model can then be stored and used as needed to implement time- and resource-efficient data predictions.
[0052] An embodiment of the prediction module 306 is trained to disaggregate energy usage data within the overall source location (e.g., household) energy usage data. NILM and / or disaggregation refers to taking as input the total energy usage at a source location (e.g., energy usage at a household provided by an advanced metering infrastructure) and estimating the energy usage of one or more appliances, electric vehicles, and other devices that use energy at the source location. Figures 5A-5G show sample graphs illustrating disaggregated energy usage data according to an example embodiment. The data shown in the sample graphs represents a trained machine learning model to disaggregate energy usage at an unknown source location (e.g., household), which is a tested embodiment of the disaggregation techniques disclosed herein.
[0053] 5A shows a graphical representation of total energy usage data, labeled energy usage data of a target device, i.e., air conditioner, and predicted energy usage data of the target device (e.g., predicted by a trained embodiment of the prediction module 306). In this graph, time is shown on the x-axis and energy usage (in kWh) is shown on the y-axis. The data shown includes an hourly granularity of the measured data (e.g., total energy usage data and labeled energy usage data of the target device). Any other suitable granularity can be implemented as well.
[0054] With reference to FIG. 5A, a comparison of the labeled energy usage data values (actual / measured data values) of the target device and the predicted energy usage data values of the target device indicates the accuracy of the trained prediction model. For example, the trained prediction model can receive (as input) a total energy usage data value (or processed) and generate a graphical prediction. In some embodiments, the total energy usage data value can include energy usage by the target device and multiple other devices. As shown in FIG. 5A, the predicted, disaggregated energy usage values of the target device achieve a high degree of accuracy over multiple days. Any other suitable data granularity, time period, or other suitable parameters can be achieved.
[0055] 5B-5G show graphical representations of total energy usage data, labeled energy usage data for target devices, and predicted energy usage data for target devices. For example, the graphs of FIG. 5B-5G can be similar to the graph of FIG. 5A, but for the target devices. The graph of FIG. 5B shows predicted disaggregation for a target device that is a furnace (e.g., an electric furnace). The graph of FIG. 5C shows predicted disaggregation for a target device that is a dryer (e.g., an appliance). The graph of FIG. 5D shows predicted disaggregation for a target device that is a pool pump. The graph of FIG. 5E shows predicted disaggregation for a target device that is a water heater. The graph of FIG. 5F shows predicted disaggregation for a target device that is a refrigerator. The graph of FIG. 5G shows predicted disaggregation for a target device that is an electric vehicle. 5A-5G may utilize source location energy usage from a household that includes multiple energy consuming appliances / devices in addition to the applicable target device. The inputs (e.g., inputs to the learning module 306) used to generate the predicted disaggregation may include energy usage data that was not used for training. In other words, the trained learning module 306 generates predictions for input data that it has not seen before.
[0056] In some embodiments, the input 302 and / or training data 308 may include information other than energy usage information. For example, weather information related to the energy usage data (e.g., weather such as precipitation, temperature, etc. at the time of the energy usage measurement), calendar information related to the energy usage data (e.g., calendar information such as month, date, day of the week, etc. at the time of the energy usage measurement), timestamps related to the energy usage data, and other relevant information may be included in the input 302 and / or training data 308.
[0057] An embodiment generates training data 308 used to train the prediction module 306 by processing energy usage data from source locations (e.g., households). For example, the overall source location energy usage data values shown in FIGS. 5A-5G can be combined with labeled energy usage data values of one or more devices, and the resulting combination can be processed to arrive at training data 308. In some embodiments, the energy usage data for the source locations can be obtained through measurement (e.g., metering). Additionally, device-specific labeled energy usage data for training can be generated by implementing measurement, metering, or some other technique to receive / monitor energy usage of specific devices within the source locations. In other examples, energy usage data including source location energy usage and disaggregated device-specific energy within the source locations can be obtained from a third party. For example, the training data can be obtained in any suitable manner, such as by monitoring source locations (e.g., households) in known conditions, obtaining publicly (or otherwise) available datasets, developing joint ventures or partnerships that result in training data, and using any other suitable means.
[0058] Examples of energy usage data that can be processed to generate training data 308 include:
[0059] [Table 1]
[0060] The columns in the sample row of data in this example are an identifier, a timestamp, a total (energy usage), and labeled device-specific energy usage (air conditioner, electric vehicle, washer, dryer, dishwasher, refrigerator, etc.). This example includes a granularity of 15 minutes, but other suitable granularities can be implemented as well (e.g., 1 minute, 5 minutes, 15 minutes, 30 minutes, 1 hour, hours, etc.). In some embodiments, processing the energy usage data (e.g., to generate training data 308) may include reducing the granularity of the data, such as to enable it to be used to generate a training corpus with a consistent granularity (e.g., 1 hour). Such a reduction in granularity may be implemented by summing data usage values over components of a unit of time (e.g., summing data usage values over the four 15-minute intervals that make up an hour).
[0061] An embodiment includes a determined set of devices to be included in the training data 308. For example, the training of the prediction module 306 can be configured to generate a disaggregation prediction for the target device, but the training can utilize labeled data usage of a set of other devices in addition to the target device. In some embodiments, the set of other devices can be based on energy usage data and / or device-specific labeled data values available for training. Training data is often limited, so training techniques that leverage available training data are often beneficial.
[0062] The embodiment includes a correspondence between a set of other devices used in the technique for training the machine learning model and values of labeled device-specific energy usage data available in the training data. In other words, the labeled device-specific energy usage data values available in the training data may include labels of multiple different devices, and there may be many different combinations of devices that appear in a particular source location of the training data, and the frequency with which different devices appear together at the same source location may vary. The set of other devices used in the training technique may be based on the diversity of devices in the training data, different combinations of devices at a particular source location, and / or the frequency of occurrence of different combinations of devices.
[0063] Thus, multiple different variations of training data 308 can be generated by processing the preprocessed energy usage data of Table 1 above. Table 2 shows an example of processing the energy usage data to generate training data 308 that includes timestamps, total source position energy usage, and labeled energy usage of an electric vehicle as a single target device.
[0064] [Table 2]
[0065] In some embodiments, preprocessing may include selecting a subset of columns, a subset of rows, an aggregation (or some other mathematical / combinatorial function) of the data, and other appropriate processing from Table 1. For example, data cleaning, normalization, scaling, or other processing used to render the data suitable for machine learning may be performed.
[0066] Table 3 shows an example of processing energy usage data to generate training data 308 that includes a timestamp, a total source location energy usage, a labeled energy usage of a target device (electric vehicle), and a labeled energy usage of another device (air conditioner).
[0067] [Table 3]
[0068] Table 4 shows an example of processing energy usage data to generate training data 308 that includes a timestamp, a total source location energy usage, a labeled energy usage for a target device (electric vehicle), and labeled energy usage for three other devices (air conditioner, washer, and dryer).
[0069] [Table 4]
[0070] In this illustrated example, devices with null values from Table 1 are included in Table 4, but the null values have been replaced with zero values. The null values in Table 1 for washers and dryers indicate that the source position energy usage data in Table 1 does not include labeled energy usage data for washers and dryers. In other words, labeled energy usage data for washers and dryers in the overall source position energy usage data (shown in Table 1) is not available due to, for example, limitations on the training corpus, measurement / metering devices, or other circumstances.
[0071] In some embodiments, processing the device-specific labeled energy usage data of the source locations may include replacing null values (or any other placeholder values) with zero values. For example, if a particular device is determined to be used in the training technique of a given implementation of the prediction module 306 and a portion of the energy usage data is determined to be missing labeled device-specific energy usage data for the particular device (at one or more source locations), the missing labeled energy usage values for the particular device may be replaced with zero values. As described further herein, it may be determined that certain devices participate in the training technique of a given implementation even if the training corpus does not include a comprehensive set of labeled energy usage data for these devices. An embodiment replaces null values with zero values to utilize available training data and to comprehensively improve machine learning performance by utilizing one or more devices other than the target device for learning purposes.
[0072] Table 5 shows an example of processing energy usage data to generate training data 308 that includes a timestamp, a total source location energy usage, a labeled energy usage of a target device (electric vehicle), and labeled energy usage of four other devices (air conditioner, washer, dryer, and refrigerator).
[0073] [Table 5]
[0074] In the example shown for the source location in Table 5, the target device involves two devices with labeled energy usage data (e.g., an air conditioner and a refrigerator) and two devices with no labeled energy usage data (e.g., a washer and a dryer), where the two devices without labeled energy usage data have been processed to reflect zero energy usage data labels. Table 6 shows an example of processing the energy usage data to generate training data 308 that includes a timestamp, a total source location energy usage, and the labeled energy usage of the target device (electric vehicle) and the labeled energy usage of five other devices (air conditioner, washer, dryer, dishwasher, and refrigerator).
[0075] [Table 6]
[0076] In the example shown for the source location in Table 6, the target devices involve two devices with labeled energy usage data (e.g., an air conditioner and a refrigerator) and three devices with no labeled energy usage data (e.g., a dishwasher, a washing machine, and a dryer), where the three devices without labeled energy usage data have been processed to reflect zero energy usage data labels. As demonstrated by Tables 2-6, processing the energy usage data of a particular source location, including labeled energy usage data for several devices, can generate different variants of training data. An embodiment can utilize one or more of these variants to train a machine learning model and achieve beneficial results.
[0077] For example, a given implementation for training the module 306 may include several factors. While an implementation may be directed to disaggregating the energy usage of a single target device, several other factors related to the available training data may be at issue, such as the availability of overall energy usage data, including the labeled energy usage data of the target device at different source locations, the number and variety of other devices with available labeled energy usage data located with the target device at different source locations, the granularity of the available energy usage data, and other related factors. Thus, an implementation that achieves a desired prediction result may include the use of the labeled energy usage data of the target device, the labeled energy usage data of a set of other devices, and the zeroed energy usage data of a particular device of the set of other devices in a portion of the training data. Thus, the particular variation of the processed training data shown in Tables 2-6 that achieves the desired result is based on the available training data and its related factors. In other words, the set of devices to be utilized in the training data can be determined based on available energy usage data, such as, for example, with labeled device-specific energy usage values.
[0078] In some embodiments, the set of other devices participating in the training may meet certain criteria with respect to the available training data. For example, the available training data may include energy usage values for a plurality of source locations (e.g., households), where the energy usage for a majority of the source locations may include labeled energy usage from the target device and labeled energy usage from at least one device in the set of other devices. In another example, the set of other devices may be determined such that at least a threshold number (e.g., a minimum number) of other devices are used in the training technique. In some embodiments, the set of other devices may be determined such that any given instance of the training data (e.g., a row of the training data) includes no more than a threshold number of other devices whose energy usage data values are set to zero (e.g., 0 or less, 1 or less, 2 or less, 3 or less, etc.). In some embodiments, the set of other devices may be determined to be a null set, for example, based on a restriction indicated by the training data.
[0079] In some embodiments, the set of other devices is determined such that the amount of training data used to train the machine learning model based on the set of other devices meets a criterion. For example, the set of other devices may be determined such that at least a threshold number (e.g., a minimum number) of training instances (e.g., rows of training data) are available for training. In another example, the set of other devices may be determined such that the sum of labeled device-specific energy usage data values set to zero meets a criterion (e.g., less than a threshold percentage of the training data, e.g., less than 5%, 10%, 15%, 20%, 30%, 40%, 50%, etc.).
[0080] Embodiments may also include training and implementation techniques that achieve other correspondences between the training data and the set of other devices. For example, a majority of the instances of the training data (e.g., rows of the training data) may include energy usage values labeled with added zeros (based on a set of other devices not present in the household or dataset). In another example, a majority of the instances of the training data may include non-zero labeled energy usage values of the target device. In another example, a majority of the instances of the training data may include non-zero labeled energy usage values of the target device and at least one of the set of other devices. In another example, at least some instances of the training data may include added zero labeled energy usage values of the target device. In another example, each of the set of other devices may have non-zero labeled energy usage values in at least a threshold amount (e.g., 10%, 20%, 30%, etc.) of the instances of the training data. In another example, one or more instances of the training data may include non-zero labeled energy usage values of the target device and at least two of the set of other devices. By implementing training techniques and a set of other devices, any, most, one, or a combination of these correspondences can be obtained, or any other suitable correspondence can be obtained.
[0081] In some embodiments, when training data for a set of other devices is used in combination with training data for a target device, training techniques (e.g., prediction generation, loss calculation, gradient propagation, accuracy improvement, etc.) can be implemented using the target device and the set of other devices. For example, a machine learning model can be trained using the post-processed training data to predict the energy usage of the target device from the energy usage of a source location (e.g., a household). In some embodiments, input data, such as energy usage data for a source location over a period of time, can be received, processed, and fed to a trained machine learning model to generate a prediction of how much of the energy used at the source location was used by the target device.
[0082] In some embodiments, when training a machine learning model using the determined set of other devices, predictions generated by the trained model may include disaggregated predictions for the target device and predictions generated for the set of other devices (e.g., non-target devices). For example, the predictions generated for the non-target devices may be useful when computing accuracy metrics and training the model (e.g., based on the labeled device-specific energy usage of the set of other devices). In some embodiments that focus on disaggregated predictions for the target device, the predictions generated for the set of other devices may be discarded. For example, these embodiments take advantage of training using other devices, which improves disaggregated predictions for the target device.
[0083] In some embodiments, a version of the processed training data can be used to train a convolutional neural network to disaggregate the energy usage of the target device. With reference to FIG. 4A, CNN 400 includes layers 402, 404, and 406, which may be convolutional layers, and layers 408 and 410, which may be fully connected layers. Kernel 412, shown as having a 1×a shape, can be applied to layer 402, kernel 414, shown as having a 1×b shape, can be applied to layer 404, and kernel 416, shown as having a 1×c shape, can be applied to layer 406. In some embodiments, the shapes of kernels 412, 414, and 416 can be adjusted during training / configuration of CNN 400, so they can be any suitable shape that achieves effective performance of the disaggregation task.
[0084] Similarly, with reference to FIG. 4B, CNN 420 includes layers 422, 424, and 426, which may be convolutional layers, layer 428, which may be a concatenation layer, and layers 430 and 432, which may be fully connected layers. Kernel 434, shown as having a 1×a shape, may be applied to layer 422, kernel 436, shown as having a 1×b shape, may be applied to layer 434, and kernel 438, shown as having a 1×c shape, may be applied to layer 426. In some embodiments, the shapes of kernels 434, 436, and 438 may be adjusted during training / construction of CNN 420, so they may be any suitable shape that achieves effective performance of the disaggregation task.
[0085] In some embodiments, the shapes of the kernels 412, 414, and 416 can change the shape of the data as it passes through layers 402, 404, and 406, respectively. For example, applying the kernels 412, 414, and 416 can change the shape of the input data as it passes through layers 402, 404, and 406. In some embodiments, the shape of the data passing through layers 402, 404, and 406 is based on the shape of the kernels 412, 414, and 416, the stride of each kernel, and the padding implemented. For example, the padding can include adding zeros to the data (e.g., above, below, left, and / or right of the data). In some embodiments, a combination of kernel shape, stride, and padding for one or more of layers 412, 414, and 416 can result in a convolution of the same / original size that does not change the shape of the data.
[0086] Similarly, the shapes of kernels 434, 436, and 438 can change the shape of the data as it passes through layers 422, 424, and 426, respectively. For example, applying kernels 434, 436, and 438 can change the shape of the input data as it passes through layers 422, 424, and 426. In some embodiments, the shape of the data passing through layers 422, 424, and 426 is based on the shapes of kernels 434, 436, and 438, the stride of each kernel, and the padding implemented. In some embodiments, a combination of kernel shape, stride, and padding for one or more of layers 434, 436, and 438 can result in a convolution of the same / original size that does not change the shape of the data.
[0087] As mentioned above, the embodiment predicts the energy usage disaggregation of the target device, but a set of other devices (e.g., non-target devices) can also participate in the learning techniques (e.g., prediction, loss calculation, gradient propagation). The embodiment implementing the CNN can configure the weights / values of the kernels implemented in different layers by using the training data, loss calculation, and gradient propagation of the non-target devices. This training / configuration of the CNN results in neurons trained on the non-target devices that can be useful in improving the accuracy of the prediction for the target device.
[0088] In some embodiments, multiple machine learning models can be trained and the outputs of these models can be combined to achieve disaggregation of predicted energy usage for target devices. Figure 6 illustrates a flow diagram for disaggregating energy usage associated with target devices using multiple machine learning models, according to an example embodiment.
[0089] System 600 includes input data 602, a processing module 604, prediction modules 606 and 610, training data 608 and 612, a combination module 614, and an output 616. In some embodiments, the input data 602 may include energy usage from source locations, and the processing module 604 may process the data. For example, the processing module 604 may process the input data 602 and generate features based on the input data. In some embodiments, the input data 602 and the processing module 604 may be similar to the input data 302 and the processing module 304 of FIG. 3.
[0090] In some embodiments, prediction modules 606 and 610 can be machine learning modules (e.g., neural networks) trained with training data 608 and 612, respectively. For example, training data 608 can include labeled data, such as energy usage data values from multiple source locations (e.g., source locations 102 and 106 of FIG. 1 ), including labeled device-specific energy usage data values. In some embodiments, output from processing module 604, such as processed input, can be provided as input to prediction modules 606 and 610. In some embodiments, prediction modules 606 and 610 can be similar to prediction module 306 of FIG. 3 .
[0091] In some embodiments, the training data 608 can train the prediction module 606 to predict disaggregated energy usage of a target device, and the training data 612 can train the prediction module 610 to predict energy usage of a target device above a threshold. For example, the training data 608 for training the prediction module 606 to generate a disaggregated prediction can include labeled energy usage data having an aggregate amount of energy used (e.g., over a time span). In other words, the labeled device-specific energy usage data of the training data 608 reflects an aggregate amount of energy used, such as those shown in Tables 1-6 above.
[0092] In some embodiments, the training data 612 for training the prediction module 610 to generate detection predictions may include detected energy usage (e.g., over a time span). In other words, the labeled device-specific energy data in the training data 612 may represent whether energy above a threshold was used (e.g., a binary value representing on or off). In some embodiments, the training data 612 may be generated by setting any labeled device-specific energy usage values above a threshold to 1 and any labeled device-specific energy usage values below the threshold to 0. For example, the labeled device-specific energy usage of the training data 612 may not include the aggregate energy usage of the labeled devices (e.g., include a binary 1 or 0 instead).
[0093] The prediction module 606 may generate a predicted disaggregated energy usage for the target device based on the input data 602, and the prediction module 610 may generate a target device detection prediction based on the input data 602. These predictions from the prediction modules 606 and 610 may be input to a combination module 614, which may generate a combined disaggregation prediction for the target device as an output 616. In some embodiments, the combination module 614 combines the disaggregation prediction from the prediction module 606 with the detection prediction from the prediction module 610 by adding a value to the predicted disaggregation for the target device based on the detection prediction, such as when the detection prediction does not match the disaggregation prediction.
[0094] For example, if the prediction module 606 generates little or no predicted energy usage for a target device for a particular period of time (e.g., 1 hour) and the prediction module 610 generates a prediction that the target device was using energy during this period (e.g., 1 prediction indicating the target device was on and using energy), the combination module 614 may augment the disaggregation prediction by adding an energy usage value (e.g., a threshold or a predetermined aggregate of the energy usage value) to the predicted disaggregation for that period. Similarly, if the prediction module 606 generates a substantial predicted energy usage value for a target device (e.g., an energy usage value above a threshold) for a particular period of time (e.g., one hour) and the prediction module 610 generates a prediction that the target device was not using energy during this period (e.g., a 0 prediction indicating that the target device was off and not using energy), the combination module 614 may augment the disaggregation prediction by subtracting an energy usage value (e.g., a threshold or a predetermined aggregate of the energy usage value) from the predicted disaggregation for that period.
[0095] In some embodiments, the combination module 614 can use a weighting algorithm to combine the disaggregation prediction from the prediction module 606 with the detection prediction from the prediction module 610. For example, the prediction module 610 can generate a detection prediction (e.g., by indicating on / off) for the target device's usage time, such as at 1 minute, 5 minutes, 15 minutes, 30 minutes, 45 minutes, 1 hour, or other similar granularity. The prediction module 606 can generate a disaggregation prediction that estimates how much energy the target device will use, such as at 1 minute, 5 minutes, 15 minutes, 30 minutes, 45 minutes, 1 hour, or other similar granularity.
[0096] The combination module 614 can implement a general weighting scheme that uses parameters to prioritize some predictions over others. For example, one or more parameters can be used to configure weights (e.g., α and / or β weights and first and second thresholds) when combining generated predictions. In this example, the degree to which the disaggregation prediction is augmented by the detection prediction is set based on the values of these parameters. In some embodiments, a match between the disaggregation prediction and the detection prediction may be sought. For example, sometimes the disaggregation prediction may predict the energy usage of a target device while the detection prediction indicates that the device was off. Similarly, sometimes the disaggregation prediction may not predict the energy usage of a target device while the detection prediction indicates that the device was on.
[0097] In some embodiments, one or more thresholds may be set to augment the disaggregation prediction when there is a discrepancy with the detection prediction. For example, if the detection prediction indicates that the target device was on but the disaggregation prediction does not include a predicted energy usage over a relevant time period (e.g., a relevant 15-minute, 30-minute, 45-minute, or 1-hour time window), a first threshold amount of energy usage may be added to the disaggregation prediction. In this example, if the disaggregation prediction includes a predicted energy usage below the first threshold, the augmentation may include increasing the predicted energy usage up to the first threshold. Similarly, if the detection prediction indicates that the target device was off but the disaggregation prediction includes a predicted energy usage greater than a second threshold amount over the relevant time period, the predicted energy usage from the disaggregation prediction may be reduced to a second threshold amount of energy usage.
[0098] In some embodiments, one or more weighting parameters (e.g., α and β weights) can be used to adjust the degree to which the energy usage value of the disaggregation prediction is augmented by the detection prediction. For example, the α weight can be associated with a first threshold, and the weight can control the amount of energy usage added to the disaggregation prediction. In a sample implementation, if the α weight is set to “1”, the energy usage over the associated time window in the disaggregation prediction can be increased to the first threshold, and if the weight is set to “0”, no energy usage is added. Intermediate values of the α weight between “1” and “0” can add an amount of energy usage proportional to the weight. For example, a weight of “0.5” can increase the energy usage to one-half the first threshold, or a delta can be taken between the energy usage in the disaggregation prediction over the associated time period and the first threshold, and an energy usage equal to the delta of “0.5” can be added.
[0099] Similarly, a β weight may be associated with the second threshold, and the weight may control the amount of reduction in energy usage from the disaggregation prediction. In a sample implementation, if the β weight is set to "1", the energy usage over the relevant time window in the disaggregation prediction may be reduced to the second threshold, and if the weight is set to "0", the energy usage is not reduced. Intermediate values of the β weight between "1" and "0" may reduce the energy usage proportional to the weight. For example, a weight of "0.5" may reduce the energy usage to twice the second threshold, or a delta between the energy usage in the disaggregation prediction over the relevant time period and the second threshold may be determined, and an energy usage equal to "0.5" of the delta may be subtracted from the disaggregation prediction. In some embodiments, one or any combination of these parameters (e.g., α, β, the first threshold, and / or the second threshold) may be implemented, or any other suitable weighting scheme may be implemented.
[0100] In some embodiments, the combination module 614 may include a third machine learning model trained / configured to combine the disaggregation prediction and the detection prediction. For example, the third trained machine learning model may be trained to predict the aggregate energy usage of the target device using the disaggregation prediction and the detection prediction. In some embodiments, the disaggregation prediction and the detection prediction are combined using the predictions generated by the third trained machine learning model. For example, the training data for the third machine learning model may include the disaggregation prediction, the detection prediction, and the labeled (known) energy usage of the target device. In this example, the input to the third machine learning model includes the disaggregation prediction and the detection prediction output, and thus the training data includes these predictions along with the labeled (known) energy usage data, and loss and gradient calculations can be performed during training.
[0101] In some embodiments, the training data / input to the third machine learning model may also include overall source location (e.g., household) energy usage. For example, this overall source location energy usage is part of the training data used to train the prediction modules 606 and 610 and also serves as an input to the prediction modules 606 and 610 to generate disaggregation and detection predictions. The third trained machine learning model may discover that trends from the overall source location energy usage affect the accuracy when combining disaggregation and detection predictions. Thus, when training the third machine learning model, the overall source location energy usage can be used to learn how to combine these predictions. Similarly, when generating a combined prediction to combine disaggregation and detection predictions, both these predictions and the overall source location energy usage can be used as inputs.
[0102] In some embodiments, the third machine learning model may be a deep learning model, for example based on the number of hidden layers implemented. In some embodiments, the disaggregation predictions and the detection predictions are combined by a combination module 614 using decision trees, a random forest algorithm, Bayesian learning, or other suitable combination techniques.
[0103] FIG. 7 illustrates a flow diagram for training a machine learning model to disaggregate energy usage associated with target devices, according to an example embodiment. In some embodiments, the functions of FIGS. 7-11 may be implemented by software stored in a memory or other computer-readable or tangible medium and executed by a processor. In other embodiments, the functions may be performed by hardware (e.g., using an application specific integrated circuit ("ASIC"), a programmable gate array ("PGA"), a field programmable gate array ("FPGA"), etc.), or any combination of hardware and software. In an embodiment, the functions of FIGS. 7-11 may be performed by one or more elements of system 200 of FIG. 2.
[0104] At 702, energy usage data may be received including energy usage by the target devices and one or more non-target devices at multiple source locations. For example, the energy usage data may be similar to the data shown in Table 1 above. In some embodiments, the received data may include a timestamp, overall energy usage (including energy used by multiple devices) at a source location (e.g., a household), and labeled device-specific energy usage for one or more of the target devices and non-target devices. The energy usage data may be received by monitoring energy usage, from a third party, based on a joint venture, or through any other suitable channel or entity.
[0105] At 704, a machine learning model can be configured. For example, a machine learning model can be configured, such as a neural network, a CNN, an RNN, a Bayesian network, a support vector machine, or any other suitable machine learning model. Parameters can be selected, such as the number of layers (e.g., the number of hidden layers), input shape, output shape, width, depth, direction (e.g., feedforward or bidirectional), activation functions, layer or unit types (e.g., gated recurrent units, long short-term memory, etc.), or other suitable parameters of the machine learning model. In some embodiments, these configured parameters can be adjusted (e.g., tuned, changed globally, added, or removed) when training the model.
[0106] In some embodiments, the machine learning model may include a CNN, where parameters such as layer type (e.g., convolution, pooling, fully connected, etc.), kernel size and type, stride, and other parameters may also be configured. These configured parameters may also be adjusted when training the model.
[0107] At 706, the energy usage data can be processed to generate training data. For example, the training data can be generated by processing the energy usage data based on the target device and a set of other devices (e.g., one or more non-target devices). The processing can be based on a correspondence between the energy usage data (e.g., availability of labeled device-specific energy usage for various devices in the energy usage data) and the set of other devices. In some embodiments, the set of other devices can be selected based on available energy usage data and / or the target device, and the energy usage data used to generate the training data can be selected based on the set of other devices and / or the target device, or the set of other devices and energy usage data can be considered in combination, both of which can be selected based on a correspondence between them (e.g., beneficial for training / performance).
[0108] In some embodiments, the set of other devices is determined based on the energy usage of the multiple households in the training data. The multiple other devices in the set of other devices can also be based on the energy usage of the multiple households in the training data. In some embodiments, the set of other devices is determined based on known energy usage values of the set of other devices included in the energy usage of the multiple households in the training data. The set of other devices can be determined such that an amount of training data configured to train the machine learning model for the set of other devices meets a criterion (e.g., a threshold amount).
[0109] In some embodiments, the data can be augmented with zero-value energy usage by processing the energy usage data based on the target device and the set of other devices participating in the training. For example, an instance (e.g., a row) of data can include a timestamp, an overall energy usage at the source location, and various labeled device-specific energy usage. If the target device or any of the set of other devices are not included in the labeled device-specific energy usage of an instance, these missing (or otherwise invalid) entries can be filled with zero values. In some embodiments, the training data can be processed such that for a particular source location (e.g., a household) whose energy usage does not include labeled energy usage from the subset of the set of other devices, the labeled energy usage of the subset of other devices is set to zero. This processing allows the learning mechanism to still learn from many of the training data, thus efficiently using the available training data. In addition, the correspondence between the energy usage data and the set of other devices selected to participate in the learning mitigates any potential learning issues that may arise from the insertion of zero values.
[0110] At 708, the generated training data can be used to train a machine learning model to predict the disaggregated energy usage of the target device. This training can include generating predictions, calculating losses (e.g., based on a loss function), and propagating gradients (e.g., through layers / neurons of the machine learning model). As described herein, both the labeled energy usage of the target device and the labeled energy usage of a set of other devices are used to train the machine learning model.
[0111] In some embodiments, the trained machine learning model is trained using energy usage values of a plurality of households, labeled energy usage values of a target device, and labeled energy usage values of a set of other devices. The training data used to train the machine learning model may include energy usage from a plurality of households, labeled energy usage values of a target device within the household energy usage, and labeled energy usage values of a set of other devices within the household energy usage. In some embodiments, the machine learning model may be trained to optimize accuracy in predicting the energy usage values of the target device.
[0112] In some embodiments, the training data, including the energy usage values of the multiple households, the labeled energy usage values of the target device, and the labeled energy usage values of the set of other devices, has a granularity of substantially one hour. Other suitable granularities (e.g., 1 minute, 15 minutes, 30 minutes, 45 minutes, etc.) can be implemented as well. In some embodiments, the machine learning model, the training data utilized, and / or the set of other devices can be adjusted based on the results of the training. For example, testing of the trained model can indicate the accuracy of the trained model, and various adjustments can be made based on the test accuracy.
[0113] The trained machine learning model can be stored at 710. For example, a trained learning model that generates predictions that meet a criteria (e.g., an accuracy criterion or threshold) can be stored such that disaggregation predictions can be performed using the stored model.
[0114] 8 illustrates a flow diagram for predicting disaggregated energy usage associated with target devices using a trained machine learning model according to an example embodiment. For example, the functionality of FIG. 8 can be performed using a machine learning model trained based on the functionality of FIG. 7.
[0115] At 802, household energy usage data over a period of time can be received, the household energy usage including energy consumed by the target device and energy consumed by a number of other devices. For example, the household energy usage data can be divided into time intervals based on timestamps over a period of time, such as a day (e.g., substantially hourly granularity). Other suitable granularities can be implemented.
[0116] At 804, the received energy usage data can be processed. For example, the processing can be similar to the processing of the training data. In such an example, the processing can change the household energy usage input data to be similar to the training data, such that the trained machine learning model can achieve improved predictive results. The processing can include achieving hourly granularity of the energy usage data, normalization, other forms of scaling, and any other suitable processing.
[0117] At 806, the processed data can be provided as input data to a trained machine learning model. For example, a model trained according to the functionality of FIG. 7 can be stored, and the processed data can be provided as input to the trained model. At 808, a prediction can be generated by the trained machine learning model. For example, a disaggregated energy usage of a target device based on an overall energy usage experienced can be predicted by the trained machine learning model.
[0118] In some embodiments, the predictions can have a similar granularity to the inputs provided to the trained model. For example, the predicted energy disaggregation for the target device can have substantially hourly granularity. In some embodiments, the predicted energy usage includes the predicted energy usage of the target device over at least one day at at least substantially hourly granularity.
[0119] 9 illustrates a flow diagram for predicting disaggregated energy usage associated with a target device using a trained convolutional neural network, according to an example embodiment. For example, the functionality of FIG. 9 can be performed using a convolutional neural network trained based on the functionality of FIG. 7.
[0120] In some embodiments, the functionality of FIG. 7 can be used to train a CNN with a mix of convolutional and fully connected layers. For example, the CNN can include multiple convolutional layers followed by one or more fully connected layers. The CNN can be similar to the network shown in FIG. 4A and / or FIG. 4B. For example, one of the CNN layers can be a convolutional layer with a one-dimensional kernel of a first size, and another of the CNN layers can be a convolutional layer with a one-dimensional kernel of a second size. In some embodiments, the first size is smaller than the second size. In some embodiments, at least two of the CNN layers can be parallel convolutional layers, and a concatenation layer can be used to concatenate the parallel branches in the CNN, as shown in FIG. 4B. In such embodiments, the parallel branches can be configured to learn different features of the input / training data. For example, the kernel size, stride, and padding implemented for a first branch of the parallel branches can be different from the kernel size, stride, and padding implemented for a second branch of the parallel branches.
[0121] At 902, input data can be received that includes energy usage data for a source location over a period of time. For example, the source location can be a household, and the household energy usage can include energy consumed by a target device and energy consumed by multiple other devices. For example, the energy usage for the source location can be divided into time intervals based on timestamps (e.g., substantially hourly granularity) over a period of time, such as a day.
[0122] At 904, the received energy usage data can be processed. For example, the processing can be similar to the processing of the training data. In such an example, the processing can change the energy usage input data of the source locations to be similar to the training data, such that the trained machine learning model can achieve improved predictive results. The processing can include achieving hourly granularity of the energy usage data, normalization, other forms of scaling, and any other suitable processing.
[0123] At 906, the processed data can be provided as input data to a trained convolutional neural network. For example, a convolutional neural network trained according to the functionality of FIG. 7 can be stored, and the processed data can be provided as input to the trained network. At 908, a prediction can be generated by the trained convolutional neural network. For example, a disaggregated energy usage of a target device based on an overall energy usage experienced can be predicted by the trained convolutional neural network. In some embodiments, predicting the disaggregated energy usage of a target device includes at least advancing the input data in a feedforward direction through the trained CNN such that the shape of the input data changes between a first layer (having a first one-dimensional kernel) and a second layer (having a second one-dimensional kernel). In some embodiments, the first layer and the second layer have a parallel orientation within the CNN.
[0124] In some embodiments, the predictions can have a similar granularity to the inputs given to the trained network. For example, the predicted energy disaggregation for the target device can have substantially hourly granularity. In some embodiments, the predicted energy usage includes the predicted energy usage of the target device over at least one day with at least substantially hourly granularity.
[0125] FIG. 10 illustrates a flow diagram for disaggregating energy usage associated with target devices by training multiple machine learning models, according to an example embodiment. At 1002, energy usage data can be received including energy usage by target devices and one or more other non-target devices at multiple source locations. For example, the energy usage data can be similar to the data shown in Table 1 above. In some embodiments, the received data can include a timestamp, overall energy usage (including energy used by multiple devices) at a source location (e.g., a household), and labeled device-specific energy usage for one or more of the target devices and non-target devices. The energy usage data can be received by monitoring energy usage, from a third party, based on a joint venture, or through any other suitable channel or entity.
[0126] At 1004, a first machine learning model and a second machine learning model can be configured. For example, the machine learning models can be configured, such as a neural network, a CNN, an RNN, a Bayesian network, a support vector machine, or any other suitable machine learning model. Parameters can be selected, such as the number of layers (e.g., the number of hidden layers), input shape, output shape, width, depth, direction (e.g., feedforward or bidirectional), activation functions, layer or unit types (e.g., gated recurrent units, long short-term memory, etc.), or other suitable parameters of the machine learning models. In some embodiments, these configured parameters can be adjusted (e.g., tuned, changed globally, added, or removed) when training the models.
[0127] In some embodiments, the first machine learning model can be designed / configured to disaggregate the energy usage of the target device from the energy usage of the source location. For example, the machine learning model can be similar to that designed / trained and / or implemented in FIG. 7, FIG. 8, and FIG. 9. In some embodiments, the second machine learning model can be designed / configured to detect the energy usage of the target device from the energy usage of the source location. For example, detection can differ from disaggregation in that disaggregation is intended to determine the total energy usage by the target devices, while detection is intended to detect the energy usage by the target devices above a threshold. A detection implementation can be intended to distinguish between a target device that is ON and using energy and a target device in standby mode (which may draw low levels of energy) by detecting the energy usage above a threshold. The threshold used to distinguish between standby mode (which can be interpreted as OFF) and ON can depend on the target device. In some embodiments, the predicted disaggregation can be a numeric value (e.g., a range of values), while the predicted detection is binary (e.g., ON or OFF).
[0128] At 1006, the energy usage data can be processed to generate a training data set. For example, the energy usage data can be processed based on the target device and a set of other devices (e.g., one or more non-target devices) to generate the training data set. The processing can be based on a correspondence between the energy usage data (e.g., availability of labeled device-specific energy usage for various devices in the energy usage data) and the set of other devices. In some embodiments, the set of other devices can be selected based on available energy usage data and / or the target device, and the energy usage data used to generate the training data can be selected based on the set of other devices and / or the target device, or the set of other devices and energy usage data can be considered in combination, both of which can be selected based on a correspondence between them (e.g., beneficial for training / performance).
[0129] In some embodiments, the set of other devices is determined based on the energy usage of the multiple households in the training data. The multiple other devices in the set of other devices can also be based on the energy usage of the multiple households in the training data. In some embodiments, the set of other devices is determined based on known energy usage values of the set of other devices included in the energy usage of the multiple households in the training data. The set of other devices can be determined such that an amount of training data configured to train the machine learning model for the set of other devices meets a criterion (e.g., a threshold amount).
[0130] In some embodiments, the energy usage data can be processed based on the target device and the set of other devices participating in the training to augment the data with zero-valued energy usage. For example, an instance (e.g., a row) of data can include a timestamp, an overall energy usage at the source location, and various labeled device-specific energy usage. If the target device or any of the set of other devices are not included in the labeled device-specific energy usage of an instance, these missing (or otherwise invalid) entries can be filled with zero values. In some embodiments, the training data can be processed such that for a particular source location (e.g., a household) whose energy usage does not include the labeled energy usage of a subset of the set of other devices, the labeled energy usage of the subset of other devices is set to zero. This processing allows for efficient use of the available training data, since the learning mechanism can still learn from many of the training data. In addition, the correspondence between the energy usage data and the set of other devices selected to participate in the learning mitigates any potential learning issues that may arise from the insertion of zero values.
[0131] In some embodiments, processing the energy usage data may include generating a first training data set for the first machine learning model and a second training data set for the second machine learning model. For example, the first machine learning model that generates the disaggregation prediction is trained with labeled energy usage data including an aggregate amount of energy used (e.g., over a time span). Thus, the labeled device-specific energy data in the first training data set may include labeled device-specific energy usage reflecting an aggregate amount of energy used, such as those shown in Tables 1-6 above. In some embodiments, the second machine learning model that generates the detection prediction is trained with labeled energy usage data including detected energy usage (e.g., over a time span). Thus, the labeled device-specific energy data in the second training data set may include labeled device-specific energy usage indicating whether energy above a threshold was used (e.g., a binary value representing on or off).
[0132] In some embodiments, the second training data set may be generated by setting any labeled device-specific energy usage values above a threshold to 1 and any labeled device-specific energy usage values below the threshold to 0. For example, the labeled device-specific energy usage of the second training data set may not include the aggregate energy usage of the labeled devices (instead including binary 1s or 0s).
[0133] At 1008, the first and second machine learning models may be trained using the generated first and second training datasets to predict the disaggregated energy usage (e.g., aggregate energy usage) and the detected energy usage (e.g., on or off detection of energy usage above a threshold) of the target device. The training may include generating predictions, calculating losses (e.g., based on a loss function), and propagating gradients (e.g., through layers / neurons of the machine learning models). As described herein, both the labeled energy usage of the target device and the labeled energy usage of a set of other devices are used to train the machine learning models.
[0134] In some embodiments, the trained machine learning model was trained using energy usage values of a plurality of households, labeled energy usage values of a target device, and labeled energy usage values of a set of other devices. The first and second training datasets used to train the first and second machine learning models may include energy usage from a plurality of households, labeled energy usage values of a target device within the household energy usage, and labeled energy usage values of a set of other devices within the household energy usage. In some embodiments, the training of the first machine learning model may optimize accuracy in predicting the energy usage values (e.g., aggregate energy usage) of the target devices, and the training of the second machine learning model may optimize accuracy in predicting the detected energy usage (e.g., on or off detection, such as energy usage above a threshold) of the target devices.
[0135] In some embodiments, the first training data set and the second training data set, which include the energy usage values of the multiple households, the labeled energy usage values of the target device, and the labeled energy usage values of the set of other devices, have a granularity of substantially one hour. Other suitable granularities can be implemented as well. In some embodiments, the machine learning model, the utilized training data set, and / or the set of other devices can be adjusted based on the results of the training. For example, testing of the trained model can indicate the accuracy of the trained model, and various adjustment adjustments can be made based on the test accuracy.
[0136] At 1010, the trained first machine learning model and the trained second machine learning model may be stored. For example, trained learning models that generate predictions that meet a criteria (e.g., an accuracy criterion or a threshold) may be stored such that disaggregation and detection predictions can be performed using the stored models.
[0137] 11 illustrates a flow diagram for predicting disaggregated energy usage associated with a target device using multiple trained machine learning models according to an example embodiment. For example, the functionality of FIG. 11 can be performed using multiple machine learning models trained based on the functionality of FIG. 10.
[0138] At 1102, household energy usage data over a period of time with substantially hourly granularity may be received, where the household energy usage includes energy consumed by the target device and energy consumed by a number of other devices. For example, the household energy usage data may be divided into time intervals based on timestamps over a period of time, such as a day (e.g., with substantially hourly granularity or other suitable granularity).
[0139] At 1104, the received energy usage data can be processed. For example, the processing can be similar to the processing of the training data. In such an example, the processing can change the household energy usage input data to be similar to the training data so that the trained machine learning model can achieve improved predictive results. The processing can include achieving hourly granularity of the energy usage data, normalization, other forms of scaling, and any other suitable processing.
[0140] In some embodiments, the process may include generating first input data for a first trained machine learning model and second input data for a second trained machine learning model. For example, the first machine learning model may be trained / configured to disaggregate energy usage of the target device from the input data, and the second machine learning model may be trained / configured to detect energy usage of the target device from the input data.
[0141] At 1106, the first input data can be provided to a first trained machine learning model to generate a prediction for disaggregated energy usage from the source location's energy usage data. For example, an aggregate disaggregated energy usage for the target devices over the time period based on received household energy usage can be predicted by the first trained machine learning model.
[0142] In some embodiments, a first trained machine learning model can be trained according to the functionality of FIG. 10, and the first input data can be provided as an input to the trained model. In some embodiments, the prediction can have a similar granularity to the first input / energy usage data provided to the trained model. For example, the predicted energy disaggregation for the target device can have substantially hourly granularity. In some embodiments, the predicted energy usage includes predicted energy usage for the target device over at least one day and at least substantially hourly granularity.
[0143] At 1108, the second input data can be provided to a second trained machine learning model to generate a prediction for the energy usage detected in the energy usage data of the source location. For example, the energy usage of the detected target device over the time period based on the received household energy usage can be predicted by the second trained machine learning model.
[0144] In some embodiments, a second trained machine learning model can be trained according to the functionality of FIG. 10, and the second input data can be provided as an input to the trained model. In some embodiments, the prediction can have a similar granularity to the second input / energy usage data provided to the trained model. For example, a prediction of detected energy usage for the target device can have substantially hourly granularity. In some embodiments, the prediction of detected energy usage includes detected energy usage for the target device at least substantially hourly granularity over at least one day.
[0145] At 1110, the predicted output from the first machine learning model and the second machine learning model can be combined. For example, the disaggregation prediction and the detection prediction can be combined to form a combined prediction for disaggregation of energy usage for the target device.
[0146] In some embodiments, combining the disaggregation prediction and the detection prediction includes adding a value to the predicted disaggregation of the target device based on the detection prediction, e.g., if the detection prediction does not match the disaggregation prediction, In some embodiments, the disaggregation prediction and the detection prediction are combined using a weighting scheme that resolves discrepancies between the disaggregation prediction and the detection prediction.
[0147] In some embodiments, a third machine learning model can be trained, and the third machine learning model is trained / configured to combine the disaggregation prediction and the detection prediction. For example, the third trained machine learning model can be trained to predict the aggregate energy usage of the target devices using the disaggregation prediction and the detection prediction. In some embodiments, the disaggregation prediction and the detection prediction are combined using the prediction generated by the third trained machine learning model.
[0148] The embodiment performs non-intrusive load monitoring using a novel learning scheme. NILM and disaggregation is to take as input the total energy usage at a source location (e.g., the energy usage of a household provided by an advanced metering infrastructure) and estimate the energy usage of one or more appliances, electric vehicles, and other devices that use energy at the source location. The embodiment utilizes a trained machine learning model to predict the energy usage of a target device based on the total energy usage at the source location. For example, the target device may be a large appliance or an electric vehicle, the source location may be a household, and the trained machine learning model may receive the energy usage of the household as input and predict the energy usage of the target device (e.g., the energy usage of the target device included in the energy usage of the household as a whole).
[0149] Embodiments train a machine learning model with the labeled energy usage data. For example, the machine learning model may be a designed / selected neural network, etc. Energy usage data may be obtained from multiple source locations (e.g., households), and the energy usage data may be labeled with device-specific energy usage. For example, household energy usage values may cover a period of time, and energy usage values for individual devices (e.g., appliance 1, electric vehicle 1, appliance 2, etc.) within this period may be labeled. Then, in some embodiments, training data for the machine learning model may be generated by processing this household and device-specific energy usage.
[0150] In some embodiments, a machine learning model can be trained to predict (e.g., disaggregate) the energy usage of a target device. For example, the training data can include target device-specific energy usage at multiple different source locations (e.g., households), and thus the machine learning model can be trained to identify trends in the training data and predict the energy usage of the target device. In some embodiments, while training a machine learning model to predict the energy usage of the target device, the training data can include energy usage predictions / loss calculations / gradient updates for one or more other devices. For example, when implementing embodiments of training techniques (e.g., prediction generation, loss calculation, gradient propagation, accuracy improvement, etc.) for a machine learning model, a set of other devices can be included along with the target device.
[0151] The features, structures, or characteristics of the present disclosure described throughout this specification may be combined in any suitable manner in one or more embodiments. For example, the use of "one embodiment," "some embodiments," "a particular embodiment," "particular embodiments," or other similar expressions throughout this specification means that the particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present disclosure. Thus, the use of "one embodiment," "some embodiments," "a particular embodiment," "particular embodiments," or other similar expressions throughout this specification does not necessarily all refer to the same group of embodiments, and the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0152] Those skilled in the art will readily appreciate that the above embodiments may be practiced with steps in a different order and / or elements in a different configuration than that disclosed. Thus, while this disclosure contemplates the embodiments outlined, it will be apparent to those skilled in the art that certain modifications, variations, and alternative configurations are nonetheless within the spirit and scope of the disclosure. Reference should therefore be made to the appended claims in determining the scope of the disclosure.
Claims
1. 1. A method for detecting and disaggregating energy usage associated with a target device, the method comprising: The method further comprises: storing a first trained machine learning model configured by a computer processor to disaggregate target device energy usage from source potential energy usage, the first trained machine learning model being trained to predict an aggregate energy usage of the target devices from source potential energy usage; The processor includes storing a second trained machine learning model configured to detect device energy usage from source potential energy usage, the second trained machine learning model being trained to predict when a target device has used energy from the source potential energy usage, the method further comprising: The method further includes the step of: the processor receiving a source potential energy usage over a period of time, the source potential energy usage including energy consumed by the target device, the method further comprising: the processor using the first trained machine learning model and the second trained machine learning model to predict an aggregate disaggregated target device energy usage over the period based on the received source position energy usage.
2. 2. The method of claim 1, wherein the first trained machine learning model is trained using first training data, the first training data including labeled device specific energy usage within an overall source position energy usage of a plurality of source locations, and the second trained machine learning model is trained using second training data, the second training data including labeled device specific energy usage within an overall source position energy usage of a plurality of source locations, and the labeled device specific energy usage of the first training data includes an aggregate of energy usage of the labeled devices.
3. The method of claim 2 , wherein the labeled device-specific energy usage of the second training data does not include an aggregate energy usage of the labeled devices.
4. 4. The method of claim 3, wherein the source locations include households, the received source location energy usage includes hourly granularity, the first training data includes hourly granularity, and the second training data includes hourly granularity.
5. predicting an aggregate disaggregated target device energy usage based on the source location energy usage, comprising: generating a disaggregation prediction for the target device using the first trained machine learning model; generating a detection prediction for the target device using the second trained machine learning model; and combining the disaggregation prediction with the detection prediction.
6. The method of claim 5 , wherein combining the disaggregation prediction and the detection prediction comprises adding a value to the predicted disaggregation of the target device based on the detection prediction.
7. The method of claim 6 , further comprising combining the disaggregation prediction and the detection prediction using a weighting scheme that overcomes discrepancies between the disaggregation prediction and the detection prediction.
8. The method of claim 7, further comprising the step of the processor storing a third trained machine learning model configured to combine the disaggregation prediction and the detection prediction, the third trained machine learning model being trained to predict total energy usage of the target devices using the disaggregation prediction and the detection prediction.
9. 10. The method of claim 8, further comprising combining the disaggregation prediction and the detection prediction using the predictions produced by the third trained machine learning model.
10. The method of any preceding claim, wherein the predicted energy usage comprises predicted energy usage of the target device over at least a day and with at least an hourly granularity.
11. 1. A system for detecting and disaggregating energy usage associated with a target device, the system comprising: A processor; and a memory for storing instructions for execution by the processor, the instructions causing the processor to: and storing a first trained machine learning model configured to disaggregate target device energy usage from source potential energy usage, the first trained machine learning model being trained to predict aggregate energy usage of the target devices from source potential energy usage, the processor further comprising: and storing a second trained machine learning model configured to detect device energy usage from source potential energy usage, the second trained machine learning model being trained to predict when a target device has used energy from the source potential energy usage, the processor further comprising: and receiving a source potential energy usage over a period of time, the source potential energy usage including energy consumed by the target device, the processor further comprising: The system is configured to use the first trained machine learning model and the second trained machine learning model to predict an aggregate disaggregated target device energy usage over the period based on the received source position energy usage.
12. 12. The system of claim 11, wherein the first trained machine learning model is trained using first training data, the first training data including labeled device specific energy usage within an overall source position energy usage of a plurality of source locations, and the second trained machine learning model is trained using second training data, the second training data including labeled device specific energy usage within an overall source position energy usage of a plurality of source locations, and the labeled device specific energy usage of the first training data includes an aggregate of energy usage of the labeled devices.
13. The system of claim 12 , wherein the labeled device-specific energy usage of the second training data does not include an aggregate energy usage of the labeled devices.
14. 14. The system of claim 13, wherein the source locations include households, the received source location energy usage includes hourly granularity, the first training data includes hourly granularity, and the second training data includes hourly granularity.
15. predicting an aggregate disaggregated target device energy usage based on the source location energy usage, generating a disaggregation prediction for the target device using the first trained machine learning model; and generating a detection prediction for the target device using the second trained machine learning model; and and combining the disaggregation prediction with the detection prediction.
16. The system of claim 15 , wherein combining the disaggregation prediction and the detection prediction comprises adding a value to the predicted disaggregation of the target device based on the detection prediction.
17. 20. The system of claim 16, wherein the disaggregation prediction and the detection prediction are combined using a weighting scheme that overcomes discrepancies between the disaggregation prediction and the detection prediction.
18. 20. The system of claim 17, wherein the instructions configure the processor to store a third trained machine learning model configured to combine the disaggregation prediction and the detection prediction, the third trained machine learning model being trained to predict aggregate energy usage of the target devices using the disaggregation prediction and the detection prediction.
19. 20. The system of claim 18, further comprising: combining the disaggregation prediction and the detection prediction using the predictions produced by the third trained machine learning model.
20. A program for causing a computer to execute the method according to any one of claims 1 to 10.
Citation Information
Patent Citations
CNN based non-intrusive power consumption load decomposition method
CN108899892A
Non-invasive power load monitoring and decomposition method and system based on ensemble learning
CN109145949A
Short-term load prediction method based on Blending ensemble learning
CN110472778A
Power demand prediction apparatus and program
JP2016001951A
Electrical meter system for engery desegregation
US20180328967A1