A pre-trained model for discovering the presence of target devices

JP2024531032A5Active Publication Date: 2025-06-17ORACLE INT CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023576391
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-06-23
Filing Date
2022-06-10
Publication Date
2025-06-17
Estimated Expiration
2042-06-10

AI Technical Summary

Technical Problem

Disaggregating energy usage from specific devices within a household or electric vehicle within general monitored energy usage remains challenging due to the variety of devices and limited availability of training data, leading to inefficiencies in grid planning and resource utilization.

Method used

Utilizing trained machine learning models, particularly neural networks, to predict the presence of target device energy usage by analyzing aggregate energy usage data from source locations, employing techniques like non-intrusive load monitoring (NILM) and deep learning schemes to enhance accuracy and efficiency.

Benefits of technology

Improves the accuracy and efficiency of identifying target device energy usage, reducing computational costs and resource requirements while enabling better grid planning and energy management strategies.

✦ 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 machine learning predictions to discover target device energy usage. One or more trained machine learning models configured to discover target device energy usage from source location energy usage may be stored. Multiple instances of source location energy usage over a period of time may be received for a given source location. Using the trained machine learning models, multiple discovery predictions may be generated for the received instances of source location energy usage, the discovery predictions including a prediction regarding the presence of target device energy usage within the instances of source location energy usage. Then, based on the multiple discovery predictions, an overall prediction regarding the presence of target device energy usage within the energy usage of the given source location over a period of time may be generated.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] Field FIELD OF THE DISCLOSURE Embodiments of the present disclosure relate generally to utility metering devices and, more particularly, to machine learning predictions that use utility metering devices to discover the presence of target device energy usage within home energy usage. [Background technology]

[0002] background Disaggregating the various energy-using devices at a given source location has proven to be a challenge. Considering a household, for example, discovering device-specific and / or electric vehicle energy usage from within the household's general monitored energy usage has been difficult to achieve, in part due to the wide variety of household devices and / or electric vehicles (e.g., make, model, year, etc.). Advances in metering devices have provided some opportunity, but successful discovery remains elusive. Techniques that reliably discover energy usage from specific devices, such as electric vehicles, could provide opportunities for improved grid planning and would greatly improve the technology field and benefit organizations that implement these techniques. Summary of the Invention

[0003] overview Embodiments of the present disclosure are generally directed to systems and methods for generating machine learning predictions that discover the presence of target device energy usage.

[0004] One or more trained machine learning models configured to discover target device energy usage from source location energy usage may be stored. Multiple instances of source location energy usage over a period of time may be received for a given source location. Using the trained machine learning models, multiple discovery predictions may be generated for the received instances of source location energy usage, the discovery predictions including predictions regarding the presence of target device energy usage within the instances of source location energy usage. And, based on the multiple discovery predictions, an overall prediction may be generated regarding the presence of target device energy usage within the energy usage of the given source location over a period of time.

[0005] Features and advantages of the embodiments will be set forth in the description that follows, or will be obvious from the description, or may be learned by practice of the disclosure.

[0006] Further embodiments, details, advantages and modifications will become apparent from the following detailed description of preferred embodiments, which is to be read in conjunction with the accompanying drawings. [Brief description of the drawings]

[0007] [Figure 1] FIG. 1 illustrates a system for generating machine learning predictions to discover target device energy usage according to an example embodiment. [Diagram 2] FIG. 1 is a block diagram of a computing device operably coupled to a system according to an example embodiment. [Diagram 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. 2 illustrates a sample neural network according to an example embodiment. [Figure 4B] FIG. 2 illustrates a sample neural network according to an example embodiment. [Figure 4C] FIG. 2 illustrates a sample neural network according to an example embodiment. [Figure 5A] 11 is a sample graph illustrating device-specific energy usage presence prediction results and accuracy rates according to an example embodiment. [Figure 5B] 11 is a sample graph illustrating device-specific energy usage presence prediction results and accuracy rates 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] FIG. 13 is a flow diagram for training a machine learning model to discover the presence of target device energy usage according to an example embodiment. [Figure 8] FIG. 13 is a flow diagram for generating machine learning predictions to discover the presence of target device energy usage according to an example embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] Detailed Description An embodiment generates a machine learning prediction to discover the presence of a target device energy usage. Non-intrusive load monitoring ("NILM") and / or disaggregation refers to taking as input an aggregate energy usage at a source location (e.g., energy usage in a home served by an advanced metering infrastructure) and extrapolating energy usage for one or more appliances, electric vehicles, and other devices that use energy at the source location. An embodiment leverages a trained machine learning model to generate a prediction regarding the presence of a target device energy usage within the overall energy usage at the source location. For example, the target device can be a large appliance or an electric vehicle, the source location can be a home, and the trained machine learning model is configured to receive the home energy usage as input and predict whether the home energy usage includes the target device energy usage.

