Targeted energy use device presence detection using multiple trained machine learning models

By combining the output with two trained machine learning models, the accuracy problem of the decomposition of the energy use of the target device in the home energy use is solved, achieving higher detection accuracy.

CN119547090APending Publication Date: 2025-02-28ORACLE INT CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380053309.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-08-10
Filing Date
2023-07-27
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

The prior art is difficult to accurately decompose the energy use of the target device from the total household energy use, especially when there are a wide variety of devices and limited training data.

Method used

Two different trained machine learning models are used to predict the presence of the first device and the second device, and by combining the outputs of both, a more accurate target device presence detection is generated.

Benefits of technology

The accuracy of the target device's existence detection is improved, and the energy use of the target device can be effectively predicted when there are a wide variety of equipment and limited training data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119547090A_ABST
    Figure CN119547090A_ABST
Patent Text Reader

Abstract

Embodiments generate machine learning predictions to discover target device energy usage. Embodiments train a first machine learning model to predict the presence of a first device, wherein training data for training the first machine is insufficient for a second device. Embodiments train a second machine learning model to predict the presence of a second device. Embodiments receive input data of home energy usage and weather data, and based on the input data, predict the presence of each home first device using a trained first machine learning model. Based on the input data, embodiments predict the presence of each home second device using a trained second machine learning model. The embodiment then subtracts the home predicted to have the second device from the home predicted to have the first device to generate a prediction of the home having 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 household energy usage derived in part from information received from the utility metering device. Background Art

[0002] Non-intrusive load monitoring (“NILM”) and disaggregation of the various energy-using devices at a given source location have proven challenging. For example, for a household, disaggregation of energy usage of appliances and / or electric vehicles from the overall monitored energy usage of the household has been difficult to achieve, in part due to the large variety of household appliances and / or electric vehicles (e.g., brands, models, years, etc.). Advances in metering devices have provided some opportunities, but successful disaggregation remains elusive. Progress has been further hampered by the limited availability of labeled datasets or source location energy usage values ​​with labeled appliance energy usage values ​​(e.g., household energy usage values ​​tagged with energy usage values ​​for appliance 1, electric vehicle 1, appliance 2, etc.). Therefore, NILM and disaggregation techniques that can learn from these limited datasets to successfully predict the energy usage of a target device from the general energy usage at the source location would greatly advance the art and benefit users who implement these techniques. Summary of the invention

[0003] An embodiment generates machine learning predictions to discover target device energy usage. An embodiment trains a first machine learning model to predict the presence of a first device, wherein the training data used to train the first machine is insufficient for a second device. An embodiment trains a second machine learning model to predict the presence of a second device. An embodiment receives input data of household energy usage and weather data, and based on the input data, uses the trained first machine learning model to predict the presence of a first device for each household. Based on the input data, an embodiment uses the trained second machine learning model to predict the presence of a second device for each household. The embodiment then subtracts the households predicted to have the second device from the households predicted to have the first device to generate a prediction of households having the first device. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0005] Figure 1 A system for generating machine learning predictions to discover target device energy usage is illustrated according to an example embodiment.

[0006] Figure 2A block diagram of a computing device operably coupled to a system is illustrated according to an example embodiment.

[0007] Figure 3 Illustrated is 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.

[0008] Figures 4A-4C A sample neural network according to an example embodiment is illustrated.

[0009] Figure 5A-5B Illustrated are sample graphs showing device-specific energy usage presence prediction results and accuracy according to an example embodiment.

[0010] Figure 6 Illustrated is 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.

[0011] Figure 7 A flow chart for training a machine learning model to discover the presence of target device energy usage is illustrated according to an example embodiment.

[0012] Figure 8 A flow chart for generating machine learning predictions to discover target device energy usage is illustrated according to an example embodiment.

[0013] Fig. 9 The diagram shows a method according to an embodiment of the present invention. Figure 6 Graphical output generated by the analysis module and / or output module.

[0014] Fig.10 Illustrated is a flow diagram for generating a machine learning prediction of target device presence using multiple trained machine learning models according to an example embodiment. DETAILED DESCRIPTION

[0015] One embodiment uses two different trained machine learning models to detect the presence of a target device. The first model detects the presence of a target device and has been trained using a data set that typically lacks the first device. The second model detects the presence of the first device. The outputs of the first and second models are combined to provide more accurate detection of the presence of the target device than the first model alone provides.

[0016] Embodiments use labeled energy usage data to train at least two machine learning models. For example, a machine learning model, such as a neural network, may be designed / selected. Energy usage data may be obtained from multiple source locations (e.g., homes), where the energy usage data may be labeled with device-specific energy usage. For example, home energy usage values ​​may cover a period of time, and individual device energy usage values ​​(e.g., device 1, electric vehicle 1, device 2, etc.) may be labeled during this period of time. In some embodiments, the home energy usage and device-specific energy usage may then be processed to generate training data for the machine learning model.

[0017] In some embodiments, instances of household energy usage can be received over a period of time. For example, household energy usage can be received at a certain level of granularity (e.g., every 15 minutes, every 30 minutes, every hour, etc.) over a period of time (e.g., a week, two weeks, a month, etc.). In some embodiments, a trained machine learning model can generate multiple prediction instances for each instance of household energy usage data (e.g., four weekly predictions over a one-month period). An overall prediction can then be generated based on the multiple prediction instances. For example, an analysis can be performed on the prediction instances to derive an overall prediction of whether a target energy usage exists in the household energy usage over a period of time.

[0018] Reference will now be made in detail to embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. In the following detailed description, many specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be appreciated by those of ordinary skill in the art that the present disclosure may be practiced without these specific details. In other cases, well-known methods, processes, components, and circuits are not described in detail to avoid unnecessarily obscuring aspects of the embodiments. Whenever possible, the same reference numerals will be used to represent the same elements.

[0019] Figure 1A system for generating machine learning predictions to discover target device energy usage according to an example embodiment is illustrated. 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 can be any suitable location that includes or is otherwise associated with a device that consumes or generates energy, such as a home with devices 110, 112, and 114. In some embodiments, devices 110, 112, and 114 can be electrical devices and / or electric vehicles that use energy, such as washing machines, dryers, air conditioners, heaters, refrigerators, televisions, computing devices, etc. For example, source location 102 can be powered (e.g., electricity), and devices 110, 112, and 114 can draw power from the power supplied to source location 102. In some embodiments, source location 102 is a home, and the power of the home is supplied from a power grid, a local power source (e.g., solar panels), a combination thereof, or any other suitable source.

