Detecting the presence of targeted energy-using devices using multiple trained machine learning models

JP2025534139A5Pending Publication Date: 2026-06-02ORACLE INT CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
ORACLE INT CORP
Filing Date
2023-07-27
Publication Date
2026-06-02

AI Technical Summary

Technical Problem

Non-intrusive load monitoring (NILM) struggles to accurately separate energy usage of various devices within a household due to the wide variety of devices and limited availability of labeled datasets, hindering effective prediction of target device energy usage.

Method used

Utilizing two trained machine learning models to predict the presence of target devices, combining their outputs to enhance detection accuracy, even with incomplete training datasets, and incorporating energy usage and weather data for improved predictions.

Benefits of technology

Achieves higher accuracy and resource efficiency in predicting the presence of target devices like electric vehicles or appliances, overcoming limitations of conventional NILM methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

An embodiment generates a machine learning prediction for discovering target device energy usage. The embodiment trains a first machine learning model to predict the presence of a first device, and the training data used to train the first machine is incomplete for a second device. The embodiment trains a second machine learning model to predict the presence of a second device. The embodiment receives input data of household energy usage and weather data, and predicts the presence of a first device for each household based on the input data using the trained first machine learning model. Based on the input data, the embodiment predicts the presence of a second device for each household based on the input data using the trained second machine learning model. The embodiment then generates a prediction for households with the first device by subtracting the households predicted to have the second device from the households predicted to have the first device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] One embodiment relates to utility metering devices, and more particularly to machine learning predictions that discover the presence of target device energy usage within home energy usage derived in part from information received from utility metering devices. [Background technology]

[0002] Background information Non-intrusive load monitoring (“NILM”) and separation of various energy-using devices at a given source location has proven difficult. For example, given a household, separating the energy usage of devices and / or electric vehicles from the monitored energy usage of the entire household has been difficult to achieve, in part due to the wide variety (e.g., make, model, year, etc.) of household devices and / or electric vehicles. While advances in metering devices have provided some opportunities, successful separation has thus far remained elusive. The limited availability of labeled datasets or source location energy usage values ​​with labeled device energy usage values ​​(e.g., energy usage values ​​for a household labeled with the energy usage values ​​of Equipment 1, Electric Vehicle 1, Equipment 2, etc.) has further hindered progress. Therefore, NILM and separation techniques that can learn from these limited datasets to successfully predict the energy usage of target devices from the overall energy usage at the source location would greatly improve the state of the art and benefit users who implement these techniques. Summary of the Invention

[0003] overview An embodiment generates a machine learning prediction for discovering target device energy usage. The embodiment trains a first machine learning model to predict the presence of a first device, and the training data used to train the first machine is incomplete for a second device. The embodiment trains a second machine learning model to predict the presence of a second device. The embodiment receives input data of household energy usage and weather data, and predicts the presence of a first device for each household based on the input data using the trained first machine learning model. Based on the input data, the embodiment predicts the presence of a second device for each household based on the input data using the trained second machine learning model. The embodiment then generates a prediction for households with the first device by subtracting the households predicted to have the second device from the households predicted to have the first device.

[0004] Further embodiments, details, advantages and modifications will become apparent from the following detailed description of the embodiments, which will be taken in conjunction with the accompanying drawings. [Brief explanation of the drawings]

[0005] [Figure 1] FIG. 1 illustrates a system for generating machine learning predictions for discovering target device energy usage according to an illustrative embodiment. [Figure 2] FIG. 1 is a block diagram of a computing device operatively coupled to a system in accordance with an illustrative embodiment. [Figure 3] FIG. 1 illustrates an architecture for using machine learning models to discover the presence of target device energy usage within home energy usage according to an example embodiment. [Figure 4A] FIG. 1 illustrates a sample neural network in accordance with an illustrative embodiment. [Figure 4B] FIG. 1 illustrates a sample neural network in accordance with an illustrative embodiment. [Figure 4C]FIG. 1 illustrates a sample neural network in accordance with an illustrative embodiment. [Figure 5A] 10 is a sample graph illustrating device-specific energy usage presence prediction results and accuracy according to an example embodiment; [Figure 5B] 10 is a sample graph illustrating device-specific energy usage presence prediction results and accuracy according to an example embodiment; [Figure 6] FIG. 1 illustrates an architecture for using multiple machine learning models to discover the presence of target device energy usage within home energy usage according to an example embodiment. [Figure 7] 1 is a flow diagram for training a machine learning model for discovering the presence of target device energy usage according to an example embodiment. [Figure 8] 1 is a flow diagram for generating machine learning predictions for discovering target device energy usage according to an illustrative embodiment; [Figure 9] 7A-7C illustrate graphical outputs generated by the analysis module and / or output module of FIG. 6 according to an embodiment. [Figure 10] 1 is a flow diagram for generating a machine learning prediction of the presence of a target device using multiple trained machine learning models according to an example embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0006] Detailed Description One embodiment detects the presence of a target device using two different trained machine learning models: a first model detects the presence of the target device and is trained with a dataset that generally lacks the first device; and a second model detects the presence of the first device. The outputs of the first and second models are combined to provide a more accurate detection of the presence of the target device than that provided by the first model alone.

[0007] Embodiments use the labeled energy usage data to train at least two machine learning models. For example, machine learning models such as neural networks can be designed / selected. Energy usage data from multiple source locations (e.g., households) can be obtained, and the energy usage data can be labeled with device-specific energy usage. For example, household energy usage values ​​can cover a time period, and within that time period, individual device energy usage values ​​(e.g., equipment 1, electric vehicle 1, equipment 2, etc.) can be labeled. In some embodiments, this household and device-specific energy usage can then be processed to generate training data for the machine learning models.

[0008] In some embodiments, instances of home energy use may be received over a period of time. For example, home energy use may be received at a level of granularity (e.g., every 15 minutes, every 30 minutes, every hour, etc.) over a period of time (e.g., one week, two weeks, one month, etc.). In some embodiments, the trained machine learning model may generate multiple forecast instances for each instance of home energy use data (e.g., a four-week forecast over a one-month period). An overall forecast may then be generated based on the multiple forecast instances. For example, analysis may be performed on the forecast instances to arrive at an overall prediction regarding the presence of a target energy in home energy use over the time period.

[0009] 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 so as not to unnecessarily obscure aspects of the embodiments. Wherever possible, like reference numerals are used to refer to like elements.

[0010] 1 illustrates a system for generating machine learning predictions to discover target device energy usage 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 energy-producing devices, such as a household having devices 110, 112, and 114. In some embodiments, devices 110, 112, and 114 may be energy-using electrical appliances and / or electric vehicles, such as washers, dryers, air conditioners, heaters, refrigerators, televisions, computing devices, etc. For example, source location 102 may be supplied with power (e.g., electricity), and devices 110, 112, and 114 may draw the power supplied to source location 102. In some embodiments, source location 102 is a home, and power to the home is supplied from a power grid, a local power source (eg, solar panels), a combination of these, or any other suitable source.

[0011] In some embodiments, the meter 104 may be used to monitor energy use (e.g., electricity use) 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 simple energy use meter, etc. In some embodiments, the meter 104 may transmit information regarding energy use 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 engage in two-way communication with an entity to communicate energy use at the source location 102. In some embodiments, the meter 104 may engage in one-way communication with an entity, where a meter reading is transmitted to the entity.

[0012] In some embodiments, meter 104 may communicate via wired and / or wireless communication links and may utilize wireless communication protocols (e.g., cellular technologies), WiFi, wireless ad-hoc networks via 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).

[0013] 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.