[0009] In some embodiments, instances of home energy use are received over a period of time. For example, home energy use may be received at a particular level of granularity (e.g., 15 minutes, 30 minutes, hourly, and the like) over a period of time (e.g., one week, two weeks, one month, and the like). In some embodiments, the trained machine learning model may generate multiple forecast instances for each instance of home energy use data (e.g., four weekly forecasts over a month). An overall forecast may then be generated based on the multiple forecast instances. For example, an analysis may be performed on the forecast instances to arrive at an overall forecast regarding the presence of a target energy use within home energy use over the period of time.

[0010] 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 to provide a thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that the present disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the embodiments. Wherever possible, like reference numerals will be used for like elements.

[0011] FIG. 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 can be any suitable location that includes or is otherwise associated with energy consuming or producing devices, such as a home having devices 110, 112, and 114. In some embodiments, devices 110, 112, and 114 can be energy using appliances and / or electric vehicles, such as washers, dryers, air conditioners, heaters, refrigerators, televisions, computing devices, and the like. For example, source location 102 can be supplied with power (e.g., electricity), and devices 110, 112, and 114 can draw from the power supplied to source location 102. In some embodiments, source location 102 is a home, and power to the home is provided from a power grid, a local power source (eg, solar panels), a combination of these, or any other suitable source.

[0012] 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, and the like. In some embodiments, the meter 104 may transmit information regarding 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 perform two-way communication with an entity to communicate energy usage at the source location 102. In some embodiments, the meter 104 may perform one-way communication with an entity, where a meter reading is transmitted to the entity.

[0013] In some embodiments, the meter 104 can communicate over a wired and / or wireless communication link and can utilize wireless communication protocols (e.g., cellular technologies), WiFi, wireless ad-hoc networks over WiFi, wireless mesh networks, low power long range wireless ("LoRa"), ZigBee, Wi-SUN, wireless local area networks, wired local area networks, and the like. The devices 110, 112, and 114 (as well as other devices not shown) can use energy at the source location 102, and the meter 104 can monitor energy usage for the source location 102 and report corresponding data (e.g., to the network node 116).

[0014] 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 regarding source location 102 and source location 106 from meter 104 and meter 108. 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.

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

[0016] The embodiments use aggregate energy usage from a home served by a metering infrastructure (e.g., advanced metering infrastructure (AMI), simple metering infrastructure, and the like) to accurately predict the presence of target device energy usage within the home energy usage. The domain of non-intrusive load monitoring ("NILM") and other types of energy usage detection has attracted significant interest. Accurate device-specific energy usage discovery (e.g., via NILM or NILM-like techniques) offers many benefits including energy savings opportunities, personalization, improved electric grid planning, and the like.

[0017] The embodiments utilize a deep learning scheme that can accurately predict the presence of target device energy usage, such as energy usage from electric vehicles or home appliances, based on a limited training set. Accurate discovery can be a challenge due to the variety of energy consuming devices, such as energy consuming devices in a typical home (e.g., large appliances and electric vehicles) and their corresponding usage conditions. Furthermore, in the NILM domain, the availability of training data can be limited. Thus, a learning scheme that can maximize the benefit of the training data set can be particularly effective. In embodiments, the training data can be used to train a learning model designed to learn effectively in these challenging situations. Inputs to the learning model can be provided by AMI or non-AMI (e.g., simple infrastructure), along with other types of inputs. The embodiments can accurately predict the presence of target device energy usage from the total energy usage at various granularity resolutions (e.g., 15 minutes, 30 minutes, 1 hour, and the like, or at 1 day, 1 week, 1 month, and the like).

[0018] Conventional NILM implementations using existing learning schemes have their own shortcomings. Some of the previously considered proposed approaches are built 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 various shortcomings. For example, some of these solutions are computationally expensive and therefore infeasible. Other solutions require unique situations with high resolution / granularity inputs (e.g., AMI data or training data), which are often unavailable or infeasible given the deployed metering capacity.

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

[0020] Embodiments also improve resource and time efficiency for model training and execution. For example, some deep learning models can have extensive resource requirements for training / execution, which can amount to hundreds of thousands of dollars, and in some cases, millions of dollars. Embodiments achieve efficient resource and compute times for model training and execution. Furthermore, model scoring is similarly achieved under efficient timing requirements. For example, scoring can be achieved in milliseconds in some embodiments.

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

[0022] For example, the 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, WiFi, and / or cellular communication. Alternatively, the communication device 220 may be configured to provide a wired network connection(s), such as an Ethernet connection.

[0023] The processor 222 may include one or more general-purpose or special-purpose processors for performing the computational and control functions of the system 200. The processor 222 may include a single integrated circuit, such as a microprocessing device, or may include multiple integrated circuit devices and / or circuit boards that work in cooperation to accomplish the functions of the processor 222. Additionally, the processor 222 may execute computer programs, such as the operating system 215, the predictive tools 216, and other applications 218, stored in the memory 214.

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

[0025] The non-transitory memory 214 may include a variety of computer-readable media that may be accessed by the processor 222. For example, the memory 214 may include any combination of random access memory ("RAM"), dynamic RAM ("DRAM"), static RAM ("SRAM"), read only memory ("ROM"), flash memory, cache memory, and / or any other type of non-transitory computer-readable medium. The processor 222 is further coupled via the bus 212 to a display 224, such as a liquid crystal display ("LCD"). A keyboard 226 and cursor control device 228, such as a computer mouse, are further coupled to the communication device 212 to allow a user to interface with the system 200.