[0020] 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 simple energy usage meter, etc. In some embodiments, the meter 104 may transmit information about energy usage at the source location 102 to a central power system, a supplier, a third party, or any other suitable entity. For example, the meter 104 may implement two-way communication with an entity to convey energy usage at the source location 102. In some embodiments, the meter 104 may implement one-way communication with an entity, wherein the meter reading is transmitted to the entity.

[0021] In some embodiments, meter 104 may communicate via a wired communication link and / or a wireless communication link, and may utilize a wireless communication protocol (e.g., cellular technology), Wi-Fi, a wireless ad hoc network based on Wi-Fi, a wireless mesh network, low power long range wireless (“LoRa”), ZigBee, Wi-SUN, a wireless LAN, a wired LAN, etc. Devices 110, 112, and 114 (as well as other devices not depicted) 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).

[0022] In some embodiments, source location 106 and meter 108 may be similar to source location 102 and meter 104. For example, network node 116 may receive energy usage information about 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, supplier, grid, analytics service provider, third party entity, or any other suitable entity.

[0023] The following description includes recitation of one or more standards. These terms are used interchangeably throughout the disclosure, and a scope of multiple standards is intended to include a scope of one standard, and a scope of one standard is intended to include multiple standards.

[0024] Embodiments use total home energy usage provided by a metering infrastructure (e.g., advanced metering infrastructure ("AMI"), simple metering infrastructure, etc.) to accurately predict the presence of target device energy usage within the home energy usage. The field of non-intrusive load monitoring ("NILM") and other various energy usage detections has attracted great attention. Accurate device-specific energy usage discovery (e.g., via NILM or NILM-like techniques) provides many benefits, including energy savings opportunities, personalization, improved grid planning, etc.

[0025] Embodiments utilize deep learning schemes that can accurately predict the presence of target device energy use, such as the presence of energy use from electric vehicles or household devices, based on limited or insufficient training sets (e.g., based on non-representative or poorly representative household samples). As disclosed herein, an "insufficient" training set is a training set generated from a non-fully representative household sample. For example, a group of households used to generate a training data set may include 0% or 2% of households with solar energy, while a typical household sample may include 5%-10% of households with solar energy. The less representative the household sample is, the more "insufficient" the corresponding generated training set is considered. Due to the variety of energy-consuming devices (such as energy-consuming devices in ordinary households (e.g., large electrical devices and electric vehicles)) and their corresponding usage conditions, accurate discovery may be challenging. In addition, in the field of NILM, the availability of training data may be limited. Therefore, a learning scheme that can maximize the benefits of the training data set may be particularly effective. In an embodiment, the training data can be used to train a learning model designed to learn effectively under these challenging conditions. The input to the learning model can be provided by AMI or non-AMI (e.g., simple infrastructure) as well as other types of input.

[0026] Conventional NILM implementations have their own drawbacks along with existing learning schemes. Some of the proposed approaches considered previously are based on combinatorial optimization, Bayesian methods, hidden Markov models, or deep learning. However, many of these models are not useful in real-world scenarios due to their various drawbacks. 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), which are often not available or impractical in specific cases given the metering capabilities deployed.

[0027] Embodiments have several benefits over these conventional approaches. For example, embodiments support higher accuracy, and the accuracy continues to improve over time as new data becomes available. Embodiments also implement machine learning models with improved generalization. For example, some model implementations are trained on large and diverse energy usage data sets obtained from a variety of different locations, and these implementations achieve improved results across geographic locations.

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

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

[0030] For example, the communication device 220 may include a network interface card configured to provide wireless network communications. Various wireless communication technologies may be used, including infrared, radio, Bluetooth®, Wi-Fi, and / or cellular communications. Alternatively, the communication device 220 may be configured to provide (one or more) wired network connections, such as an Ethernet connection.

[0031] Processor 222 may include one or more general or special purpose processors to perform 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 concert to perform the functions of processor 222. In addition, processor 222 may execute computer programs stored in memory 214, such as operating system 215, prediction tools 216, and other applications 218.

[0032] The system 200 may include a memory 214 for storing information and instructions 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 functions when executed by the processor 222. These modules may include an operating system 215, which provides operating system functions for the system 200. These modules may include an operating system 215, a prediction tool 216 that implements the target device existence prediction function disclosed herein, and other application modules 218. The operating system 215 provides operating system functions for the system 200. In some cases, the prediction tool 216 may be implemented as a configuration in the memory. In some embodiments, when the system 200 performs the functions of the prediction tool 216, it implements an unconventional special-purpose computer system that performs the functions disclosed herein.

[0033] The non-transitory memory 214 may include various computer-readable media that may be accessed by the processor 222. For example, the memory 214 may include 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 media. The processor 222 is also 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 also coupled to the communication device 212 to enable a user to interface with the system 200.

[0034] In some embodiments, the system 200 may be part of a larger system. Therefore, the 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 Services, Oracle® Cloud Infrastructure, Oracle® Cloud Platform, Oracle® Cloud Applications. Prediction tools 216, other application modules 218, and any other suitable components of the system 200 may include various modules of Oracle® Data Science Cloud Services, Oracle® Data Integration Services, or other suitable Oracle® products or services.

[0035] A database 217 is coupled to bus 212 to provide centralized storage for modules 216 and 218 and to store data received, for example, by forecasting tool 216 or other data sources. Database 217 can store data in an integrated collection of logically related records or files. Database 217 can 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.

[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, tablet, computer, etc.). In an embodiment, system 200 may be separate from the device and the disclosed functionality may be provided to the device remotely. Additionally, one or more components of system 200 may not be included. For example, for functionality as a user or consumer device, system 200 may be a smartphone or include a processor, memory, and display, excluding Figure 2 one or more other components shown in Figure 2 Additional components not shown, such as antennas, transceivers or any other suitable wireless device components.

[0037] Figure 3 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 is illustrated. 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 may include energy usage from a source location, and the data may be processed by processing module 304. For example, processing module 304 may process input data 302 to generate features based on the input data.

[0038] In some embodiments, prediction module 306 may be a machine learning module (e.g., a neural network) that is trained by training data 308. For example, training data 308 may include labeled data, such as from multiple source locations (e.g., Figure 1106 in the source location 102 and 106, which includes a marker indicating the presence of target device energy usage. In some embodiments, the output of the processing module 304 (such as the processed input) can be fed as an input to the prediction module 306. The prediction module 306 can generate an instance of a target device presence prediction, such as multiple predictions for the presence of target device energy usage within the overall source location energy usage over a period of time.

[0039] 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 instances of the presence prediction to generate an overall prediction of whether the source energy usage data measured over a period of time 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) about the presence of the target device energy usage within the source location energy usage data (e.g., over a period of time). As disclosed below, the confidence value can be converted into a "yes", "no", or "maybe" determination of the presence of the target device.

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