[0014] The following description includes descriptions of one or more criteria, and these terms are used interchangeably throughout this disclosure, with ranges of multiple criteria intended to include ranges of a single criterion, and ranges of a single criterion intended to include multiple criteria.

[0015] Embodiments use total energy use from a home provided by a metering infrastructure (e.g., advanced metering infrastructure (“AMI”), simple metering infrastructure, etc.) to accurately predict the presence of targeted device energy use within the home energy use. The field of non-intrusive load monitoring (“NILM”) and various other energy use detection has garnered significant interest. Accurate device-specific energy use discovery (e.g., via NILM or NILM-like technologies) offers many benefits, including energy savings opportunities, personalization, improved grid planning, etc.

[0016] Embodiments utilize deep learning methods that can accurately predict the presence of target device energy use, such as energy use from electric vehicles or household appliances, based on limited or incomplete training sets (e.g., based on an unrepresentative or insufficiently representative sample of homes). As disclosed herein, an "incomplete" training set is a training set generated from an insufficiently representative sample of homes. For example, the set of homes used to generate the training dataset may include 0% or 2% of homes with solar power, while a typical sample of homes may include 5% to 10% that include solar power. The less representative the sample of homes, the more "incomplete" the corresponding training set generated is considered to be. Accurate detection can be difficult due to the variety of energy-consuming devices found in a typical home (e.g., large appliances and electric vehicles) and their corresponding usage conditions. Additionally, in the NILM field, the availability of training data can be limited. Therefore, learning methods that can maximize the benefits of training datasets can be particularly effective. 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 by AMI or non-AMI (e.g., simple infrastructure) along with other types of inputs.

[0017] Conventional NILM implementations using existing learning methods have their own drawbacks. Some of the proposed approaches discussed above are built on combinatorial optimization, Bayesian methods, hidden Markov models, or deep learning. However, many of these models have various drawbacks that make them unusable in real-world scenarios. For example, some of these solutions are computationally expensive and therefore impractical. Other solutions require high-resolution / granular inputs (e.g., AMI data or training data) with special circumstances that are often unavailable or impractical given the metric capabilities deployed.

[0018] Embodiments achieve several advantages over these conventional approaches. For example, embodiments support higher levels of accuracy that continue to improve over time with more recent data. Embodiments also implement machine learning models with improved generalization. For example, some model implementations are trained on large, diverse sets of energy usage data from a variety of different locations, resulting in improved results for these implementations across a variety of geographic locations.

[0019] Embodiments also improve resource and time efficiency of model training and implementation. For example, some deep learning models may have enormous resource requirements for training / implementation, which may amount to hundreds of thousands of dollars, or even millions of dollars. Embodiments achieve efficient resource and computation time for model training and implementation. In addition, model scoring is achieved with similarly efficient timing requirements. For example, scoring can be achieved within milliseconds in some embodiments.

[0020] 2 is a block diagram of a computer server / system 200 according to an embodiment. All or portions of system 200 can be used to implement any of the elements shown in FIG. 1. As shown in FIG. 2, system 200 may include a bus device 212 and / or other communication mechanisms configured to communicate information between various components of system 200, such as a processor 222 and a memory 214. Additionally, communication device 220 can enable connections between processor 222 and other devices by encoding data to be transmitted from processor 222 to another device over a network (not shown) and decoding data received for processor 222 from another system over the network.

[0021] For example, communication device 220 may include a network interface card configured to provide wireless network communication. Various 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.

[0022] 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 cooperate to accomplish the functions of processor 222. Additionally, processor 222 may execute computer programs, such as operating system 215, predictive tools 216, and other applications 218, that are stored in memory 214.

[0023] System 200 may include memory 214 for storing information and instructions for execution by processor 222. Memory 214 may encompass various components for retrieving, presenting, modifying, and storing data. For example, memory 214 may store software modules that provide functionality when executed by processor 222. The modules may include operating system 215, which provides operating system functionality for system 200. The modules may include operating system 215, prediction tool 216, which implements the target device presence prediction functionality disclosed herein, and other application modules 218. Operating system 215 provides operating system functionality for system 200. In some cases, prediction tool 216 may be implemented as an in-memory configuration. In some embodiments, system 200, upon executing the functionality of prediction tool 216, implements a non-traditional, special-purpose computer system that performs the functionality disclosed herein.

[0024] Non-transitory memory 214 may include various computer-readable media that can be accessed by processor 222. For example, 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. Processor 222 is further coupled to a display 224, such as a liquid crystal display (“LCD”), via bus 212. A keyboard 226 and a cursor control device 228, such as a computer mouse, are further coupled to communication device 212 to allow a user to interface with system 200.

[0025] In some embodiments, system 200 may be part of a larger system. Accordingly, 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® Utilities Customer Cloud Service, Oracle® Cloud Infrastructure, Oracle® Cloud Platform, Oracle® Cloud Applications. Predictive tool 216, other application modules 218, and any other suitable components of system 200 may include various modules of Oracle® Data Science Cloud Service, Oracle® Data Integration Service, or other suitable Oracle® products or services.

[0026] Database 217 is coupled to bus 212 to provide centralized storage for modules 216 and 218, for example, to store data received by forecasting 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 navigational 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.

[0027] 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 one embodiment, system 200 may be separate from the device and may remotely provide the disclosed functionality of 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, but 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 component.

[0028] 3 illustrates an architecture for using a machine learning model to discover the presence of target device energy usage within home energy usage according to an example embodiment. System 300 includes input data 302, a processing module 304, a prediction module 306, training data 308, an analysis module 310, and output data 312. In some embodiments, input data 302 can include energy usage from a source location, and the data can be processed by processing module 304. For example, processing module 304 can process input data 302 to generate features based on the input data.

[0029] In some embodiments, the prediction module 306 can be a machine learning module (e.g., a neural network) that is 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 from FIG. 1 ), that include labels indicating the presence of target device energy usage. 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 module 306 can generate instances of target device presence predictions, such as multiple predictions over a period of time, regarding the presence of target device energy usage within overall source location energy usage.

[0030] In some embodiments, the analysis module 310 can analyze multiple instances of a target device presence prediction. For example, a mathematical function can be used to combine the instances of the presence prediction to generate an overall prediction regarding whether source energy usage data measured over a time period includes the presence of the target device energy usage. In some embodiments, the overall prediction can be output data 312. For example, the input data 302 can be source location energy usage data, and the output data 312 can be a prediction (e.g., a confidence value) regarding the presence of the target device energy usage in the source location energy usage data (e.g., over the time period). As disclosed below, the confidence value can be converted into a “Yes,” “No,” or “Maybe” determination regarding the presence of the target device.

[0031] In some embodiments, the analysis module 310 can be provided with inputs from two different prediction modules, each from a different trained model, to more accurately predict the presence of a target device, such as an EV L1 or an electric heater, through a combination of the two outputs. In some embodiments, the overall prediction for the target device can be the output data 312.

[0032] Embodiments use machine learning models, such as neural networks, to predict the presence of target device energy usage. A neural network can include multiple nodes called neurons, which are connected to other neurons via links or synapses. Some implementations of neural networks can target classification tasks and / or be trained under supervised learning techniques. In many cases, labeled data can include features that help accomplish a prediction task (e.g., energy usage classification / prediction). In some embodiments, neurons in a trained neural network can perform fine mathematical operations on given input data and use their corresponding weights (or relationships) to generate operands (e.g., generated in part by applying nonlinearities) that will be passed further into the network or provided as outputs. A synapse can connect two neurons with corresponding weights / relationships. In some embodiments, the prediction module 306 from FIG. 3 can be a neural network.