[0026] In some embodiments, system 200 may be part of a larger system. Thus, system 200 may include one or more additional functional modules 218 to include additional functionality. Other application modules 218 may include, for example, various modules of Oracle® Utility Customer Cloud Services, Oracle® Cloud Infrastructure, Oracle® Cloud Platform, Oracle® Cloud Applications. Predictive tools 216, other application modules 218, and any other suitable components of system 200 may include various modules of Oracle® Data Science Cloud Services, Oracle® Data Integration Services, or other suitable Oracle® products or services.

[0027] A database 217 is coupled to bus 212 to provide centralized storage for modules 216 and 218, for example, storing data received by predictive 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.

[0028] 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, which are collectively shown as system 200. In one embodiment, system 200 may be part of a device (e.g., a smartphone, a tablet, a computer, etc.). In an embodiment, system 200 may be separate from the device and may remotely provide the disclosed functionality for the device. Furthermore, one or more components of system 200 may not be included. For example, for functioning as a user or consumer device, system 200 may be a smartphone or other wireless device including a processor, memory, and a display, and may not include one or more of the other components shown in FIG. 2, and may include additional components not shown in FIG. 2, such as an antenna, a transceiver, or any other suitable wireless device component.

[0029] 3 illustrates an architecture for using a machine learning model to discover the presence of target device energy usage within a home energy usage according to an example embodiment. The 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, the input data 302 can include energy usage from a source location, and the data can be processed by the processing module 304. For example, the processing module 304 can process the input data 302 to generate features based on the input data.

[0030] In some embodiments, the prediction module 306 can be a machine learning module (e.g., a neural network) that is trained by the training data 308. For example, the training data 308 can include labeled data, e.g., 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 fed as input to the prediction module 306. The prediction module 306 can generate instances of target device presence prediction, e.g., multiple predictions over a period of time, regarding the presence of target device energy usage within the total source location energy usage.

[0031] 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 period of time includes the presence of the target device energy usage. In some embodiments, the overall prediction can be the 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 a period of time).

[0032] The 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 be aimed at classification tasks and / or trained under supervised learning techniques. Often, the 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 small mathematical operations on given input data, and the corresponding weights (or associations) of the neurons can be used to generate operands (e.g., generated in part by applying nonlinearities) that are passed further into the network or given as outputs. A synapse can connect two neurons with the corresponding weights / associations. In some embodiments, the prediction module 306 from FIG. 3 can be a neural network.

[0033] In some embodiments, the neural network may 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 are labeled with either device-specific energy usage or general device labels). For example, the training data may include features that may be used by the neural network (or other learning model) to identify trends and predict the presence of target device energy usage from aggregate source location energy usage. In some embodiments, once the model is trained / ready, it may be deployed. Embodiments may be performed by a number of 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 dedicated regression model, and the like). 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 show sample neural networks according to example embodiments. Neural network 400 of 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 input data of the layer. 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 at layer 402, kernel 414 applied at layer 404, and kernel 416 applied at layer 406. In some embodiments, layers 402, 404, and 406 are convolutional layers, with kernel 418 applied at layer 402, kernel 420 applied at layer 404, and kernel 422 applied at layer 406. The shape of the data and the underlying data values ​​can vary from input to output depending on the shape of the filter or kernel applied (e.g., 1×1, 1×2, 1×3, 1×4, 2×1, 2×2, 2×3, 3×2, and the like), the way 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 consistent shape between them, two different shapes, or three different shapes (e.g., all kernels are different sizes), and / or kernels 418, 420, and 422 may have one consistent shape between them, two different shapes, or three different shapes.

[0037] In some cases, the layers of the 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), and the like. 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 with multiple convolutional layers (e.g., implementing one- or multi-dimensional filters or kernels) followed by fully connected layers. 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, however, layers 432, 434, and 436 may be convolutional layers with parallel orientation in some embodiments, and layer 438 may be a concatenation layer that combines 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 combined 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 may be implemented. In embodiments, kernels 444, 446, and 448 can have one consistent shape between them, two different shapes, or three different shapes (e.g., all kernels are different sizes), and / or kernels 450, 452, and 454 can have one consistent shape between them, two different shapes, or three different shapes. .