[0041] Embodiments use a machine learning model (such as a neural network) to predict the presence of target device energy usage. A neural network may include multiple nodes (called neurons) that are connected to other neurons via links or synapses. Some embodiments of a neural network may be targeted at classification tasks and / or may be trained under supervised learning techniques. In many cases, the labeled data may include features that are helpful in achieving the prediction task (e.g., energy usage classification / prediction). In some embodiments, neurons in a trained neural network may perform small mathematical operations on given input data, where their corresponding weights (or correlations) may be used to generate operands (e.g., in part by applying nonlinearities) to be passed further into the network or given as output. A synapse may connect two neurons with corresponding weights / correlations. In some embodiments, Figure 3 The prediction module 306 in may be a neural network.

[0042] 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 ​​labeled with device-specific energy usage or general device tags over a period of time). For example, the training data can include features, and the neural network (or other learning model) can use these features to identify trends and predict the presence of target device energy usage from overall source location energy usage. In some embodiments, once the model is trained / ready, it can be deployed. Embodiments can be implemented with a variety of products or services (e.g., Oracle® products or services).

[0043] In some embodiments, the design of 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 given cost function (e.g., for training / gradient calculations). A neural network may include any number (e.g., 0, 1, 2, 3, or more) of hidden layers, and may include feedforward neural networks, recurrent neural networks, convolutional neural networks, modular neural networks, and any other suitable types.

[0044] Figures 4A-4C A sample neural network according to an example embodiment is illustrated. Figure 4A Neural network 400 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, at a given layer of a convolutional neural network, one or more filters or kernels may be applied to input data for that layer. Kernels 412, 414, and 416 are illustrated as one-dimensional kernels (e.g., 1 x n), and kernels 418, 420, and 422 are illustrated as two-dimensional kernels (e.g., n x m), but any other suitable shapes may be implemented.

[0045] In some embodiments, layers 402, 404, and 406 are convolutional layers, kernel 412 is applied to layer 402, kernel 414 is applied to layer 404, and kernel 416 is applied to layer 406. In some embodiments, layers 402, 404, and 406 are convolutional layers, kernel 418 is applied to layer 402, kernel 420 is applied to layer 404, and kernel 422 is applied to layer 406. The shape of the data and the underlying data values ​​can be changed from input to output depending on the shape of the filter or kernel applied (e.g., 1 x 1, 1 x 2, 1 x 3, 1 x 4, 2 x 1, 2 x2, 2 x 3, 3 x 2, etc.), the way the filter or kernel is applied (e.g., mathematical application), and other parameters (e.g., stride). In embodiments, cores 412, 414, and 416 may have one shape that is consistent therein, two different shapes, or three different shapes (e.g., all cores are different sizes) and / or cores 418, 420, and 422 may have one shape that is consistent therein, two different shapes, or three different shapes.

[0046] In some cases, the layers of the convolutional neural network may be heterogeneous and may include different mixtures / sequences of convolutional layers, pooling layers, fully connected layers (e.g., similar to applying a 1 x 1 filter), etc. In some embodiments, layers 408 and 410 may be fully connected layers. Thus, the embodiment of neural network 400 illustrates a feed-forward convolutional neural network having multiple convolutional layers (e.g., implementing filters or kernels of one or more dimensions) followed by fully connected layers. Embodiments may implement any other suitable convolutional neural network.

[0047] Figure 4B The neural network 430 includes layers 432, 434, 436, 438, 440, and 442, and kernels 444, 446, 448, 450, 452, and 454. The neural network 430 may be similar to Figure 4A However, in some embodiments, layers 432, 434, and 436 may be convolutional layers with a parallel orientation, 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 into each of layers 432, 434, and 436, where the outputs from these layers are concatenated at layer 438.

[0048] In some embodiments, cores 444, 446, and 448 may be similar to Figure 4A 412, 414 and 416, and kernels 450, 452 and 454 may be similar to Figure 4A418, 420, and 422. For example, kernels 444, 446, and 448 are illustrated as 1-dimensional kernels, and kernels 450, 452, and 454 are illustrated as 2-dimensional kernels, but any other suitable shapes may be implemented. In embodiments, kernels 444, 446, and 448 may have one shape that is consistent, two different shapes, or three different shapes (e.g., all kernels are different sizes) and / or kernels 450, 452, and 454 may have one shape that is consistent, two different shapes, or three different shapes.

[0049] In some cases, the layers of the convolutional neural network may be heterogeneous and may include different mixtures / sequences of convolutional layers, pooling layers, fully connected layers, parallel layers, concatenated layers, etc. For example, layers 432, 434, and 436 may represent three parallel layers, but a greater or lesser number of parallel layers may be implemented. Similarly, the output of each of layers 432, 434, and 436 is depicted as an input to layer 438, which in some embodiments is a concatenated layer, but one or more of layers 432, 434, and 436 may include additional convolutional or other layers before the concatenated layer. For example, there may be one or more convolutional or other layers between layer 432 (e.g., a convolutional layer) and layer 438 (e.g., a concatenated layer). In some embodiments, another convolutional layer (with another kernel) may be implemented between layers 432 and 438, while no such intermediate 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 directly output to layer 438 (without another convolutional layer).

[0050] 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, and one or more additional blocks may be implemented before or after the depicted blocks. For example, a block may feature at least two parallel convolutional layers followed by a concatenation layer. In some embodiments, multiple additional convolutional layers (e.g., more than two) with various parallel structures may be implemented as blocks. Neural network 430 illustrates an embodiment of a feed-forward convolutional neural network having multiple convolutional layers (e.g., implementing one-dimensional and / or two-dimensional filters or kernels) with a parallel orientation followed by a fully connected layer. Embodiments may implement any other suitable convolutional neural network.

[0051] 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 convolutional 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 with other layers, networks, or blocks.

[0052] Figure 4C A neural network 460 is depicted, which 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 a sequence of inputs into the neural network 460 (e.g., energy usage data as a sequence varying over time), and outputs 478, 480, 482, and 484 may represent a sequence of outputs. In some embodiments, 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 suitable 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, and the like.