[0033] In some embodiments, a neural network can be used to learn trends within labeled (or surveyed) energy usage data (e.g., household energy usage data values ​​over a period of time that have been labeled with either device-specific energy usage or general device labels). For example, training data can include features that can be used by a neural network (or other learning model) to identify trends and predict the presence of target device energy usage from overall source location energy usage. In some embodiments, once a model is trained / prepared, it can be deployed. Embodiments can be implemented with some products or services (e.g., Oracle® products or services).

[0034] In some embodiments, the design of the prediction module 306 may include any suitable machine learning model component (e.g., a neural network, a support vector machine, a specialized regression model, etc.). For example, a neural network may be implemented with a given 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 a feedforward neural network, a recurrent neural network, a convolutional neural network, a modular neural network, and any other suitable type.

[0035] 4A-4C illustrate sample neural networks according to example embodiments. Neural network 400 in FIG. 4A includes layers 402, 404, 406, 408, and 410. In some embodiments, neural network 400 may be a convolutional neural network having one or more of kernels 412, 414, 416, 418, 420, and 422. For example, in a given layer of a convolutional neural network, one or more filters or kernels may be applied to the layer's input data. Kernels 412, 414, and 416 are shown as one-dimensional kernels (e.g., 1×n), and kernels 418, 420, and 422 are shown as two-dimensional kernels (e.g., n×m), although any other suitable shapes may be implemented.

[0036] In some embodiments, layers 402, 404, and 406 are convolutional layers, with kernel 412 applied in layer 402, kernel 414 applied in layer 404, and kernel 416 applied in layer 406. In some embodiments, layers 402, 404, and 406 are convolutional layers, with kernel 418 applied in layer 402, kernel 420 applied in layer 404, and kernel 422 applied in layer 406. The shape of the data and its 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, 2×1, 2×2, 2×3, 3×2, etc.), the manner in which the filter or kernel is applied (e.g., mathematical application), and other parameters (e.g., stride). In an embodiment, kernels 412, 414, and 416 may have one constant shape, two different shapes, or three different shapes between them (e.g., all kernels are different sizes), and / or kernels 418, 420, and 422 may have one constant shape, two different shapes, or three different shapes between them.

[0037] In some cases, the layers of a convolutional neural network can be heterogeneous and can include different mixtures / sequences of convolutional layers, pooling layers, fully connected layers (e.g., similar to applying a 1×1 filter), etc. In some embodiments, layers 408 and 410 can be fully connected layers. Thus, the embodiment of neural network 400 illustrates a feedforward convolutional neural network having several convolutional layers (e.g., implementing one or more dimensions of a filter or kernel) followed by a fully connected layer. The embodiment can implement any other suitable convolutional neural network.

[0038] Neural network 430 of Figure 4B includes layers 432, 434, 436, 438, 440, and 442, and kernels 444, 446, 448, 450, 452, and 454. Neural network 430 may be similar to neural network 400 of Figure 4A, except that layers 432, 434, and 436 may be convolutional layers with parallel orientations in some embodiments, and layer 438 may be a concatenation layer that concatenates the outputs of layers 432, 434, and 436. For example, inputs from an input layer may be fed to each of layers 432, 434, and 436, and the outputs from these layers are concatenated in layer 438.

[0039] In some embodiments, kernels 444, 446, and 448 can be similar to kernels 412, 414, and 416 of FIG. 4A , and kernels 450, 452, and 454 can be similar to kernels 418, 420, and 422 of FIG. 4A . For example, kernels 444, 446, and 448 are shown as one-dimensional kernels, and kernels 450, 452, and 454 are shown as two-dimensional kernels, although any other suitable shapes can be implemented. In embodiments, kernels 444, 446, and 448 can have one constant shape, two different shapes, or three different shapes between them (e.g., all kernels are different sizes), and / or kernels 450, 452, and 454 can have one constant shape, two different shapes, or three different shapes between them.

[0040] In some instances, the layers of a convolutional neural network may be heterogeneous and may include different mixtures / sequences of convolutional layers, pooling layers, fully connected parallel layers, concatenated layers, etc. For example, layers 432, 434, and 436 may represent three parallel layers, although more or fewer parallel layers may be implemented. Similarly, while the output from each of layers 432, 434, and 436 is shown as an input to layer 438, which in some embodiments is a concatenated layer, one or more of layers 432, 434, and 436 may include additional convolutional or other layers before the concatenated layer. For example, one or more convolutional or other layers may exist between layer 432 (e.g., a convolutional layer) and layer 438 (e.g., a concatenated layer). In some embodiments, another convolutional layer (with a different kernel) may be implemented between layer 432 and layer 438, while no such intervening layer is implemented for layer 434. In other words, in this example, the input to layer 432 may pass through another convolutional layer before being input to layer 438 (e.g., a concatenation layer), while the input to layer 434 is output directly to layer 438 (without another convolutional layer).

[0041] In some embodiments, layers 432, 434, 436, and 438 (e.g., three parallel convolutional layers and one concatenation layer) may represent blocks within neural network 430, with one or more additional blocks implemented before or after the illustrated blocks. For example, a block may be characterized by at least two parallel convolutional layers and a subsequent concatenation layer. In some embodiments, multiple additional convolutional layers (e.g., three or more) with various parallel structures may be implemented as a block. Neural network 430 illustrates one embodiment of a feedforward convolutional neural network with several convolutional layers (e.g., implementing one-dimensional and / or two-dimensional filters or kernels) with parallel orientations and a subsequent fully connected layer. Embodiments may implement any other suitable convolutional neural network.

[0042] In some embodiments, the layers of neural networks 400 and 430 may be any other suitable neural network layers (e.g., layers that do not implement convolution kernels). For example, in some embodiments, a mixture of layers may be implemented in a neural network, where convolutional layers and / or convolutional neural networks and / or convolutional blocks are implemented along with other layers, networks, or blocks.

[0043] FIG. 4C illustrates a neural network 460 that may include blocks 462, 464, 466, and 468. In some embodiments, the neural network 460 may be a recurrent neural network ("RNN"). For example, inputs 470, 472, 474, and 476 may represent input sequences to the neural network 460 (e.g., energy usage data as a time series), and outputs 478, 480, 482, and 484 may represent output sequences. In some embodiments, the blocks 462, 464, 466, and 468 may be any suitable recurrent neural network blocks, such as long-short-term memory ("LSTM") blocks, gated recurrent unit ("GRU") blocks, second-order RNN blocks, simple recurrent network blocks, blocks with appropriate weight matrices (e.g., weight matrices for inputs, weight matrices for computing hidden states, and weight matrices for computing outputs), blocks with any suitable combination of weight matrices, activation functions, and / or gates, etc.

[0044] In some embodiments, the blocks of neural network 460 pass a hidden state (or multiple hidden state values) when processing a sequence of inputs. For example, block 462 may calculate a hidden state that is passed to output 478 and block 464. Similarly, block 464 may calculate a hidden state that is passed to output 480 and block 466, and so on. In some embodiments, neural network 460 may include several more blocks (e.g., six or more) and several more layers (e.g., two or more layers of blocks). In some embodiments, neural network 460 may be a bidirectional neural network (e.g., hidden states are passed back and forth between blocks).

[0045] Embodiments implement neural networks that include a heterogeneous mix of architectures. For example, the implemented neural network may include CNN layers combined with RNN layers. In some embodiments, CNN architectures (e.g., serial convolutional layers, parallel convolutional and / or concatenation layers, pooling layers, fully connected layers, etc.) are combined with RNN architectures (e.g., blocks of RNN neural networks), such that outputs from the CNN architecture serve as inputs to the RNN architecture. For example, input data (e.g., energy usage data as a time series) may be processed by the CNN architecture, and outputs from the CNN architecture may be input from the RNN architecture, which may process the input data to generate prediction results. In some embodiments, one or more fully connected layers (with appropriate activation functions) may follow the CNN architecture, the RNN architecture, or both. Other implementations may include other neural network architectures, other stacks of layers, and / or other suitable orientations of neural network components.