[0040] 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 parallel layers, concatenation layers, and the like. For example, layers 432, 434, and 436 may show three parallel layers, however, a greater or lesser number of parallel layers may be implemented. Similarly, the output from each of layers 432, 434, and 436 is shown as an input to layer 438, which in some embodiments is a concatenation layer. However, one or more of layers 432, 434, and 436 may include additional convolutional or other layers prior to the concatenation 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 concatenation layer). In some embodiments, another convolutional layer (with another kernel) may be implemented between layers 432 and 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 convolution layers and one concatenation layer) may represent blocks in neural network 430, and one or more additional blocks may be implemented before or after the blocks represented. For example, the blocks may feature at least two parallel convolution layers followed by a concatenation layer. In some embodiments, multiple (e.g., three or more) additional convolution layers with various parallel structures may be implemented as blocks. Neural network 430 represents an embodiment of a feedforward convolutional neural network having multiple convolution layers (e.g., implementing one-dimensional and / or two-dimensional filters or kernels) with parallel orientations followed by a fully connected layer. The embodiment 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, a mixture of layers may be implemented in neural networks in some embodiments, where convolutional layers and / or convolutional neural networks and / or convolutional blocks are implemented with other layers, networks, or blocks.

[0043] 4C illustrates neural network 460, which may include blocks 462, 464, 466, and 468. In some embodiments, neural network 460 may be a recurrent neural network ("RNN"). For example, inputs 470, 472, 474, and 476 may represent input sequences into neural network 460 (e.g., energy usage data as a sequence over time), and outputs 478, 480, 482, and 484 may represent output sequences. 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., a weight matrix for inputs, a weight matrix for computing hidden states, and a weight matrix for computing outputs), blocks with any suitable combination of weight matrices, activation functions, and / or gates, and the like.

[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 compute a hidden state that is passed to output 478 and block 464. Similarly, block 464 may compute a hidden state that is passed to output 480 and block 466, and so on. In some embodiments, neural network 460 may further include several blocks (e.g., six or more) and further include several 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 forward and backward between blocks).

[0045] The embodiments implement neural networks that include a heterogeneous mix of architectures. For example, the implemented neural network can include a CNN layer combined with an RNN layer. In some embodiments, a CNN architecture (e.g., serial convolutional layers, parallel convolutional layers, and / or concatenation layers, pooling layers, fully connected layers, and the like) is combined with an RNN architecture (e.g., blocks of an RNN neural network), whereby an output from the CNN architecture serves as an input to the RNN architecture. For example, input data (e.g., energy usage data as a sequence over time) can be processed by the CNN architecture, and an output from the CNN architecture can be input to the RNN architecture, which can process the input data to generate a prediction result. In some embodiments, one or more fully connected layers (with appropriate activation functions) can follow a CNN architecture, an RNN architecture, or both. Other implementations can 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 instances, Bayesian networks or other types of supervised learning models may be implemented as well. For example, a support vector machine may be implemented in some instances with one or more kernels (e.g., Gaussian kernels, linear kernels, and the like).

[0047] In some embodiments, test instances can be given to the model to calculate its accuracy rate. For example, referring back to FIG. 3, a portion of the training data 308 / labeled or surveyed energy usage data can be reserved for testing the trained model (e.g., rather than training the model). The accuracy rate measurement can be used to tune the prediction module 306. In some embodiments, the accuracy rate evaluation can be based on a subset of the training data / processed data. For example, the subset of data can be used to evaluate the accuracy rate of the trained model (75% to 25% ratio for training to test, and the like). 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 may output a prediction (e.g., a confidence value, such as a numerical value between 0 and 1) indicating the presence of target device energy usage in a given input (e.g., an instance of test data). For example, the instance of test data may be energy usage data for a given source location (e.g., a household) over a period of time, where the energy usage data includes a label indicating whether target device energy usage is present. Because the presence of target device energy usage is known for a given input / test instance, the predicted value may be compared to a known value to generate a rate of accuracy metric. A rate of accuracy for the trained model may 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 a number of hidden layers in a neural network, adjusting kernel calculations (e.g., used to implement a support vector machine or neural network), and the like. This tuning may also include adjusting / selecting features used by the machine learning model, adjustments to the processing of input data, and the like. Embodiments include implementing various tuning configurations (e.g., different versions of machine learning models and features) while training / calculating accuracy to arrive at a configuration for the prediction module 306 that, once trained, achieves a desired performance (e.g., performs predictions with a desired level of accuracy, performs according to a desired resource utilization / time metric, and the like). In some embodiments, the trained model may be saved or stored for further use and to maintain its state. For example, the training of the prediction module 306 may be performed "off-line," and the trained model may 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 aggregate 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 Table 1.

[0051] [Table 1]

[0052] The sample row of data in this example includes columns: identifier, timestamp, total (energy use), and labeled device-specific energy use (e.g., air conditioner, electric vehicle, refrigerator, and the like). This example includes a 15-minute granularity, but other suitable granularities (e.g., 1 minute, 5 minutes, 30 minutes, 1 hour, hours, 1 day, days, 1 week, weeks, 1 month, and the like) may be implemented as well. In some embodiments, processing the energy usage data (e.g., to generate training data 308) may include reducing the granularity of the data, for example, such that the granularity of the data may be used to generate a training corpus having a consistent granularity (e.g., 1 hour, 1 day, 1 week, 1 month, etc.). Such granularity reduction may 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] An embodiment includes a target device (e.g., an electric vehicle) and / or a set of target devices included in the training data 308. For example, training of the prediction module 306 may be configured to identify the presence of a target device energy usage within an overall energy usage, and the training data may include labeled data usage for a sole target device or multiple target devices.