[0053] In some embodiments, the blocks of neural network 460 pass a hidden state (or multiple hidden state values) while processing an input sequence. For example, block 462 can calculate output 478 and a hidden state that is passed to block 464. Similarly, block 464 can calculate output 480 and a hidden state that is passed to block 466, and so on. In some embodiments, neural network 460 can include several more blocks (e.g., more than five) and include several more layers (e.g., more than one layer of blocks). In some embodiments, neural network 460 can be a bidirectional neural network (e.g., hidden states are passed forward and backward between blocks).

[0054] Embodiments implement neural networks including heterogeneous hybrid architectures. For example, the implemented neural network may include CNN layers combined with RNN layers. In some embodiments, a CNN architecture (e.g., serial convolutional layers, parallel convolutional layers and / or concatenation layers, pooling layers, fully connected layers, etc.) is combined with an RNN architecture (e.g., a block of an RNN neural network) so that the output from the CNN architecture is used as the input of the RNN architecture. For example, input data (e.g., energy usage data as a sequence that varies over time) can be processed by a CNN architecture, the output from the CNN architecture can be the input from the RNN architecture, and the RNN architecture can process its input data to generate a prediction result. In some embodiments, one or more fully connected layers (with suitable activation functions) may follow a CNN architecture, an RNN architecture, or both. Other embodiments may include other neural network architecture stacks, layers, and / or other suitable neural network component orientations.

[0055] In some embodiments, the neural network can be configured for deep learning, for example, based on the number of neural network layers implemented. In some examples, a Bayesian network can be similarly implemented, or other types of supervised learning models. For example, a support vector machine can be implemented, and in some cases, one or more kernels (e.g., Gaussian kernel, linear kernel, etc.) can also be implemented.

[0056] In some embodiments, a test instance may be provided to the model to calculate its accuracy. Figure 3 , a portion of the training data 308 / labeled or investigated energy usage data (e.g., validation data) can be reserved for testing the trained model (e.g., instead of training the model). The accuracy measurement can be used to fine-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 ratio of 75% to 25% for training to test / validation, etc.). In some embodiments, data can be randomly selected for testing and training segments in various iterations of testing.

[0057] In some embodiments, when tested, the trained model can output a prediction (e.g., a confidence value, such as a number between 0 and 1, or "yes," "no," or "maybe") that indicates the presence of target device energy usage for a given input (e.g., a test data instance). For example, the test data instance can be energy usage data for a given source location (e.g., a home) over a period of time that includes a label indicating whether the target device energy usage exists. Since the presence of the target device energy usage is known for a given input / test instance, the predicted value can be compared to the known value to generate an accuracy metric. Based on testing the trained model using multiple test data instances, the accuracy of the trained model can be evaluated.

[0058] In some embodiments, the design of the prediction module 306 can be fine-tuned based on the accuracy calculations during training, retraining, and / or updating training. For example, fine-tuning can include adjusting the number of hidden layers in a neural network, adjusting kernel calculations (e.g., for implementing a support vector machine or neural network), etc. Such fine-tuning can also include adjusting / selecting features used by the machine learning model, adjusting the processing of input data, etc. Embodiments include implementing various fine-tuning configurations (e.g., different versions of the machine learning model and features) while training / calculating accuracy in order to obtain a configuration of the prediction module 306 that achieves the desired performance after training (e.g., performs predictions at a desired level of accuracy, runs according to a desired resource utilization / time metric, etc.). In some embodiments, the trained model can be saved or stored for further use and its state can be saved. 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 achieve time and resource efficient data prediction.

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

[0060] Table 1: Preprocessed source location energy usage data

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

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

[0063] Embodiments include a 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 target device discovery prediction. However, in addition to the target device, the training can also utilize the labeled data of a set of other devices. 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 purposes. Training data is generally limited, so training techniques that utilize available training data are generally beneficial. In some embodiments, the set of other devices used in the training technique can be based on the diversity of devices within the available training data, different combinations of devices at a given source location, and / or the frequency of occurrence of different combinations of devices within the available training data.

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

[0065] The surveyed data may include an indication of the presence of a target device (e.g., at a source location), such as indicated by a survey on a specific date. In some embodiments, survey responses regarding target devices may be associated with a time attribute (e.g., the date of response to the survey) and a given source location (e.g., a home), such that the surveyed data is represented by total energy usage at a given source location proximate to the time attribute, and carries a general label, i.e., the data includes target device energy usage (rather than with a specific target device energy usage value). In some embodiments, the labeled energy usage data is very useful but frightening. Therefore, the surveyed energy usage data can be combined with the labeled energy usage data to enhance the performance of training machine learning models. For example, supporting the labeled energy usage data with surveyed energy usage data can improve the overall performance of the model and produce more accurate results.

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

[0067] Embodiments process energy usage data from a source location (e.g., a home) to generate training data 308 for training the prediction module 306. For example, the overall source location energy usage data value can be combined with the tagged energy usage data value (and in some embodiments, the energy usage data under investigation) of one or more target devices, and the resulting combination can be processed to derive training data 308. In some embodiments, the energy usage data of the source location can be obtained via measurement (e.g., metering). In addition, some other techniques for measuring, metering, or receiving / monitoring the energy usage of specific devices within the source location can be implemented to generate device-specific tagged energy usage data for training. In other examples, energy usage data including source location energy usage and energy specific to target devices decomposed within the source location can be obtained from a third party. For example, training data can be obtained in any suitable manner, such as by monitoring the source location (e.g., a home) in a known situation, obtaining a publicly (or otherwise) available data set, developing a joint venture or partnership that produces training data, and by any other suitable means.

[0068] In some embodiments, multiple instances of source location energy usage data (e.g., each instance covering a predetermined duration) can be input to the trained prediction module 306 so that multiple predictions (e.g., one prediction per instance) can be generated. For example, the input data instance fed to the trained prediction module 306 can be a week (or month) of source location energy usage data (e.g., together with other relevant associated information, such as weather, calendar, etc.), and a prediction (e.g., a confidence data / interval value between 0 and 1, a determination of "yes", "no", or "maybe", or any other suitable numerical range) can be generated, which indicates the existence of the energy usage of the target device within the source location energy usage (e.g., within a week, or other suitable duration). In some embodiments, the source location energy usage data instance can be decomposed into a given granularity (e.g., 15 minutes, 30 minutes, hourly, multiple hours, daily, multiple days, weekly, monthly, etc.) over a period of time (e.g., a week or a month). In other embodiments, the instance of the source location energy usage data can have a single data value (or several data values) over the entire time period (e.g., an energy usage data value corresponding to a monthly bill).