[0046] In some embodiments, the neural network may be configured for deep learning, for example, based on the number of neural network layers implemented. In some examples, a Bayesian network or other type of supervised learning model may be similarly implemented. For example, a support vector machine may be implemented, possibly with one or more kernels (e.g., a Gaussian kernel, a linear kernel, etc.).

[0047] In some embodiments, test instances can be provided to the model to calculate its accuracy. For example, referring back to FIG. 3 , a portion of the training data 308 / labeled or surveyed energy usage data (e.g., validation data) can be reserved for testing the trained model (e.g., rather than training the model). The accuracy measure can be used to tune 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 assess the accuracy of the trained model (e.g., a 75% vs. 25% training vs. test / validation ratio, etc.). In some embodiments, data can be randomly selected for the test and training segments across various iterations of testing.

[0048] In some embodiments, when tested, the trained model can output a prediction (e.g., a number between 0 and 1 or a confidence value such as "yes," "no," or "probably") indicating the presence of target device energy usage within a given input (e.g., an instance of test data). For example, the instance of test data can be energy usage data for a given source location (e.g., a household) over a period of time, including a label indicating whether target device energy usage is present or not. Because the presence of target device energy usage is known for that given input / test instance, the predicted value can be compared to the known value to generate an accuracy metric. The accuracy of the trained model can be evaluated based on testing the trained model with multiple instances of test data.

[0049] In some embodiments, the design of the prediction module 306 may be tuned based on accuracy calculations during training, retraining, and / or updated training. For example, tuning may include adjusting some hidden layers in a neural network, adjusting kernel calculations (e.g., used to implement a support vector machine or neural network), etc. This tuning may also include adjusting / selecting features used by a 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 of the prediction module 306 that, when trained, achieves desired performance (e.g., performs predictions at a desired level of accuracy, operates according to desired resource utilization / time metrics, etc.). In some embodiments, the trained model may be saved or stored for further use and to preserve its state. For example, training of the prediction module 306 may be performed “offline,” and the trained model can then be stored and used as needed to achieve time- and resource-efficient data predictions.

[0050] An embodiment of the prediction module 306 is trained to identify the presence of target device energy usage within overall source location (e.g., household) energy usage data based on the processed training data. Examples of energy usage data that may be processed to generate training data 308 include:

[0051] [Table 1]

[0052] This example sample row of data includes the following columns: identifier, timestamp, total (energy use), and labeled device-specific energy use (e.g., air conditioner, electric vehicle, refrigerator, etc.). This example includes a 15-minute granularity, but other suitable granularities can be implemented as well (e.g., 1 minute, 5 minutes, 30 minutes, 1 hour, hours, 1 day, days, 1 week, weeks, 1 month, etc.). In some embodiments, processing the energy usage data (e.g., to generate training data 308) can include reducing the granularity of the data so that it can be used to generate a training corpus having, for example, a certain granularity (e.g., 1 hour, 1 day, 1 week, 1 month, etc.). Such granularity reduction can be achieved by summing data usage values ​​over components that make up a unit of time (e.g., summing data usage values ​​over four 15-minute intervals that make up an hour).

[0053] Embodiments include a target device (e.g., an electric vehicle) and / or a set of target devices included in the training data 308. For example, the training of the prediction module 306 may be configured to identify the presence of target device energy usage within overall energy usage, and the training data may include labeled data usage for a single target device or multiple target devices.

[0054] An embodiment includes a set of devices contained within the training data 308. For example, training of the prediction module 306 may be configured to generate target device discovery predictions. However, training may utilize labeled data usage of a set of other devices in addition to the target device. In some embodiments, the set of other devices may be based on energy usage data and / or device-specific labeled data values ​​available for training purposes. Training data is often limited, and therefore training techniques that leverage available training data are often beneficial. In some embodiments, the set of other devices used in the training techniques may be based on device diversity within the available training data, different combinations of devices at a given source location, and / or the frequency with which different combinations of devices are seen in the available training data.

[0055] In some embodiments, data preprocessing may include selecting a subset of columns, a subset of rows, from Table 1, data aggregation (or some other mathematical / combinatorial function), and other appropriate processing. For example, data cleaning, normalization, scaling, or other processing that makes the data suitable for machine learning may be performed. In some embodiments, the training data may include labeled data (e.g., labeled data of target devices with metered energy usage) and surveyed data (e.g., labeled data of target devices without metered energy usage). For example, the labeled data may include total energy usage data at the source location and labeled energy usage data of the target devices.

[0056] The surveyed data can include an indication of the presence of a target device (e.g., at a source location) as indicated through a survey on a particular date. In some embodiments, a survey response for a target device can be associated with a temporal characteristic (e.g., the date of the response to the survey) and a given source location (e.g., a household), such that the surveyed data is represented by total energy use at a given location proximate to the temporal characteristic with a general label that the data includes target device energy use (rather than a specific target device energy use value). In some embodiments, labeled energy use data can be highly useful, but also dangerous. Therefore, the surveyed energy use data can be combined with labeled energy use data to enhance the performance of a trained machine learning model. For example, enhancing the labeled energy use data with surveyed energy use data can improve the overall performance of the model and produce more accurate results.

[0057] In some embodiments, input 302 and / or training data 308 can include information other than energy usage information. For example, weather information related to the energy usage data (e.g., weather at the time the energy usage was measured, such as precipitation, temperature, etc.), calendar information related to the energy usage data (e.g., calendar information at the time the energy usage was measured, such as month, date, day of the week, etc.), timestamps related to the energy usage data, and other related information can be included in input 302 and / or training data 308. For example, other related information associated with an instance of source location energy usage data (e.g., over a day, a week, a month, or any other predetermined duration of the energy usage data) can include average temperature, minimum temperature, maximum temperature, average dew point, minimum dew point, and / or maximum dew point.

[0058] Embodiments process energy usage data from source locations (e.g., households) to generate training data 308 used to train the prediction module 306. For example, overall source location energy usage data values ​​can be combined with labeled energy usage data values ​​(and, in some implementations, surveyed energy usage data) of one or more target devices, and the resulting combination can be processed to arrive at training data 308. In some embodiments, source location energy usage data can be obtained via measurement (e.g., metering). In addition, measurement, metering, or some other technique for receiving / monitoring energy usage of specific devices within a source location can be implemented to generate device-specific labeled energy usage data for training. In other examples, energy usage data including source location energy usage and separated target device-specific energy usage within the source location can be obtained from a third party. Training data can be obtained in any suitable manner, such as by monitoring a source location (e.g., a household) under known conditions, obtaining a publicly (or otherwise) available dataset, developing a joint venture or partnership that results in training data, and through any other suitable means.

[0059] In some embodiments, multiple instances of source location energy usage data (e.g., each covering a predetermined time duration) can be input to the trained prediction module 306, resulting in multiple predictions (e.g., a prediction for each instance). For example, an instance of input data provided to the trained prediction module 306 can be a week (or month) of source location energy usage data (e.g., along with other associated relevant information such as weather, almanac, etc.), and a prediction (e.g., a confidence data / interval value between 0 and 1, a “yes,” “no,” or “probably” decision, or any other suitable numeric range) indicating the presence of target device energy usage within the source location energy usage (e.g., over the week or other suitable duration). In some embodiments, the instance of source location energy usage data can be broken down to a given granularity (e.g., 15 minutes, 30 minutes, hourly, hourly, daily, daily, weekly, monthly, etc.) over the duration (e.g., week or month). In other embodiments, an instance of source location energy usage data may have a single data value (or a small number of data values) for the entire duration (e.g., an energy usage data value corresponding to a monthly bill).