[0054] An embodiment includes a set of devices contained within the training data 308. For example, the training of the prediction module 306 may be configured to generate target device discovery predictions, however, the training may utilize labeled data use for 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. Training data is often limited, and thus 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 frequency of occurrence for different combinations of devices in the available training data.

[0055] In some embodiments, pre-processing the data may include selecting a subset of columns, a subset of rows, an aggregate of data (or some other mathematical / combinatorial function) from Table 1, and other suitable processing. For example, data cleaning, normalization, scaling, or other processing used to make 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 aggregate energy usage data at the source location as well as labeled energy usage data for the target devices.

[0056] The surveyed data may include an indication of the presence (e.g., at a source location) of the target device as indicated through a survey on a particular day. In some embodiments, a survey response for the target device may be associated with a temporal characteristic (e.g., response data to the survey) and a given source location (e.g., a household), whereby the surveyed data is indicated by the overall energy use at the given source location closest to the temporal characteristic, using a general label whose data includes the target device energy use (rather than using a specific target device energy use value). In certain embodiments, labeled energy use data is very useful but rare. Thus, the surveyed energy use data may be combined with the labeled energy use data to enhance the performance of the training machine learning model. For example, augmenting the labeled energy use data with surveyed energy use data may improve the overall performance of the model and lead to more accurate results.

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

[0058] An embodiment processes energy usage data from a source location (e.g., a household) to generate training data 308 used to train the prediction module 306. For example, aggregate source location energy usage data values ​​may be combined with labeled energy usage data values ​​(and, in some implementations, surveyed energy usage data) for one or more target devices, and the resulting combination may be processed to arrive at training data 308. In some embodiments, energy usage data for a source location may be obtained by measurement (e.g., metering). Additionally, measurement, metering, or some other technique for receiving / monitoring energy usage for specific devices in a source location may be implemented to generate training device-specific labeled energy usage data. In other examples, energy usage data including source location energy usage and disaggregated target device-specific energy in the source location may be obtained from a third party. For example, training data may be obtained in any suitable manner, such as by monitoring a source location (e.g., a household) in a known environment, by obtaining a publicly (or otherwise) available dataset, by 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 duration) may be input to the trained prediction module 306, which may generate multiple predictions (e.g., a prediction for each instance). For example, the instance of input data fed to the trained prediction module 306 may be a week (or month) of source location energy usage data (e.g., along with other relevant information such as weather, calendar, and the like), and a prediction (e.g., a confidence data value between 0 and 1 or any other suitable numeric range) may be generated that indicates the presence of target device energy usage within the source location energy usage (e.g., over a week or other suitable duration). In some embodiments, the instance of source location energy usage data may be broken down to a given granularity (e.g., 15 minutes, 30 minutes, an hour, a few hours, a day, a few days, a week, a month, and the like) over a duration (e.g., a week or a 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 an entire duration (eg, an energy usage data value corresponding to a billing per month).

[0060] In some embodiments, the prediction module 306 may be fed these multiple instances of the input data (e.g., multiple weeks or months), thereby generating multiple instances of the presence prediction (confidence data values). For example, the analysis module 310 combines the instances of the presence prediction to generate an overall prediction regarding whether the source location energy usage data measured over a period of time (e.g., a period of time that spans or is otherwise related to the multiple instances of the input data used to generate the instances of the presence prediction) includes the presence of the target device energy usage. In some embodiments, a mathematical function may be used to combine the instances of the presence prediction to generate an overall prediction regarding whether the source location energy usage data measured over a period of time includes the presence of the target device energy usage. For example, the instances of the presence prediction may be data values ​​between a given range (e.g., between 0 and 1), and the combining may include averaging, minimum, maximum, k-max averaging, combinations thereof, and any other suitable combining technique.

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

[0062] 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). FIGS. 5A-5B show sample graphs illustrating device-specific energy usage presence prediction results according to example embodiments. The data shown in the sample graphs shows a tested embodiment disclosed herein for predicting the presence of a target device energy usage from the overall energy usage at an unseen source location (e.g., a home). FIG. 5A shows a graphical representation of the overall energy usage data and predicted confidence data values ​​of the presence of a target device energy usage according to some embodiments. In the graph 502, time is shown on the x-axis while energy usage (in kWh) is shown on the y-axis.

[0063] 5A, the trained predictive model can receive (as input) aggregate energy usage data values ​​(e.g., processed input data) and generate a graphically represented prediction (e.g., a confidence value that the energy usage data includes the target device energy usage). The aggregate energy usage data values ​​that serve as input data can include energy from multiple devices, which can sometimes include the target device(s). 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 a week).

[0064] Graph 502 shows that the trained predictive model begins predicting 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 aggregate source location energy usage. Some embodiments of the predicted confidence values ​​for the target device achieve high accuracy rates over multiple weeks, and other embodiments achieve high accuracy rates over multiple months, 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]