[0069] In some embodiments, these multiple input data instances (e.g., multiple weeks or months) can be fed to the prediction module 306 so that multiple existence prediction instances (confidence data values) are generated. For example, the analysis module 310 can combine the existence prediction instances to generate an overall prediction of whether the source energy usage data measured over a period of time (e.g., spanning a period of time that spans multiple input data instances used to generate the existence prediction instance or is otherwise associated with it) includes the existence of target device energy usage. In some embodiments, mathematical functions can be used to combine the existence prediction instances to generate an overall prediction of whether the source location energy usage data measured over a period of time includes the existence of target device energy usage. For example, the existence prediction instance can be a data value between a given range (e.g., between 0 and 1), and the combination can include an average, a minimum, a maximum, a k-max average, a combination of these, and any other suitable combination techniques.

[0070] In some embodiments, the combined data value may represent an overall prediction of the presence of target device energy usage during the time period (e.g., using a value 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 period of time (e.g., multiple weeks of data spanning several or more months), and output data 312 may be an overall prediction (e.g., a confidence data value) combining the multiple instances of the presence prediction, where the overall prediction indicates the presence of target device energy usage within the source location energy usage data during the time period.

[0071] In some embodiments, the output data 312 can be compared to a criteria 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). Figure 5A-5B A sample graph representing device-specific energy usage presence prediction results according to an example embodiment is illustrated. The data plotted in the sample graph represents a tested embodiment disclosed herein for predicting target device energy presence based on total energy usage at an unseen source location (eg, a home). Figure 5A A graphical representation of total energy usage data and the presence of prediction confidence data values ​​for target device energy usage is plotted in accordance with some embodiments. In graph 502, time is represented on the x-axis and energy usage (in kWh) is represented on the y-axis.