[0060] In some embodiments, the prediction module 306 can be provided with these multiple instances of input data (e.g., multiple weeks or months), resulting in the generation of multiple instances of presence predictions (reliability data values). For example, the analysis module 310 can combine instances of presence predictions to generate an overall prediction regarding whether source energy usage data measured over a time period (e.g., a time period spanning or otherwise associated with multiple instances of input data used to generate the instances of presence predictions) includes the presence of target device energy usage. In some embodiments, a mathematical function can be used to combine instances of presence predictions to generate an overall prediction regarding whether source location energy usage data measured over the time period includes the presence of target device energy usage. For example, the instances of presence predictions can be data values ​​between a given range (e.g., between 0 and 1), and combining can include averaging, minimum, maximum, k-max averaging, combinations thereof, and any other suitable combining technique.

[0061] In some embodiments, the combined data value may represent an overall prediction of the presence of target device energy usage over the time period (e.g., using values ​​within a predetermined range, such as 0 to 1) and may be output as output data 312. For example, input data 302 may be multiple instances of source location energy usage data spanning a time period (e.g., multiple weeks of data spanning a few or several months), and output data 312 may be an overall prediction (e.g., a confidence data value) that combines the multiple instances of presence prediction, the overall prediction indicating the presence of target device energy usage within the source location energy usage data over the time period.

[0062] In some embodiments, the output data 312 can be compared to a reference or threshold (e.g., a configurable threshold) to determine whether the overall prediction is positive (e.g., the source location energy usage data includes the target device energy usage) or negative (e.g., the source location energy usage data does not include the target device energy usage). FIGS. 5A-5B show sample graphs representing device-specific energy usage presence prediction results according to example embodiments. The data shown in the sample graphs represent tested embodiments disclosed herein for predicting the presence of a target device energy usage from total energy usage at an unknown source location (e.g., a household). FIG. 5A shows a graphical representation of total energy usage data and predicted confidence data values ​​of the presence of target device energy usage according to some embodiments. In graph 502, time is represented on the x-axis, while energy usage (in kWh) is represented on the y-axis.

[0063] 5A , the trained predictive model can receive (as input) total energy usage data values ​​(e.g., processed input data) and generate a graph-representative prediction (e.g., a confidence value that the energy usage data includes target device energy usage). The total energy usage data values ​​serving as input data can include energy from multiple devices, which can include the target device. In some embodiments, the presence prediction shown in graph 502 can be an instance of a presence prediction based on an instance of input data (e.g., energy usage data over a predetermined duration, such as one week).

[0064] Graph 502 shows that the trained predictive model begins to predict high confidence values ​​around June 2019. In other words, around June 2019 (and thereafter), the trained predictive model positively discovers the presence of the target device energy usage within the overall source location energy usage. Some embodiments of the predicted confidence values ​​for the target device achieve high accuracy over a multi-week time period, while other embodiments achieve high accuracy over a multi-month time period, depending, for example, on the granularity of the input / training data. Any other suitable data granularity, time period, or other suitable parameters may be implemented.

[0065] Embodiments implement threshold confidence data values ​​that indicate the presence of target device energy usage. For example, FIG. 5A demonstrates a first output confidence data value before June 2019 and a second output confidence data value after June 2019, where the first output confidence data value does not indicate the presence of target device energy usage and the second output confidence data value indicates the presence of target device energy usage. Some embodiments utilize a criterion or threshold, where any confidence value greater than the threshold indicates a positive prediction of the presence of target device energy usage.

[0066] 5B illustrates graphical output data generated by a trained predictive model according to some embodiments. For example, graph 504 is a precision-recall curve of the output from the trained predictive model, and graph 506 is a receiver-operator characteristic ("ROC") curve of the output from the trained predictive model. Graphs 504 and 506 illustrate the accuracy of these outputs based on true positives ("TP"), false positives ("FP"), true negatives ("TN"), and / or false negatives ("FN"). Graph 504 plots recall (e.g., TP / (TP+FN)) on the x-axis and precision (e.g., TP / (TP+FP)) on the y-axis, while graph 506 plots false positive rate (e.g., FP / (FP+TN)) on the x-axis and true positive rate (e.g., TP / (TP+FN)) on the y-axis. In some embodiments, the threshold may be configured based on the accuracy relationships shown in graphs 504 and / or 506 .

[0067] Some embodiments implement flexible criteria that can include multiple thresholds based on the objectives and use cases. For example, a “high precision” use case has a relatively higher threshold that is empirically calculated (e.g., based on output data from a trained model that achieves high precision), while a “high reach” use case has a relatively lower threshold that is empirically calculated (e.g., based on output data from a trained model that balances precision with the number of source locations captured by the threshold). Other objectives and / or use cases and corresponding thresholds aimed at optimizing these objectives / use cases can be implemented as well. In some embodiments, the threshold can be derived using the precision-recall value of a trained model, the ROC value of a trained model, a combination thereof, or any other suitable technique can be used to calculate the threshold (or thresholds).

[0068] In some embodiments, multiple machine learning models can be trained and the outputs of these models can be combined to achieve a target device presence prediction. Figure 6 illustrates an architecture for using multiple machine learning models to discover the presence of target device energy usage within home energy usage according to an example embodiment.

[0069] System 600 includes input data 602, a processing module 604, prediction modules 606 and 610, training data 608 and 612, an analysis module 614, and an output 616. In some embodiments, input data 602 may include energy usage from a source location, and the data may be processed by processing module 604. For example, processing module 604 may process input data 602 to generate features based on the input data. In some embodiments, input data 602 and processing module 604 may be similar to input data 302 and processing module 304 of FIG. 3 .

[0070] In some embodiments, prediction modules 606 and 610 may be machine learning modules (e.g., neural networks) trained by training data 608 and 612, respectively. For example, training data 608 and 612 may include labeled data, such as energy usage data values ​​from multiple source locations (e.g., source locations 102 and 106 from FIG. 1 ), including labeled target device-specific energy usage data values ​​and / or target device survey energy usage data. Output from processing module 604, such as processed input, may be provided as input to prediction modules 606 and 610. Implementations of prediction modules 606 and 610 may be similar to prediction module 306 of FIG. 3.

[0071] In some embodiments, training data 608 and 612 can train prediction modules 606 and 610 to predict the presence of a target device energy usage from overall source location energy usage. Once trained, prediction modules 606 and 610 can be configured for a variety of different target device presence predictions. For example, training data 608 can train prediction module 606 to find the presence of a target device given a first set of input data, such as source location energy usage data at a first granularity (e.g., hourly granularity with weekly chunks), while training data 612 can train prediction module 610 to find the presence of a target device given a second set of input data, such as source location energy usage data at a second granularity (e.g., monthly granularity with a single or small number of data values). In some embodiments, the prediction module 606 may be configured to discover a first variety of target device energy usage (e.g., one target device or set of target devices, energy usage of a particular type of target device, etc.), and the prediction module 610 may be configured to discover a second variety of target device energy usage.

[0072] In some embodiments, prediction module 606 can generate multiple instances of a first target device presence prediction based on input data 602, and / or prediction module 610 can generate multiple instances of a second target device presence prediction based on input data 602. These predictions from prediction modules 606 and 610 can be input to analysis module 614, which can generate one or more target device predictions as output data 616.