[0033] Embodiments implement threshold confidence data values ​​indicative of the presence of target device energy usage. For example, Figure 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 data value greater than the threshold indicates a positive prediction for 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 for the output from the trained predictive model, and graph 506 is a receiver operator characteristic ("ROC") curve for the output from the trained predictive model. Graphs 504 and 506 show the accuracy rate 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, thresholds may be configured based on the accuracy rate 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 high threshold that is calculated empirically (e.g., based on output data from a trained model that achieves high precision), while a "high reach" use case has a relatively low threshold that is calculated empirically (e.g., based on output data from a trained model that balances precision and the number of source locations captured by the threshold). Other objectives and / or use cases and corresponding thresholds targeted to optimize these objectives / use cases may be implemented similarly. In some embodiments, the thresholds may be derived using precision-recall values ​​for the trained model, ROC values ​​for the trained model, a combination of these, or any other suitable technique may be used to calculate a 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 shows an architecture for using multiple machine learning models to discover the presence of target device energy usage within a 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, the input data 602 can include energy usage from a source location, and the data can be processed by the processing module 604. For example, the processing module 604 can process the input data 602 to generate features based on the input data. In some embodiments, the input data 602 and the processing module 604 can be similar to the input data 302 and the processing module 304 of FIG. 3.

[0070] In some embodiments, prediction modules 606 and 610 can be machine learning modules (e.g., neural networks) trained by training data 608 and 612, respectively. For example, training data 608 and 612 can include labeled data, e.g., 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 surveyed energy usage data. Output from processing module 604, such as processed input, can be fed as input to prediction modules 606 and 610. An embodiment of prediction modules 606 and 610 can be similar to prediction module 306 of FIG. 3.

[0071] In some embodiments, the training data 608 and 612 can train the prediction modules 606 and 610 to predict the presence of a target device energy usage from the aggregate source location energy usage. Once trained, the prediction modules 606 and 610 can be configured for different types of target device presence predictions. For example, the training data 608 can train the prediction module 606 to find the presence of a target device given a first set of input data, e.g., source location energy usage data having a first granularity (e.g., hourly granularity within weekly chunks), while the training data 612 can train the prediction module 610 to find the presence of a target device given a second set of input data, e.g., source location energy usage data having 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 type of target device energy usage (e.g., one or a set of target devices, target devices of a particular type of energy usage, and the like), and the prediction module 610 may be configured to discover a second type of target device energy usage.

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

[0073] 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 and 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 arrive at an overall presence prediction. For example, the input data 602 can be overall energy usage data from source locations, which is processed by the processing module 604 and fed to the trained prediction module 606 and the 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 one target device or multiple confidence data values ​​indicating the presence of different target devices. For example, the instances of presence prediction from the prediction module 606 can be combined by the analysis module 614 to arrive at a confidence data value for a first target device, and the instances of presence prediction from the 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, the instances of presence prediction from the prediction modules 606 and 610 can be combined together 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 improvements to target device presence prediction. For example, embodiments implementing flexible thresholds may be optimized for precision, reach, a combination of these, or for any other suitable use case. Some embodiments may 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 chunks of data with monthly or weekly granularity). These embodiments may be configured to use 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 also be configured to discover the presence of energy usage from various target devices. For example, using one or more trained predictive models, embodiments may detect the presence of energy usage from 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 devices Electric cooling devices Heating, ventilation, and air conditioning (HVAC) devices Photovoltaic / Solar Panels It is possible to discover the existence of energy usage (within the total source location energy usage) for

[0077] The embodiments are similarly scalable in that a variety of additional target devices can be supported with associated training data and are highly scalable in modern cloud computing environments. Implemented embodiments have been used to predict target device presence at millions of source locations with encouraging results.

[0078] The embodiments also support improvements to the electric grid infrastructure. In practice, demand for electricity experiences peak loads that can result in high costs for the utilities implementing the electric grid as well as high environmental costs. To address this issue, utilities aim to better distribute the electric demand and reduce the risk of peak loads. Because the embodiments can identify target device energy consumption from household energy consumption, utilities can target customers with specific target devices to achieve this load distribution. For example, electric vehicle charging can be identified as a factor that exacerbates or mitigates peak loads. The embodiments support discovery of utility customers with electric vehicles, and the utility can then target the customers for load distribution campaigns.

[0079] For example, to balance the load on the electric grid while better serving customers, time-of-use ("TOU") rates may be used that reduce demand on the grid by shifting some of the load to off-peak times. TOU rates may include incentives for customers to charge electric vehicles off-peak, such as a "Residential EV Rate," which is priced to induce customers to practice more efficient energy consumption behavior. Additionally, discovery of the presence of electric vehicles at utility customer premises may be a factor in grid planning. For example, the burden that electric vehicle charging places on the electric grid may be better understood when the number of utility customers with electric vehicles can be reliably estimated. Utilities may then better consider the expected increase in the number of electric vehicles (and other large capacity battery devices) when planning future electric grid infrastructure.