[0072] refer to Figure 5A , the trained prediction model can receive (as input) total energy usage data values ​​(e.g., processed input data) and generate a graphical representation of the prediction (e.g., the energy usage data includes a confidence value for the target device's energy usage). The total energy usage data values ​​used as input data may include energy for multiple devices (which may sometimes include (one or more) target devices). In some embodiments, the presence predictions depicted in graph 502 may be presence prediction instances based on input data instances (e.g., energy usage data for a predetermined duration, such as a week).

[0073] Graph 502 depicts that the trained prediction model began predicting high confidence values ​​around June 2019. In other words, around (and after) June 2019, the trained prediction model positively found the presence of target device energy usage within the overall source location energy usage. Some embodiments of the prediction confidence values ​​for the target device achieve high accuracy over a period of multiple weeks, and other embodiments achieve high accuracy over a period of multiple months, for example, depending on the granularity of the input / training data. Any other suitable data granularity, time period, or other suitable parameters may be implemented.

[0074] Embodiments implement a threshold confidence data value that indicates the presence of target device energy usage. For example, Figure 5A A first output confidence data value before June 2019 and a second output confidence data value after June 2019 are shown, wherein 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, wherein any confidence value greater than the threshold indicates a positive prediction of the presence of target device energy usage.

[0075] Figure 5B Graphic output data generated by a trained prediction model according to some embodiments is illustrated. For example, graph 504 is a precision-recall curve for outputs from a trained prediction model, and graph 506 is a receiver operating characteristic ("ROC") curve for outputs from a trained prediction 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 rates (e.g., FP / (FP+TN)) on the x-axis and true positive rates (e.g., TP / (TP+FN)) on the y-axis. In some embodiments, thresholds can be configured based on the accuracy relationships plotted in graphs 504 and / or 506.

[0076] Some embodiments implement flexible criteria that may include multiple thresholds based on goals and use cases. For example, a "high precision" use case has a relatively high threshold that is empirically calculated (e.g., based on output data from a trained model that achieves high precision), while a "high recall" use case has a relatively low 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 goals and / or use cases and corresponding thresholds that are intended to optimize these goals / use cases may be similarly implemented. In some embodiments, the thresholds may be derived using the precision-recall value of a trained model, the ROC value of a trained model, a combination of these, or any other suitable technique that may be used to calculate (one or more) thresholds.

[0077] In some embodiments, multiple machine learning models may be trained and the outputs of these models may be combined to achieve target device presence prediction. Figure 6 Illustrated is 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.

[0078] System 600 includes input data 602, processing module 604, prediction modules 606 and 610, training data 608 and 612, analysis module 614, and 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 Figure 3Input data 302 and processing module 304.

[0079] 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 from multiple source locations (e.g., Figure 1 The output from the processing module 604 (such as the processed input) can be fed as input to the prediction modules 606 and 610. The embodiments of the prediction modules 606 and 610 can be similar to Figure 3 The prediction module 306.

[0080] In some embodiments, training data 608 and 612 can train prediction modules 606 and 610 to predict the presence of target device energy usage based on overall source location energy usage. Once trained, prediction modules 606 and 610 can be configured for different kinds of target device presence predictions. For example, training data 608 can train prediction module 606 to discover the presence of target devices given a first set of input data, such as source location energy usage data with a first granularity (e.g., hourly granularity in weekly blocks), while training data 612 can train prediction module 610 to discover the presence of target devices given a second set of input data, such as source location energy usage data with a second granularity (e.g., monthly granularity with a single or a few data values). In some embodiments, prediction module 606 can be configured to discover a first type of target device energy usage (e.g., one or a group of target devices, a specific type of energy usage by a target device, etc.), and prediction module 610 can be configured to discover a second type of target device energy usage.

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

[0082] In some embodiments, the analysis module 614 can be similar to the analysis module 310. For example, the analysis module 614 can combine multiple instances of presence predictions from one or both of the prediction modules 606 and 610 to generate an overall presence prediction. In some embodiments, the prediction module 606 is trained to predict the presence of a first type of target device, the prediction module 610 is trained to predict the presence of a second type of target device, and the analysis module 614 combines these predictions from each module to derive an overall presence prediction. For example, the input data 602 can be overall energy usage data from a source location, which is processed by the processing module 604 and fed into the trained prediction module 606 and the trained prediction module 610.

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

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

[0085] Embodiments may be configured to discover the presence of energy usage from various target devices. For example, using one or more trained prediction models, embodiments may discover the presence of the following target devices' energy usage (within the overall source location energy usage):

[0086] Battery electric vehicles (L1 standard and L2 fast charging: 120V and 240V)

[0087] Plug-in hybrid electric vehicles (L1 standard and L2 fast charging: 120V and 240V)

[0088] Water heater

[0089] ·washing machine

[0090] Dryer

[0091] Pool pump

[0092] Electric heating

[0093] Electric cooling

[0094] Heating, ventilation and air conditioning (HVAC) equipment

[0095] Photovoltaic / Solar Panels

[0096] The embodiments are also highly scalable, as various additional target devices can be supported using relevant training data, and are highly scalable in modern cloud computing environments. The implemented embodiments have been used to predict the presence of target devices at millions of source locations with satisfactory results.

[0097] Embodiments also support improvements to the grid infrastructure. In practice, electricity demand can experience peak loads, which can impose high costs on the utilities that implement the grid as well as high environmental costs. To address this issue, utilities aim to better distribute electricity demand and mitigate the risk of peak loads. Since embodiments can identify target device energy consumption from household energy consumption, utilities can implement this load distribution for customers with certain target devices. For example, electric vehicle charging can be identified as a factor that exacerbates or mitigates peak loads. Embodiments support the discovery of utility customers who own electric vehicles, and then utilities can target these customers with load distribution activities.

[0098] For example, to better serve customers while balancing grid loads, time-of-use (“TOU”) rates may be used to alleviate grid demand by shifting some of the load to off-peak hours. TOU rates may include incentives for customers to charge their electric vehicles during off-peak hours, such as “residential EV rates,” which are priced to entice customers to adopt more efficient energy consumption behaviors. In addition, the presence of electric vehicles found at utility customer locations can be factored into grid planning. For example, when the number of utility customers that own electric vehicles can be reliably estimated, the burden that electric vehicle charging places on the grid can be better understood. In turn, utilities can better account for the expected growth in the number of electric vehicles (and other high-capacity battery devices) when planning future grid infrastructure.

[0099] Embodiments may also support utilities' efforts to migrate customers from natural resource (e.g., gas or fuel) appliances to electrical appliances. For example, because embodiments can discover the presence of target appliances (such as electrical appliances), embodiments can also reliably discover the absence of such electrical appliances. Once it is known that customers are missing electrical appliances, utilities can target these customers with campaigns to transition them from gas appliances (e.g., clothes dryers or water heaters) to electrical appliances. Natural resource appliances (especially aging appliances) are often less energy efficient than their electrical counterparts, so such campaigns can improve overall energy efficiency across the region.

[0100] Figure 7 A flow chart for training a machine learning model to discover the presence of target device energy usage (and therefore the presence of the target device) according to an example embodiment is illustrated. In an embodiment, for each specific device whose presence is desired to be detected / predicted, the Figure 7 For example, a separate machine learning model is used to train a separate machine learning model for the presence of electric heating, a different machine learning model is used to detect the presence of a Level 1 EV charger, and so on. The presence model prediction is based on confidence interval data about whether the device is present. In some embodiments, Figure 7 (and the following Figure 8 and Fig.10 ) can be implemented by software stored in a memory or other computer-readable or tangible medium and executed by a processor. In other embodiments, each function can be performed by hardware (for example, by 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, Figure 7 , 8 and 10 functions can be obtained by Figure 2 The system 200 may be implemented by one or more elements of the system 200.

[0101] At 702, energy usage data may be received from a plurality of source locations, the energy usage data including energy usage of a target device and one or more other devices. For example, the energy usage data may be similar to the data shown in Table 1 above, or may include a subset of the columns from Table 1. In some embodiments, the received data may include a timestamp, overall energy usage at a source location (e.g., a home), and a tagged energy usage data value for the target device or a survey indication of target device energy usage (e.g., a general tag without a data value specific to target device energy usage). 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.

[0102] At 704, a machine learning model may be configured. For example, a machine learning model such as a neural network, a CNN, a RNN, a Bayesian network, a support vector machine, any combination of these models, or any other suitable machine learning model may be configured. Parameters such as the number of layers (e.g., number of hidden layers), input shape, output shape, width, depth, direction (e.g., feed forward or bidirectional), activation function, type of layer or unit (e.g., gated recurrent unit, long short term memory, etc.), or other parameters suitable for the machine learning model may be selected. In some embodiments, these configured parameters may be fine-tuned (e.g., adjusted, completely changed, added, or removed) when training the model.

[0103] 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, etc., 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, etc., may also be configured. In some embodiments, the machine learning model may include one or more CNN layers and one or more RNN layers. When training the model, the parameters of the CNN and / or RNN configurations may also be fine-tuned.

[0104] At 706, the energy usage data can be processed to generate training data. For example, the energy usage data from the source location can be cleaned, normalized, and otherwise processed to generate consistent training data (e.g., energy usage data of a given granularity (such as hourly). In some embodiments, a training data block covering a predetermined duration (e.g., a week or a month) can be generated, wherein the training data block includes the source location energy usage data of 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 ("HVAC") device, and a photovoltaic device, and the training data includes characteristics of energy usage of the target device.

[0105] At 708, the 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, loss calculations (e.g., based on a loss function), and gradient propagation (e.g., through layers / neurons of the machine learning model). As discussed herein, the machine learning model can be trained using labeled energy usage of target devices and / or investigated energy usage of target devices.

[0106] In some embodiments, the trained machine learning model is trained using energy usage values ​​of multiple source locations (e.g., homes), and the training can be optimized for the presence prediction of target device energy usage. In some embodiments, the training data (including, in some cases, labeled energy usage values ​​from (one or more) target devices) has a granularity of substantially hourly. Other suitable granularities (e.g., 1 minute, 15 minutes, 30 minutes, 45 minutes, etc.) can be similarly implemented.

[0107] In some embodiments, the training data can have a low-resolution granularity (e.g., monthly or bill granularity), and one or more models can be trained using such low-resolution granularity data. For example, a first machine learning model can be trained using a first granularity (e.g., hourly granularity and weekly blocks), while a second machine learning model can be trained using a second granularity (e.g., monthly blocks with a single or a few energy usage data values). In some embodiments, a single machine learning model can be trained for the first granularity, the second granularity, or a combination of these granularities.

[0108] In some embodiments, one or more trained machine learning models include one or more recurrent neural network layers and one or more convolutional neural network layers. Embodiments of the machine learning model(s) and / or the utilized training data may be fine-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 fine-tuning adjustments may be made based on the test accuracy.

[0109] At 710, the trained machine learning model(s) may be stored. For example, one or more trained learning models that generate predictions that meet a criterion (e.g., an accuracy criterion or threshold) may be stored such that the stored models may be used to predict the presence of target device energy usage.

[0110] Figure 8 A flow chart for generating machine learning predictions to discover target device energy usage according to an example embodiment is illustrated. Figure 7 One or more machine learning models trained with the function can be used to perform Figure 8 function.

[0111] At 802, multiple instances of source location energy usage for a given source location over a period of time may be received. For example, source location (e.g., home) energy usage data may be broken down into time intervals based on timestamps (e.g., substantially hourly granularity) 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 for a source location may be received. For example, energy usage data may be received over a month, and the granularity of the data may include one or several values ​​(e.g., daily, monthly, or weekly).

[0112] 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 (see Figure 7 ). In such an example, the processing may change the household energy usage input data to resemble the training data so that the trained machine learning model can achieve enhanced predictive results. The processing may include achieving a given granularity of the energy usage data (e.g., hourly), normalization, other forms of scaling, segmentation (e.g., segmentation into weekly or monthly chunks), and any other suitable processing.

[0113] At 804, using the trained machine learning model, a plurality of discovery predictions for the received source location energy usage instances can be generated, the discovery predictions representing predictions regarding the presence of target device energy usage within the source location energy usage instances. For example, processed data (e.g., a plurality of 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 a target device discovery prediction instance corresponding to each source location energy data instance.

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

[0115] In some embodiments, each instance of a discovery prediction generated by a trained machine learning model is based on a corresponding instance of energy usage at a source location (e.g., hourly granularity over a week) and a weather condition associated with the corresponding instance of energy usage at the source location (e.g., weather conditions during the week). For example, the weather condition is associated with a source location (e.g., a home), and the weather condition includes one or more of an average temperature, a maximum temperature, and a minimum temperature, wherein the weather condition is associated with a duration (e.g., calendar data) associated with the corresponding instance of energy usage at the source location. In some embodiments, the weather condition may include dew point, humidity, relative humidity, solar irradiance, and other suitable weather data.

[0116] At 806, the plurality of discovery predictions may be analyzed, and at 808, based on the plurality of discovery predictions, an overall prediction may be generated regarding whether the target device energy usage is within the energy usage of a given source location. For example, generating the overall prediction may include combining confidence data values ​​corresponding to the plurality of discovery predictions to generate the overall confidence data value. In some embodiments, an instance of the existence prediction may be a data value between a given range (e.g., between 0 and 1), and the combination may include an average, a minimum, a maximum, a k-max average, combinations of these, and any other suitable combination technique.

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

[0118] Once through Figure 7 Once one or more models have been trained with the capabilities of a device, you can provide “real-time” input data to the model to predict the presence of a target device.

[0119] In an embodiment, each prediction module (e.g., 306) corresponding to each individually trained model outputs a prediction that the target device exists according to the overall confidence value disclosed above. The confidence value can be converted into a prediction of "yes" (or "very likely"), "no", or "likely" (or "somewhat likely"). For example, if the confidence value is a number between 0 and 1, then "yes" or "very likely" can be greater than .7, "no" can be less than .2, and "likely" or "somewhat likely" can be between .2-.7. Table 2 below provides some example confidence intervals:

[0120] Table 2

[0121] Examples include, for example, Figure 6 The analysis module 614 and / or the output module 616 may also generate a graphical output of the presence detection of multiple target devices. Fig. 9 The diagram shows a method according to an embodiment of the present invention. Figure 6 Graphical output 900 generated by analysis module 614 and / or output module 616. Fig. 9 is a bar chart showing the predicted number of households 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).

[0122] For training Figure 6 The availability of complete and robust training data 608, 612 for each of the models shown in (e.g., prediction modules 606, 610) may be limited. The training data sets are typically received using data generated by AMI from homes or utilities. Sometimes, these homes are not representative or robust for predicting the presence of a particular device. For example, if the source of the training data is homes from an area of ​​the country with little sunlight, then the corresponding training data generated may include data for homes that have no or few solar panels to generate electricity (i.e., solar powered). The trained model trained using this training data can be used to predict the presence of electric heat. However, if the input / real-time data is from a subset of homes where the homes are solar powered, then the final prediction of the presence of electric heat may be inaccurate due to insufficient training data used to train the model.

[0123] Fig.10 A flow chart for generating a machine learning prediction of the presence of a target device using multiple trained machine learning models is illustrated according to an example embodiment.

[0124] Specifically, in an embodiment, at 1002, via Figure 7 The first model is trained using the features of to predict the presence of an EV Level 1 Charger (“L1 Charger”, i.e., the “First Device”). However, the first trained model is trained using training data from a set of homes that have no or disproportionately no solar power (i.e., there is “insufficient” training data for the “Second Device”). Therefore, for a subset of homes that do have solar power, the input / real-time data does not generate an accurate prediction of the presence of an L1 Charger using the first model.

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

[0126] At 1006, the input / real-time data for both the first and second models include AMI data for the service area of ​​the home. For example, AMI data for homes in Southern California. In an embodiment, the input data also includes weather data / conditions. For example, weather conditions are associated with a source location (e.g., a home), and the weather conditions include one or more of an average temperature, a maximum temperature, and a minimum temperature, wherein the weather conditions are associated with a duration (e.g., calendar data) associated with a corresponding instance of energy use at the source location. In some embodiments, weather conditions may include dew point, humidity, relative humidity, solar irradiance, and other suitable weather data. The input data may include home energy usage data that varies over time.

[0127] At 1008, in response to the input data, the first trained model generates a prediction of the presence of an L1 charger for each household. Each prediction may be classified as "yes", "no", or "maybe" using the confidence data values ​​disclosed above. The predictions may take the form of a database table, where each household is listed by ID and the corresponding prediction.

[0128] At 1010, in response to the input data, the second trained model generates a prediction of solar energy presence for each home. Each prediction can be classified as "yes", "no", or "maybe". Similar to the first trained model, the predictions can take the form of a database table, where each home is listed by ID and the corresponding prediction.

[0129] At 1012, an embodiment combines the two sets of predictions by subtracting the homes predicted to have solar (i.e., a "yes" prediction) according to the second trained model from all homes of the first trained model. Thus, these homes are removed from the predictions of the first model, and the predictions for those removed homes are not used. As a result, the predictions for the presence of L1 chargers from the remaining homes are more accurate / better than the predictions made from the first trained model alone.

[0130] In another example embodiment, for electric heating, the model was not scored / trained for solar energy and the model generally gave many more "yes" values ​​than EV L1 or EV L2. Therefore, the embodiment then scores the solar energy model and subtracts the "yes" and "maybe" values. Since the model generally tends to score homes using electric heating more than electric vehicles, filtering the "yes" and "maybe" from the solar energy results can give better results.

[0131] Table 3 below provides an example of the number of “yes,” “no,” and “maybe” results for the “solar” prediction model (“second model”), “EV L1 before filtering” (“first model”), and “EV L1 after filtering” (i.e., the results after combining the functions of 1012). For EV L1, the “yes” solar customers have been subtracted. Table 3 provides another example of the number of “yes,” “no,” and “maybe” results for “electric heating before filtering” (“first model”) and “electric heating after filtering” (i.e., the results after combining the functions of 1012). For electric heating, the “yes” and “maybe” solar customers have been subtracted. The numbers shown are not the number of unique customers, but the number of existence findings over time. Each example is shown for two utilities: “Utility 1” and “Utility 2.”

[0132] Table 3

[0133] The information in Table 3 reflects the following example: If for a household, the existence discovery model shows "Solar = Yes", then the household is filtered out from EV L1.

[0134] If the presence discovery model for a home indicated “solar = yes” or “solar = maybe”, then that home was filtered out from electric heating.

[0135] For Utility 1, there is exactly 1 customer for which both “EV L1 = Yes” and “Solar = Yes” are detected, and it is filtered out from the resulting dataset.

[0136] The number of solar customers is shown for reference only, as it does not quantify the number of customers actually filtered out from EV L1 and electric heating.

[0137] Table 4 below shows an improvement measure using an embodiment of the present invention, namely the percentage of filtered customers:

[0138] Table 4

[0139] As disclosed, embodiments use two different trained machine learning models to detect the presence of a target device. The first model detects the presence of a target device and has been trained with a data set that typically lacks the first device. The second model detects the presence of the first device. The outputs of the first and second models are combined to provide more accurate detection of the presence of the target device than the first model alone provides.

[0140] 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, throughout the specification, the use of "one embodiment," "some embodiments," "an embodiment," "certain embodiments," or other similar language refers to the fact that a particular feature, structure, or characteristic described in conjunction with the embodiment may be included in at least one embodiment of the present disclosure. Therefore, the phrases "one embodiment," "some embodiments," "certain embodiments," "certain embodiments," or other similar language that appear throughout this specification do not necessarily all refer to the same set of embodiments, and the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0141] Those of ordinary skill in the art will readily appreciate that the embodiments discussed above may be practiced with steps in different orders and / or in configurations with elements different from those disclosed. Therefore, while the 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. Therefore, in order to determine the scope and limits of the disclosure, reference should be made to the appended claims.

Claims

1. A method for generating machine learning predictions to discover target device energy usage, the method comprising: Training a first machine learning model to predict the presence of a first device, wherein training data used to train the first machine learning model is insufficient for a second device; training a second machine learning model to predict the presence of a second device; receiving input data of home energy usage and weather data; Based on the input data, using the trained first machine learning model, predict the presence of a first device in each household; Based on the input data, using the trained second machine learning model, predict the presence of a second device in each household; as well as The households predicted to have the second device are subtracted from the households predicted to have the first device to generate a prediction of households having the first device. 2 . The method of claim 1 , wherein the first device comprises an electric vehicle level 1 charger and the second device comprises a solar generator.

3. The method of claim 1, wherein the predicting the presence of the first device in each home and the predicting the presence of the second device in each home comprise: Output "yes", "no" or "maybe" for each household.

4. The method of claim 3, wherein "yes", "no" or "maybe" is based on a predefined threshold.

5. The method of claim 2, wherein the training data used to train the first machine is insufficient for the second device because the training data was generated from a plurality of homes without solar generators.

6. A method as claimed in claim 3, wherein the prediction of the presence of each home-first device includes a confidence data value indicating the presence of target device energy usage within an instance of source location energy usage, and the overall prediction includes an overall confidence data value indicating the presence of target device energy usage within energy usage at a given source location over a period of time. 7 . The method of claim 6 , wherein generating an overall prediction comprises combining confidence data values ​​corresponding to a plurality of discovery predictions to generate an overall confidence data value.

8. The method of 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 computer readable medium having instructions stored thereon, which when executed by one or more processors cause the processor to generate a machine learning prediction to discover target device energy usage, the generating comprising: Training a first machine learning model to predict the presence of a first device, wherein training data used to train the first machine learning model is insufficient for a second device; training a second machine learning model to predict the presence of a second device; receiving input data of home energy usage and weather data; Based on the input data, using the trained first machine learning model, predict the presence of a first device in each household; Based on the input data, using the trained second machine learning model, predict the presence of a second device in each household; as well as The households predicted to have the second device are subtracted from the households predicted to have the first device to generate a prediction of households having the first device.

10. The computer-readable medium of claim 9, wherein the first device comprises an electric vehicle level 1 charger and the second device comprises a solar generator.

11. The computer-readable medium of claim 9, wherein said predicting the presence of a first device in each household and said predicting the presence of a second device in each household comprises: Output "yes", "no" or "maybe" for each household.

12. The computer-readable medium of claim 11, wherein "yes", "no", or "maybe" is based on a predefined threshold.

13. The computer-readable medium of claim 10, wherein the training data used to train the first machine learning model is insufficient for the second device because the training data was generated from multiple homes without solar generators.

14. A computer-readable medium as described in claim 11, wherein the prediction of the presence of each home-first device includes a confidence data value indicating the presence of target device energy usage within an instance of source location energy usage, and the overall prediction includes an overall confidence data value indicating the presence of target device energy usage within energy usage at a given source location over a period of time.

15. The computer-readable medium of claim 14, wherein generating an overall prediction comprises combining confidence data values ​​corresponding to a plurality of discovery predictions to generate an overall confidence data value.

16. The computer-readable medium of claim 9, wherein the trained first machine learning model comprises one or more recurrent neural network layers and one or more convolutional neural network layers.

17. A system for discovering energy usage of a target device, the system comprising: a first trained machine learning model for predicting the presence of a first device, wherein training data used to train the first machine learning model is insufficient for a second device; a second trained machine learning model for predicting the presence of a second device; One or more processors configured to: receiving input data of home energy usage and weather data; Based on the input data, using the trained first machine learning model, predict the presence of a first device in each household; Based on the input data, using the trained second machine learning model, predict the presence of a second device in each household; as well as The households predicted to have the second device are subtracted from the households predicted to have the first device to generate a prediction of households having the first device.

18. The system of claim 17, wherein the first device comprises an electric vehicle level 1 charger and the second device comprises a solar generator.

19. The system of claim 17, wherein the predicting the presence of the first device in each household and the predicting the presence of the second device in each household comprises: Output "yes", "no" or "maybe" for each household.

20. The system of claim 19, wherein "yes", "no" or "maybe" is based on a predefined threshold.