[0073] In some embodiments, analysis module 614 can be similar to analysis module 310. For example, analysis module 614 can combine multiple instances of presence predictions from either or both prediction modules 606 and 610 to generate an overall presence prediction. In some embodiments, prediction module 606 is trained to predict the presence of a first variety of target devices, prediction module 610 is trained to predict the presence of a second variety of target devices, and analysis module 614 combines these predictions from each module to arrive at the overall presence prediction. For example, input data 602 can be overall energy usage data from source locations that is processed by processing module 604 and provided to trained prediction module 606 and trained prediction module 610.

[0074] In some embodiments, each prediction module can generate multiple instances of a presence prediction (e.g., confidence data values) that are combined by the analysis module 614. The output 616 can be a single confidence data value indicating the presence of the target device or multiple confidence data values ​​indicating the presence of multiple different target devices. For example, instances of a presence prediction from prediction module 606 can be combined by the analysis module 614 to arrive at a confidence data value for a first target device, and instances of a presence prediction from prediction module 610 can be combined by the analysis module 614 to arrive at a confidence data value for a second target device. In some embodiments, instances of presence predictions from prediction modules 606 and 610 can both be combined by the analysis module 614 to arrive at a confidence data value for the target device.

[0075] Embodiments realize several next-level advantages that provide further enhancements to target device presence predictions. For example, embodiments implementing flexible thresholds may be optimized for precision, reach, a combination of these, or any other suitable use case. Some embodiments can accept a variety of different types of input / training data. For example, a given trained predictive model may be configured to utilize energy usage data at a first granularity (e.g., hourly granularity with weekly chunks), while another trained predictive model may be configured to utilize energy usage data at a second granularity (e.g., monthly or monthly chunks with weekly granularity). These embodiments are configured to utilize high-resolution data when available, thus optimizing predictions using the best available data, and to utilize lower-resolution data when high-resolution data is not available, thus providing a robust solution that works under a variety of conditions.

[0076] Embodiments may be configured to discover the presence of energy usage from various target devices. For example, using one or more trained predictive models, embodiments may discover the presence of energy usage (within the overall source location energy usage) for the following target devices: Battery electric vehicles (L1 standard and L2 fast charging: 120V and 240V) Plug-in hybrid electric vehicles (L1 standard and L2 fast charging: 120V and 240V) Water heater ·washing machine ·Dryer Pool pump Electric heating Electric cooling Heating, ventilation and air conditioning (HVAC) devices Photovoltaic / solar panels Embodiments are also extensible in that they can support a variety of additional target devices with associated training data, making them highly scalable in modern cloud computing environments. Implemented embodiments have been used to predict the presence of target devices at millions of source locations with promising results.

[0077] Embodiments also support improvements to electric grid infrastructure. In reality, demand for electricity experiences peak loads that can cause high costs for the utilities that implement the electric grid and high environmental costs. To address this problem, utilities aim to better distribute electric demand and mitigate the risk of peak loads. Because embodiments can identify target device energy consumption from household energy consumption, utilities can target customers with certain target devices to achieve this load balancing. For example, electric vehicle charging can be identified as a factor that exacerbates or alleviates peak loads. Embodiments support discovery of utility customers with electric vehicles, and utilities can then target these customers with load balancing campaigns.

[0078] For example, to better serve customers while balancing the load on the grid, time-of-use ("TOU") rates can be used to ease demand on the grid by shifting a portion of the load to off-peak times. TOU rates can include incentives for customers to charge electric vehicles off-peak, such as a "residential EV rate" that is priced to induce customers to practice more efficient energy consumption behavior. Furthermore, discovery of the presence of electric vehicles at utility customer premises can be a factor in grid planning. For example, the burden that electric vehicle charging places on the grid can be better understood if the number of utility customers with electric vehicles can be reliably estimated. This allows utilities to better take into account the expected rise in the number of electric vehicles (and other large-capacity battery devices) when planning future grid infrastructure.

[0079] Embodiments can also support utility efforts to transition customers from natural resource (e.g., gas or fuel) appliances to electric appliances. For example, because embodiments can discover the presence of target devices such as electric appliances, they can also reliably discover the absence of such electric devices. Once customers are realized to lack electric appliances, utilities can target these customers with campaigns to transition them from gas appliances (e.g., clothes dryers or water heaters) to electric appliances. Natural resource appliances (e.g., aging appliances) are often less energy efficient than their electric counterparts, and thus such campaigns can improve overall energy efficiency across a region.

[0080] FIG. 7 illustrates a flow diagram for training a machine learning model to discover the presence of a target device energy usage (and, consequently, the presence of that target device) according to an exemplary embodiment. In an embodiment, for each particular device whose presence is desired to be detected / predicted, a separate machine learning model would be trained according to the functions of FIG. 7. For example, a separate trained machine learning model would be used to detect the presence of an electric heater, a different trained machine learning model would be used to detect the presence of a Level 1 EV charger, etc. The presence model prediction is based on confidence interval data for whether the device is present or not. In some embodiments, the functions of FIG. 7 (and FIGS. 8 and 10 below) can 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., through the use of an application-specific integrated circuit (“ASIC”), a programmable gateway (“PGA”), a field-programmable gate array (“FPGA”), etc.), or any combination of hardware and software. In an embodiment, the functions of FIGS. 7, 8, and 10 can be performed by one or more elements of system 200 of FIG. 2.

[0081] At 702, energy usage data from multiple source locations can be received, the energy usage data including energy usage by the target device and one or more other devices. For example, the energy usage data can be similar to the data shown in Table 1 above or can include a subset of the columns in Table 1. In some embodiments, the received data can include a timestamp, overall energy usage at the source location (e.g., a household), and a labeled energy usage data value for the target device or a surveyed indication of target device energy usage (e.g., a general label without a target device energy usage-specific data value). The energy usage data can be received from a third party by monitoring energy usage, based on a partnership, or through any other suitable channel or entity.

[0082] At 704, a machine learning model can be configured. For example, a machine learning model such as a neural network, a CNN, an RNN, a Bayesian network, a support vector machine, any combination thereof, or any other suitable machine learning model can be configured. Parameters such as the number of layers (e.g., the number of hidden layers), input shape, output shape, width, depth, directionality (e.g., feedforward or bidirectional), activation function, layer or unit type (e.g., gated recurrent units, long-short-term memory, etc.), or other suitable parameters of the machine learning model can be selected. In some embodiments, these configuration parameters can be tuned (e.g., adjusted, globally changed, added, or removed) when training the model.

[0083] In some embodiments, the machine learning model may include a CNN. In this case, parameters such as the type of layer (e.g., convolution, pooling, fully connected, etc.), kernel size and type, stride, and other parameters may also be configured. In some embodiments, the machine learning model may include an RNN. In this case, parameters such as the type of unit (e.g., simple RNN, GRU, LSTM, etc.), direction, sequence size, depth, and other parameters may also be configured. In some embodiments, the machine learning model may include one or more CNN layers and one or more RNN layers. CNN and / or RNN configuration parameters may also be tuned when training the model.

[0084] At 706, the energy usage data can be processed to generate training data. For example, the energy usage data from the source locations can be cleaned, normalized, and otherwise processed to generate consistent training data (e.g., energy usage data at a given granularity, such as hourly). In some embodiments, chunks of training data covering a predetermined duration (e.g., one week or one month) can be generated, where the chunks of training data include source location energy usage data at the given granularity over the duration. In some embodiments, the target device can be at least one of an electric vehicle, a water heater, a washing machine, a dryer, a pool pump, an electric heating device, an electric cooling device, a heating, ventilation, and air conditioning (e.g., "HVAC") device, and a photovoltaic device, and the training data includes characteristics of the target device energy usage.