[0080] Embodiments can also support a utility's efforts to transition customers from natural resource (e.g., gas or oil) appliances to electric appliances. For example, embodiments can discover the presence of target devices such as electric appliances, and therefore can reliably discover the absence of such electric devices. Once it is understood that customers are missing electric appliances, the utility can target these customers with campaigns to transition from gas appliances (e.g., clothes dryers or water heaters) to electric appliances. Often, natural resource appliances (e.g., aging appliances) are less energy efficient than their electric counterparts, and thus such campaigns can improve overall energy efficiency over an area.

[0081] FIG. 7 illustrates a flow diagram for training a machine learning model to discover the presence of target device energy usage according to an example embodiment. In some embodiments, the functions of FIGS. 7 and 8 may be implemented by software stored in a memory or other computer-readable or tangible medium and executed by a processor. In other embodiments, the functions may be performed by hardware (e.g., through the use of application specific integrated circuits ("ASICs"), programmable gate arrays ("PGAs"), field programmable gate arrays ("FPGAs"), etc.), or any combination of hardware and software. In an embodiment, the functions of FIGS. 7 and 8 may be performed by one or more elements of system 200 of FIG. 2.

[0082] At 702, energy usage data from a plurality of source locations is 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 columns from Table 1. In some embodiments, the received data can include a timestamp, total 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 joint venture, or through any other suitable channel or entity.

[0083] At 704, a machine learning model may be configured. For example, a machine learning model may be configured, such as a neural network, a CNN, an RNN, a Bayesian network, a support vector machine, any combination of these, or any other suitable machine learning model. Parameters, such as the number of layers (e.g., the number of hidden layers), input shape, output shape, width, depth, direction (e.g., feedforward or bidirectional), activation functions, types of layers or units (e.g., gated recurrent units, long-short-term memory, and the like), or other suitable parameters for the machine learning model may be selected. In some embodiments, these configured parameters may be tuned (e.g., adjusted, changed entirely, added, or removed) when training the model.

[0084] 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, and the like), 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, and the like), 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. The parameters configured by the CNN and / or the RNN may be tuned when training the model as well.

[0085] At 706, the energy usage data may be processed to generate training data. For example, the energy usage data from the source locations may 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, chunks of training data may be generated that cover a predetermined duration (e.g., a week, a month), where the chunks of training data include source location energy usage data of the given granularity over the duration. In some embodiments, the target device may be at least one of an electric vehicle, a water heater, a washer, 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 features of the target device energy usage.

[0086] At 708, the machine learning model can be trained using the generated training data to predict the presence of the target device energy usage. The training can include generating predictions, calculating losses (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 for the target device and / or the surveyed target device energy usage can be used to train the machine learning model.

[0087] In some embodiments, the trained machine learning model is trained using energy usage values ​​for multiple source locations (e.g., households), and the training can be optimized for present prediction of target device energy usage. In some embodiments, the training data, including, in some cases, labeled energy usage values ​​from the target device(s), has a granularity of substantially hourly. Other suitable granularities (e.g., 1 minute, 15 minutes, 30 minutes, 45 minutes, and the like) can be implemented as well.

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

[0089] 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(s) and / or the training data used may be tuned based on the results of the training. For example, testing of the trained model may indicate the accuracy rate of the trained model, and various tuning adjustment(s) may be made based on the test accuracy rate.

[0090] The trained machine learning model(s) may be stored at 710. 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.

[0091] 8 illustrates a flow diagram for generating machine learning predictions to discover the presence of target device energy usage according to an example embodiment. For example, one or more machine learning models trained based on the functionality of FIG. 7 may be used to implement the functionality of FIG. 8.

[0092] 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 multiple time intervals (e.g., with substantially hourly granularity) based on timestamps over a period of time, such as a day, a week, a month, or the like. Other suitable granularities may be implemented. In some embodiments, low-resolution energy usage data is received for the source location. For example, energy usage data over a month may be received, and the granularity for the data may include one or a small number of values ​​(e.g., daily, monthly, or weekly).

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

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

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

[0096] In some embodiments, each instance of a discovery prediction generated by the trained machine learning model is based on a corresponding instance of source location energy use (e.g., hourly granularity over a week) and weather conditions associated with the corresponding instance of source location energy use (e.g., weather conditions over a week). For example, the weather conditions are relative to 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 are associated with a duration (e.g., calendar data) associated with the corresponding instance of source location energy use. In some embodiments, the weather conditions can include dew point temperature, humidity, relative humidity, solar irradiance, and other suitable weather data.

[0097] At 806, the multiple discovery predictions may be analyzed, and at 808, an overall prediction may be generated regarding the presence of target device energy usage within the energy usage of a given source location over a period of time based on the multiple discovery predictions. For example, generating the overall prediction may include combining overall confidence data values ​​corresponding to the multiple discovery predictions to generate an overall confidence data value. In some embodiments, the instances of the presence prediction 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 techniques.

[0098] In some embodiments, the discovery prediction is a confidence data value indicative of the presence of target device energy usage within an instance of source location energy usage, and the overall prediction is an overall confidence data value indicative of the presence of target device energy usage within a given source location's energy usage over a period of time. For example, generating the overall prediction can include combining confidence data values ​​corresponding to multiple discovery predictions to generate the 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.

[0099] In some embodiments, the target device is an electric vehicle and the target device energy use is electric vehicle charging. For example, the target device energy use can be a first type of electric vehicle charging and / or a second type of electric vehicle charging, where the first type of electric vehicle charging is performed by a 120 volt charger and the second type of electric vehicle charging is performed by a 240 volt charger.

[0100] An embodiment generates a machine learning prediction to discover the presence of a target device energy usage. Non-intrusive load monitoring ("NILM") and / or decomposition refers to taking as input an aggregate energy usage at a source location (e.g., energy usage in a home served by an advanced metering infrastructure) and extrapolating energy usage for one or more appliances, electric vehicles, and other devices that use energy at the source location. An embodiment leverages a trained machine learning model to generate a prediction regarding the presence of a target device energy usage within the overall energy usage at the source location. For example, the target device can be a large appliance or an electric vehicle, the source location can be a home, and the trained machine learning model is configured to receive the home energy usage as input and predict whether the home energy usage includes the target device energy usage.

[0101] 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 particular level of granularity (e.g., 15 minutes, 30 minutes, hourly, and the like) over a period of time (e.g., one week, two weeks, one month, and the like). In some embodiments, the trained machine learning model may generate multiple forecast instances for each instance of home energy use data (e.g., four weekly forecasts over a month). An overall forecast may then be generated based on the multiple forecast instances. For example, an analysis may be performed on the forecast instances to arrive at an overall forecast regarding the presence of a target energy use within home energy use over the period of time.

[0102] The features, structures, or characteristics of the present disclosure described throughout this specification may be combined in any suitable manner in one or more embodiments. For example, the use of "one embodiment," "some embodiments," "certain embodiment," "certain embodiments," or other similar language throughout this specification refers to a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of the present disclosure. Thus, the appearance of the phrases "one embodiment," "some embodiments," "a particular embodiment," "certain 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 may be combined in any suitable manner in one or more embodiments.

[0103] Those skilled in the art will readily appreciate that the embodiments discussed above may be implemented using steps in different orders and / or with elements in different configurations than those 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 become apparent while remaining within the spirit and scope of the disclosure. Accordingly, reference should be made to the appended claims to determine the metes and bounds of the disclosure.

Claims

1. A method for generating a machine learning prediction to discover target device energy usage, comprising: storing one or more trained machine learning models configured to discover target device energy usage from source location energy usage; receiving, for a given source location, multiple instances of source location energy usage over a period of time; generating, using the trained machine learning model, multiple discovery predictions for the received instances of source location energy usage, the discovery predictions including predictions regarding the presence of target device energy usage within the instances of source location energy usage; the method including generating, based on the multiple discovery predictions, an overall prediction regarding the presence of target device energy usage within the energy usage of the given source location over the period.

2. The discovery predictions include a confidence data value indicating the presence of the target device energy usage within the instances of source location energy usage, and the overall prediction includes an overall confidence data value indicating the presence of the target device energy usage within the energy usage of the given source location over the period, according to the method of Claim 1.

3. Generating the overall prediction includes combining the confidence data values corresponding to the multiple discovery predictions to generate the overall confidence data value, according to the method of Claim 2.

4. The overall confidence data value is compared to a criterion or threshold, and the presence of the target device energy usage is positively discovered when the overall confidence data value meets or exceeds the criterion or threshold, according to the method of Claim 3.

5. The target device includes 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, The method according to claim 2, wherein the trained machine learning model is trained using data including features of the target device energy usage.

6. The target device includes an electric vehicle, the target device energy usage includes a first type of electric vehicle charging and a second type of electric vehicle charging, the first type of electric vehicle charging uses a 120-volt standard charger, and the second type of electric vehicle charging uses a 240-volt fast charger, the method according to claim 5.

7. The method according to claim 2, wherein the source location includes a home, the instance of source location energy usage includes home energy usage at a granularity of once per hour over a period of one week, and the period includes at least four weeks.

8. The method according to claim 2, wherein the source location includes a home, and the instance of source location energy usage includes one of a granularity of once per month, once per week, and once per two weeks.

9. The method according to claim 2, wherein the trained machine learning model includes one or more recurrent neural network layers and one or more convolutional neural network layers 。

10. Each discovery prediction generated by the trained machine learning model is based on a corresponding instance of source location energy usage and weather conditions associated with the corresponding instance of source location energy usage, the method according to claim 2.

11. The method according to claim 10, wherein the weather conditions are based on the source location and further include one or more of an average temperature, a maximum temperature, a minimum temperature, a dew point temperature, a humidity value, and a solar irradiance. **Claim 12** A system for generating a machine learning prediction to discover target device energy usage, a processor, and a memory storing instructions for execution by the processor, the instructions configuring the processor to perform the method according to any one of claims 1 to 11. **Claim 13** A program comprising instructions which, when executed by a processor, cause the processor to generate a machine learning prediction to discover target device energy usage and, when executed, cause the processor to perform the method according to any one of claims 1 to 11.