[0085] At 708, a machine learning model can be trained using the generated training data to predict the presence of target device energy usage. 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 discussed herein, the labeled energy usage of the target device and / or the surveyed target device energy usage can be used to train the machine learning model.

[0086] In some embodiments, the trained machine learning model is trained using energy usage values ​​from multiple source locations (e.g., households), and the training may be optimized for predicting the presence of target device energy usage. In some embodiments, the training data, which in some cases includes labeled energy usage values ​​from target devices, has a granularity of substantially one hour. Other suitable granularities (e.g., 1 minute, 15 minutes, 30 minutes, 45 minutes, etc.) may be implemented as well.

[0087] In some embodiments, the training data can have a low-resolution granularity (e.g., monthly or billing granularity), and one or more models can be trained using this low-resolution granularity data. For example, a first machine learning model can be trained using a first granularity (e.g., hourly granularity and weekly chunks), while a second machine learning model can be trained using a second granularity (e.g., monthly chunks with a single or small number of energy usage data values). In some embodiments, a single machine learning model can be trained on the first granularity, the second granularity, or a combination thereof.

[0088] In some embodiments, the one or more trained machine learning models include one or more recurrent neural network layers and one or more convolutional neural network layers. The machine learning model embodiments and / or the training data utilized may be tuned based on the results of the training. For example, testing of the trained model may indicate the accuracy of the trained model, and various tuning adjustments may be made based on the test accuracy.

[0089] The trained machine learning models can be stored at 710. For example, one or more trained machine learning models that generate predictions that meet criteria (e.g., accuracy criteria or thresholds) can be stored, such that the stored models can be used to predict the presence of target device energy usage.

[0090] 8 illustrates a flow diagram for generating machine learning predictions for discovering target device energy usage according to an example embodiment. For example, the functionality of FIG. 8 can be implemented using one or more machine learning models trained based on the functionality of FIG. 7.

[0091] At 802, multiple instances of source location energy usage may be received for a given source location over a period of time. For example, source location (e.g., household) energy usage data may be broken down into time intervals (e.g., at a granularity of substantially hourly) based on timestamps over a period of time, such as a day, a week, a month, etc. Other suitable granularities may be implemented. In some embodiments, low-resolution energy usage data may be received for the source location. For example, energy usage data over a month may be received, and the granularity of the data may include one or a few values ​​(e.g., daily, monthly, or weekly).

[0092] In some embodiments, the source location energy usage data can be processed. For example, the processing can be similar to the processing of the training data (described with reference to FIG. 7). In such an example, the processing can modify the household energy usage input data to be similar to the training data, so that the trained machine learning model can achieve enhanced predictive results. The processing can include achieving a given granularity of the energy usage data (e.g., hourly), normalization, other forms of scaling, segmentation (e.g., weekly or monthly chunks), and any other suitable processing.

[0093] At 804, the trained machine learning model can be used to generate multiple discovery predictions for the received instances of source location energy usage, where the discovery predictions represent predictions regarding the presence of target device energy usage within the instances of source location energy usage. For example, the processed data (e.g., multiple instances of source location energy usage at a given granularity) can be provided as input data to the trained machine learning model, and the model can generate an instance of a target device discovery prediction corresponding to each instance of source location energy data.

[0094] In some embodiments, the source location is a household, and the received source location energy use has a granularity of at least one hour. For example, an instance of source location energy data can be household energy use data at an hourly granularity over a one-week time period, and the time period can be at least four weeks. In some embodiments, the received source location energy use data is at one of a monthly granularity, a weekly granularity, and a two-monthly granularity over a one-month time period. For example, the time period can be at least eight months, and the instance of source location energy data can be household energy use data at an hourly, weekly, or two-monthly granularity over a one-month time period (e.g., each instance includes one or a few data values). In other examples, the time period can be four months, three months, two months, six weeks, etc., and any suitable granularity can be implemented.

[0095] In some embodiments, each instance of a discovery prediction generated by the trained machine learning model is based on the corresponding instance of source location energy use (e.g., hourly granularity over the time of a week) and the weather conditions associated with the corresponding instance of source location energy use (e.g., weather conditions over the week). For example, the weather conditions are associated with the source location (e.g., a household), the weather conditions include one or more of an average temperature, a maximum temperature, and a minimum temperature, and the weather conditions relate to a duration associated with the corresponding instance of source location energy use (e.g., almanac data). In some embodiments, the weather conditions can include dew point, humidity, relative humidity, solar irradiance, and other suitable weather data.

[0096] At 806, the multiple discovery predictions may be analyzed, and at 808, an overall prediction regarding the presence of target device energy usage within the energy usage of the given source location over the time period may be generated based on the multiple discovery predictions. For example, generating the overall prediction may include combining reliability data values ​​corresponding to the multiple discovery predictions to generate an overall reliability data value. In some embodiments, the presence prediction instances may be data values ​​between a given range (e.g., between 0 and 1), and combining may include averaging, minimum, maximum, k-max averaging, combinations thereof, and any other suitable combining technique.

[0097] In some embodiments, the discovery prediction is a reliability data value indicating the presence of target device energy usage within an instance of source location energy usage, and the overall prediction is an overall reliability data value indicating the presence of target device energy usage within the energy usage of a given source location over the time period. For example, generating the overall prediction may include combining reliability data values ​​corresponding to multiple discovery predictions to generate the overall reliability data value. In some embodiments, the overall reliability data value is compared to a criterion or threshold, and the presence of target device energy usage is positively discovered when the overall reliability data value meets or exceeds the criterion or threshold.

[0098] Once one or more models have been trained via the functionality of FIG. 7, "live" input data can be provided to the models to predict the presence of a target device.

[0099] In embodiments, each prediction module (e.g., 306) corresponding to each separately trained model outputs a prediction of the presence of the target device in terms of an overall confidence value as disclosed above. The confidence value may be converted to a prediction of "yes" (or "very likely"), "no" or "probably" (or "somewhat likely"). For example, if the confidence value is a number between 0 and 1, then "yes" or "very likely" may be greater than 0.7, "no" may be less than 0.2, and "probably" or "somewhat likely" may be between 0.2 and 0.7. Table 2 below provides some exemplary confidence intervals.

[0100] [Table 2]

[0101] For example, embodiments via the analysis module 614 and / or output module 616 of FIG. 6 may also generate a graphical output of presence detection of multiple target devices. FIG. 9 illustrates a graphical output 900 generated by the analysis module 614 and / or output module 616 of FIG. 6 according to an embodiment. FIG. 9 is a bar graph illustrating the predicted number of homes with electric heating, a Level 1 EV charger, or a Level 2 EV charger. The predictions are categorized as "very likely" (bars 901-903), "somewhat likely" (bars 905-908), or "no" (no bar).

[0102] The availability of complete and robust training data 608, 612 used to train each of the models (e.g., prediction modules 606, 610) shown in FIG. 6 may be limited. The training data set is typically received using AMI-generated data from households or utilities. These households may not be representative or robust enough to predict the presence of a particular device. For example, if the source of the training data is from households in an area of ​​the country with very little sunshine, the corresponding training data generated will likely include data from no or very few households with solar panels for generating electricity (i.e., photovoltaic). A trained model trained using that training data can be used to predict the presence of electric heating. However, if the input / live data comes from a subset of homes whose homes are powered by solar power, the resulting prediction of the presence of electric heating will likely be inaccurate due to the incomplete training data used to train the model.

[0103] FIG. 10 illustrates a flow diagram for generating a machine learning prediction of the presence of a target device using multiple trained machine learning models according to an example embodiment.

[0104] Specifically, in an embodiment, at 1002, a first model is trained via the functionality of FIG. 7 to predict the presence of an EV Level 1 charger ("L1 charger," i.e., "first device"). However, the first trained model was trained using training data from a set of homes that have no or disproportionately no solar power (i.e., "incomplete" training data for "second device"). Thus, input / live data for a set of homes, a subset of which have solar power, will not produce an accurate prediction of the presence of an L1 charger using the first model.

[0105] At 1004, a second model is trained to predict the presence of a solar generator (e.g., a solar panel) via the functionality of Figure 7. The second model is suitably trained using representative training data.

[0106] At 1006, the input / live data for both the first model and the second model includes AMI data for the home's service area. For example, AMI data for homes in Southern California. In embodiments, the input data further includes weather data / conditions. For example, the weather conditions are associated with a source location (e.g., a home), the weather conditions include one or more of an average temperature, a maximum temperature, and a minimum temperature, and the weather conditions relate to a duration associated with a corresponding instance of source location energy use (e.g., almanac data). In some embodiments, the weather conditions can include dew point, humidity, relative humidity, solar irradiance, and other suitable weather data. The input data can include home energy use data over time.

[0107] At 1008, in response to the input data, the first trained model generates a prediction for each home of the presence of an L1 charger. Each prediction can be classified as yes, no, or probably using confidence data values ​​as disclosed above. The predictions can be in the form of a database table with a list of each home by ID and the corresponding prediction.

[0108] At 1010, in response to the input data, the second trained model generates a prediction for each home of the presence of solar power. Each prediction can be classified as yes, no, or probably. As with the first trained model, the predictions can be in the form of a database table with a list of each home by ID and the corresponding prediction.

[0109] At 1012, embodiments combine the two sets of predictions by subtracting homes predicted to have solar power from the second trained model (i.e., yes predictions) from all homes from the first trained model. Those homes are therefore removed from the first model's predictions, and the predictions for those removed homes are not used. The result is a more accurate / improved prediction of the presence of L1 chargers from the remaining homes than predictions from the first trained model alone.

[0110] In another exemplary embodiment, for electric heating, the model has not been scored / trained on solar, and the model typically gives more "yes" values ​​than EV L1 or EV L2. As a result, the embodiment scores the solar model and subtracts both "yes" and "probably" values. Because the model generally tends to score homes with electric heating more than electric vehicles, improved results are derived from filtering both "yes" and "probably" from the solar results.

[0111] Table 3 below provides an example of the number of yes, no, and likely results for the "Solar" forecasting model ("Second Model"), "Before EV L1 Filtering" ("First Model"), and "After EV L1 Filtering" (i.e., the results after 1012 combined functions). For EV L1, "Yes" solar customers are subtracted. Table 3 provides another example of the number of yes, no, and likely results for "Before Electric Heating Filtering" ("First Model") and "After Electric Heating Filtering" (i.e., the results after 1012 combined functions). For Electric Heating, "Yes" and "Probable" solar customers are subtracted. The numbers shown are the number of presence detection occurrences over time, not the number of unique customers. Each example is shown for two utilities, "Utility 1" and "Utility 2."

[0112] [Table 3]

[0113] The information in Table 3 reflects an embodiment in which if the presence discovery model indicates solar=yes for a home, then the home is filtered out from EV L1.

[0114] For a home, if the presence discovery model indicates solar=yes or solar=maybe, then the home is filtered out from electric heating.

[0115] For Utility 1, there was exactly one customer where EV L1=Yes was detected but Solar=Yes was also detected, and this was filtered out of the resulting dataset.

[0116] The number of solar customers is shown for reference only, as it is not possible to quantify the number of customers who are actually filtered out of EV L1 and electric heating.

[0117] Table 4 below shows one measure of improvement using an embodiment of the present invention, which is the percentage of customers filtered.

[0118] [Table 4]

[0119] As disclosed, embodiments detect the presence of a target device using two different trained machine learning models: a first model detects the presence of the target device and is trained with a dataset that generally lacks the first device; and a second model detects the presence of the first device. The outputs of the first and second models are combined to provide a more accurate detection of the presence of the target device than that provided by the first model alone.

[0120] The features, structures, or characteristics of the present disclosure described throughout this specification can be combined in any suitable manner in one or more embodiments. For example, the use of "one embodiment," "some embodiments," "an embodiment," "some embodiments," or other similar language throughout this specification refers to the fact that a particular feature, structure, or characteristic described in connection with that embodiment can be included in at least one embodiment of the present invention. Thus, the appearances of the phrases "one embodiment," "some embodiments," "an embodiment," "some embodiments," or other similar language throughout this specification do not necessarily all refer to the same group of embodiments, and the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments.

[0121] Those skilled in the art will readily appreciate that the embodiments as discussed above may be practiced with steps in a different order and / or with 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 will be apparent while remaining within the spirit and scope of the disclosure. Accordingly, reference should be made to the appended claims to determine the scope of the present disclosure.

Claims

1. A method for generating machine learning predictions to discover target device energy usage, This includes training a first machine learning model to predict the presence of a first device, The training data used to train the first machine learning model is incomplete for the second device. The aforementioned method, Training a second machine learning model to predict the presence of a second device, Receiving input data on household energy usage and weather data, Based on the input data, the presence of the first device in each household is predicted using the trained first machine learning model, Based on the input data, the presence of the second device in each household is predicted using the trained second machine learning model, The prediction of households having the first device is generated by subtracting the households predicted to have the second device from the households predicted to have the first device, Methods that further include this.

2. The method according to claim 1, wherein the first device includes an electric vehicle level 1 charger, and the second device includes a photovoltaic generator.

3. The method according to claim 1, wherein predicting the presence of the first device for each household and predicting the presence of the second device for each household includes outputting yes, no, or probably for each household.

4. The method according to claim 3, based on the aforementioned yes, no, or possibly predefined threshold.

5. The method according to claim 2, wherein the training data used to train the first machine learning model is generated from multiple households that do not have solar power generators and is therefore incomplete for the second device.

6. The method according to claim 3, wherein the prediction of the presence of the first device in each of the households includes confidence data values ​​indicating the presence of target device energy use within an instance of source location energy use, and the overall prediction includes overall confidence data values ​​indicating the presence of target device energy use within a given source location energy use over a period of time.

7. The method according to claim 6, wherein generating the overall prediction includes generating the overall reliability data value by combining the reliability data values ​​corresponding to a plurality of discovery predictions.

8. The method according to claim 1, wherein the trained first machine learning model comprises one or more recurrent neural network layers and one or more convolutional neural network layers.

9. A program that, when executed by one or more processors, comprises instructions that cause the processors to perform the method according to any one of claims 1 to 8.

10. A system for discovering target device energy usage, Equipped with a first trained machine learning model for predicting the presence of a first device, The training data used to train the first machine learning model is incomplete for the second device. The aforementioned system, A second trained machine learning model for predicting the presence of a second device, One or more processors, Furthermore, The one or more processors described above are Receiving input data on household energy usage and weather data, Based on the input data, the presence of the first device in each household is predicted using the trained first machine learning model, Based on the input data, the trained second machine learning model is used to predict the presence of the second device in each household. The prediction of households having the first device is generated by subtracting the households predicted to have the second device from the households predicted to have the first device, A system configured to perform the following actions.

11. The system according to claim 10, wherein the first device includes an electric vehicle level 1 charger, and the second device includes a solar power generator.

12. The system according to claim 10, wherein predicting the presence of the first device for each household and predicting the presence of the second device for each household includes outputting yes, no, or probably for each household.

13. The system according to claim 12, based on the aforementioned yes, no, or possibly predefined threshold.