Patent Description:
To optimize the electrical energy consumption of an industrial site, it may be useful to have access to detailed time-series data giving regular values (e.g. every <NUM> minutes) of consumption, cost and/or environmental impact over a certain time period (e.g. one year). However, there are cases in which access to real data is not available for various reasons, such that time-series data must be estimated. For example, a generic or 'typical' time-series may be selected from a database and deemed to be sufficiently similar to the expected consumption profile. However, such a typical time-series is often unavailable. Real consumption data covering a limited time period (e.g. one day or one week) may be taken and repeated to fill a complete year, but doing so typically erases the effect of seasonal trends.

There is therefore a need to increase the accuracy of time-series estimates without access to real time-series data of the facility under investigation. This need is met by the subject-matter of the independent claims. Optional features are set forth by the dependent claims.

According to a first aspect, there is provided a system for synthesizing energy time-series data for a facility. The system comprises a time-series generator configured to receive an input set of attributes comprising attributes characterizing the facility, and to output a synthesized time-series representing estimated energy data for the facility. The synthesized time-series may be generated on the basis of the input set of attributes and one or more reference time-series associated with respective reference sets of attributes.

The claimed subject-matter enables a plausible time-series to be generated for a specific facility, requiring only a limited set of key attributes, using a set of example facilities for which the key attributes and the time-series are known. The constructed time-series may have a sufficient granularity and timespan to provide reliability of the result (i.e. the predicted optimization potential). The time-series can be used by an optimizer directly and no additional (e.g. manual) steps may need to be executed. The claimed systems and methods can readily be employed by non-technical experts. The generated time-series can be used for engineering and development of energy management software covering a wider range of examples. The customer does not need to provide detailed data. The claimed subject-matter thus facilitates the estimation of energy cost optimization of a commercial or industrial facility or site.

The time-series generator may synthesize the time-series by directly modifying an existing (e.g. similar) time-series or by synthesizing the time-series from scratch using e.g. a machine learning model. The time-series generator may also be referred to as a time-series generation module.

For example, the time-series generator may comprise a time-series modification module configured to generate the synthesized time-series by modifying the one or more reference time-series, wherein the reference sets of attributes are determined to be similar to the input set of attributes. The time-series modification module may also be referred to as a fitting module.

To facilitate identification of an appropriate time-series for modification, the time-series generator may comprise a reference data acquisition module configured to search one or more databases to retrieve one or more candidate time-series associated with respective candidate sets of attributes, and to select, as the one or more reference time-series, those candidate time-series being associated with candidate sets of attributes which are similar to the input set of attributes. The acquisition module may also be referred to as search and comparison module or a database retrieval module.

Any appropriate determination of similarity may be used. In one example, the reference data acquisition module may be configured to select, as the one or more reference time-series, those candidate time-series being associated with candidate sets of attributes which, when compared to the input set of attributes, yield a similarity metric satisfying a predetermined similarity threshold. The similarity metric may be expressed as a distance metric. Thus, in that example, the reference data acquisition module may be configured to determine the similarity metric for each candidate set of attributes by computing a distance metric representing the distance between the said candidate set of attributes and the input set of attributes. Additionally or alternatively, in that example, the reference data acquisition module may be configured to determine the similarity metric for each candidate set of attributes by inputting the said candidate set of attributes and the input set of attributes as a feature vector to a trained classifier trained to predict, as the target, a similarity metric on the basis of an input feature vector comprising two such sets of attributes.

According to the invention, the one or more reference time-series comprise a plurality of reference time-series, the time-series modification module may be configured to modify the reference time-series by calculating a weighted combination of the plurality of reference time-series, and to output the weighted combination as the synthesized time-series. The weighted combination may be determined or calculated for example as cTS = <NUM>/D*Σ[di*eTSi], where the reference sets of attributes eSAi are similar within a distance of di to the input set of attributes cSA, and where D = Σdi. The time-series modification module may be further configured to use an optimization algorithm to find optimal weights for the weighted combination. The weights may represent the customer time-series for example as a linear combination of the multiple reference time-series. In an alternative form of modification, the time-series modification module may be configured to modify the multiple reference time-series by concatenating selected intervals from the plurality of reference time-series, the intervals being selected according to similarity between the reference sets of attributes respectively associated with the plurality of reference time-series and the input set of attributes.

Instead of or as well as modifying a pre-existing time-series, the time-series generator may be configured to generate the synthesized time-series by inputting the input set of attributes to a machine learning model trained to predict the one or more reference time-series on the basis of the respective reference sets of attributes input to the model. The one or more reference time-series may serve as the target to be predicted on the basis of the respective reference sets of attributes input to the model as feature vectors.

Various post-processing steps may be performed to refine the synthesized time-series. In one example, the time-series generator may be further configured to modify the synthesized time-series in a post-processing step to match one or more predetermined key attributes of the facility. For example, the generated energy profile can be rescaled to match the total energy consumption or generation of the facility, or peak and average power. Another possible post-processing step includes adjusting the generated time-series to ensure that load patterns follow production patterns. For example, in which the facility comprises an industrial site, if it is known a priori that production at the site is not running during certain time periods (for example during the night, at off-peak times, or at the weekend), the generated time-series (load profile) can be adjusted by pointwise multiplication with a time-series that is e.g. <NUM> for timepoints at full production and e.g. <NUM> or a small positive value (below a predetermined threshold) for timepoints at off-peak times. Linear interpolation or another suitable interpolation approach may be employed for determining values at timepoints falling during a transition between full and no/limited production.

According to a second aspect, there is provided a method for synthesizing energy time-series data for a facility. The method may comprise receiving an input set of attributes comprising attributes characterizing the facility and outputting a synthesized time-series representing estimated energy data for the facility. The synthesized time-series may be generated on the basis of the input set of attributes and one or more reference time-series associated with respective reference sets of attributes.

According to a third aspect, there is provided a computer program product comprising instructions which, when executed by a computer, enable the computer to carry out the method of the second aspect.

According to a fourth aspect, there is provided a computer-readable medium comprising instructions which, when executed by a computer, enable the computer to carry out the method of the second aspect.

According to another aspect, there is provided a method and/or system for optimizing energy consumption at the facility on the basis of the time-series synthesized as described herein. Known energy consumption optimization methods may be used in this respect.

The term "module" as used herein may be replaced by "system", "circuitry", "tool" according to the specific implementation.

By "attribute" is meant any characteristic or parameter capable of characterizing or specifying the facility and in particular factors relevant to or affecting the energy consumption or generation of the facility. For example, attributes may include any one or more of: a classification of the facility; annual energy consumption or generation at the facility; operation hours; geographic location; equipment used by the facility.

By "facility" is meant a site, building or piece of equipment which consumes and/or generates energy. A facility may thus be described as an energy consumer, an energy generator, or both. The facility may be a non-industrial facility such as a commercial or private facility, e.g. an office building or a household, or an industrial facility, in particular an industrial site such as an industrial plant, especially those including any combination of generators, consumers and storage for electricity. The term "facility" encompasses not only a site, building or piece of equipment as a whole but also individual parts, sections or components thereof.

The terms "generate" and "synthesize" used in the relation to time-series may be replaced by equivalents such as "construct", "build", "fabricate", "create", and so on.

The adjective "reference" in the terms "reference time-series" and "reference set of attributes" appearing herein may be replaced by equivalents such as "example", "existing", "prestored", "template", and so on. The term "input set of attributes" is discussed herein also in terms of "customer site attributes".

The term "candidate" used herein refers in particular to a time-series or set of attributes to be compared with others or subject to selection.

While the time-series in the following examples relate to energy consumption data, the time-series may additionally or alternatively relate to energy generation data. The "energy data" appearing herein may thus be understood as comprising energy consumption data, energy generation data, or both. Equivalent terms such as energy exchange data or energy transfer data may be used. Moreover, although the specific examples given below relate mainly to electrical energy time series, it will be understood that the described systems and methods are equally applicable to other time-series such as heat energy time-series or time-series relating to other entities entirely (such as price, weather, production output, and so on).

The present invention includes one or more aspects, embodiments or features in isolation or in various combinations whether or not specifically stated (including claimed) in that combination or in isolation. Any optional feature or sub-aspect of one of the above aspects applies as appropriate to any of the other aspects.

The above aspects will become apparent from, and be elucidated with reference to, the following detailed description.

A detailed description will now be given, by way of example only, with reference to the accompanying drawings, in which:.

<FIG> illustrates a time-series generator <NUM> configured to generate an energy time-series from key attributes of a site. The time-series generator <NUM> receives, as input, customer site attributes (cSA) <NUM> comprising important attributes of the site in question. The time-series generator <NUM> is configured to generate or synthesize a customer time-series (cTS) <NUM> for the site based on the customer site attributes <NUM> in conjunction with existing site attributes (eSA) <NUM> and respective existing time-series (eTS) <NUM> provided by one or more databases.

Examples of site attributes <NUM>, <NUM> include one or more of: classification of the site (e.g. discrete manufacturing, commercial retail, food production, and so on); the annual site energy consumption (e.g. 5GWh); site-operation hours (e.g. given by operation days per week and daily shifts); the geographic location of the site (e.g. country or GPS-coordinates); equipment used by the site (e.g. battery, photo-voltaic, etc.).

<FIG> illustrates one implementation of the time-series generator of <FIG> in which the time-series generator <NUM> is configured to synthesize a time-series by directly modifying one or more existing similar time-series <NUM>. In other words, the time-series generator <NUM> is configured to generate the customer time-series <NUM> using a mapping from site attributes to time-series. In one example, the example site attributes <NUM> are clustered by using for example the k nearest neighbours, principal component analysis for dimension reduction (taking e.g. only the <NUM> components giving the largest variance contribution), and subsequent k nearest neighbouring. The example time-series <NUM> are also clustered by a time-series clustering algorithm such as k nearest neighbours, multivariate principal component analysis, or by using the absolute value of the Pearson correlation coefficient if this is above a predetermined threshold (e.g. |correlation| >= <NUM>). Other suitable clustering methods are also envisaged by the present disclosure. To generate the customer time-series <NUM>, the site attribute cluster corresponding to the customer site attributes <NUM> is determined (for example, based on similarity, as described below), and the example time-series <NUM> which are selected as modification candidates for generating the customer time-series <NUM> include a first set comprising those example time-series <NUM> that are associated with example site attributes <NUM> in the determined site attribute cluster and optionally also a second set comprising example time-series <NUM> found in the same time-series cluster(s) as those in the first set.

The time-series generator <NUM> comprises a reference data acquisition module <NUM> configured to search the database of existing site attributes <NUM> to identify those entries (which may be clustered in the above-described manner) which are most similar to the customer site attributes <NUM>. The reference data acquisition module <NUM> is configured to compute the similarity between the customer site attributes <NUM> and one or more candidate sets of example site attributes <NUM> in the database in one or more of the following ways: a) by defining a suitable distance metric that measures the distance between two sets of attributes (represented as a vector in a multi-dimensional space); b) by using machine learning classification methods.

The time-series generator <NUM> further comprises a time-series modification module <NUM> configured to construct, using the identified sets of similar example site attributes <NUM>, one or more corresponding customer time-series <NUM>. Taking the sets of example site attributes eSAi <NUM> as being similar within a distance of <NUM>/di to the customer site attributes cSA <NUM>, where D=Σdi, the customer time-series <NUM> can be constructed for example using one or more of the following approaches.

With reference to <FIG>, a first approach calculates a weighted combination of the relevant example time-series, e.g. cTS=<NUM>/D*Σ[di*eTSi]. <FIG> shows one example of an example time-series <NUM> for a site at which a load has a day/night pattern. <FIG> shows a further example of an example time-series <NUM> for a site at which the load is periodically switched on and off (at a frequency higher than that of the daily cycle shown in <FIG>). <FIG> shows the weighted combination of the time-series of <FIG> and <FIG> using the weightings d1 = <NUM>, d2 = <NUM>.

A general post-processing step, in the case that several key characteristics have to be satisfied, may comprise formulating an optimization problem to find the best fitting weights that represents the customer time-series <NUM> as a linear combination of the example time-series <NUM>. The optimization problem may render unnecessary the performance of post-processing steps to ensure that certain characteristics are satisfied, with these being included rather as constraints in the optimization problem. For example, instead of using a fixed weight (e.g. di) in the linear combination of the example time-series, the optimization problem can be formulated as follows: Minimize ∥ (t1-d1, t2-d2,. , tn-dn) ∥_p^p, subject to t1 >= <NUM>,. , tn >= <NUM>, cTS = Σti*eTSi, total energy consumption of cTS = given total energy consumption, while satisfying any further key characteristics. The optimization variable is given by t1,. Here, ∥ ∥_p denotes the p-norm of vectors, where typically p = <NUM> or p = <NUM>. In other words, this optimization problem reads: find the set of coefficients ti that is closest in the p-norm sense to di such that a positive linear combination cTS = Σti*eTSi matches the total energy consumption of the customer site.

A second approach is to take only a predetermined number, e.g. <NUM>, of the most similar sites (according to the similarity of the site attributes, as discussed above) and to concatenate different intervals from the various example time-series <NUM> associated with the selected sites. Here, rather than using a linear combination of the example time-series <NUM>, the various example time-series <NUM> are used to generate the customer time-series <NUM> by concatenation of selected intervals of the different example time-series <NUM>. The above-described similarity metrics may be used to determine the relative proportions of the different intervals which are selected from the various example time-series <NUM>. For example, the weights di may be used to select the proportions of the time intervals. An example is shown in <FIG>: The similarity of the attributes of the site under investigation was found to be high (dA=<NUM>) with example A (<FIG>) and medium (dB=<NUM>) with example B (<FIG>). This is translated into a resulting time-series (<FIG>) that is a concatenation of <NUM> days of exampleSite A and one day of exampleSite B, randomly put as the second day of <FIG>.

In a post-processing step, the constructed data can be made more accurate by forcing it to exactly match key-characteristics of the customer site. For example, the generated load profile can be rescaled to match the total energy consumption of the site more closely.

<FIG> illustrates a further implementation of the time-series generator of <FIG> in which the time-series generator <NUM> comprises a trained model <NUM> (for example a neural network or recurrent neural network) trained with a sufficient number of example site attributes and corresponding example time-series from the database as features, with the goal being to construct time-series that are similar to the example time-series based on a given set of site attributes. The trained model <NUM> is used to generate the customer time-series <NUM> from the specified customer site attributes <NUM>. The time-series generator <NUM> optionally also comprises a model training module <NUM> configured to train the model <NUM> on the basis of the example site attributes <NUM> and examples time-series <NUM>. Alternatively a preprovided model <NUM> may be used.

<FIG> and <FIG> show an exemplary topology of such a recurrent neural network (RNN). The RNN predicts the next value of the customer time-series <NUM> given the current value of the time-series and the customer site attributes <NUM>. The first value of the customer time-series <NUM> can be taken as a random number inside suitable bounds. For example, suitable bounds for a load profile may comprise <NUM> MW as the lower bound and <NUM> MW as the upper bound for a small industrial site. The bounds may be included as part of the site attributes or may be inferred from the site attributes. Training of such a neural network may be performed by learning the example site attributes <NUM> and example time-series <NUM> as input against the shifted example time-series <NUM> as output, where by "shifted" it is understood that all values are shifted one timestep into the future. In addition, the input example time-series <NUM> may be truncated such that the last timepoint is removed. Training can be done using one or more of the following exemplary approaches: mean squared error (MSE) as loss function; L2 regularization of neural network weights; any suitable variant of the stochastic gradient descent algorithm such as the Adaptive Moment Estimation Algorithm (Adam) for loss minimization; hyperoptimization with random sampling of the learning rate parameter (typical values in the range of <NUM>-<NUM> to <NUM>-<NUM>), the L2 regularization parameter (typical values in the range <NUM>-<NUM> to <NUM>-<NUM>), and parameters defining the number of hidden layers and size of units in the network layers (typical values are shown in <FIG> but can be varied for example in the range of a factor of <NUM> smaller/larger and may be a power of <NUM>).

In a variant, generative adversarial networks may be used to generate the customer time-series <NUM> using machine learning methods.

It will be understood that the above disclosure having been provided in relation to commercial/industrial sites is not so limited and that it may be applicable to the generation of any energy time-series.

Referring now to <FIG>, a high-level illustration of an exemplary computing device <NUM> that can be used in accordance with the systems and methods disclosed herein is illustrated. The computing device <NUM> includes at least one processor <NUM> that executes instructions that are stored in a memory <NUM>. The instructions may be, for instance, instructions for implementing functionality described as being carried out by one or more components discussed above or instructions for implementing one or more of the methods described above. The processor <NUM> may access the memory <NUM> by way of a system bus <NUM>. In addition to storing executable instructions, the memory <NUM> may also store conversational inputs, scores assigned to the conversational inputs, etc..

The computing device <NUM> additionally includes a data store <NUM> that is accessible by the processor <NUM> by way of the system bus <NUM>. The data store <NUM> may include executable instructions, log data, etc. The computing device <NUM> also includes an input interface <NUM> that allows external devices to communicate with the computing device <NUM>. For instance, the input interface <NUM> may be used to receive instructions from an external computer device, from a user, etc. The computing device <NUM> also includes an output interface <NUM> that interfaces the computing device <NUM> with one or more external devices. For example, the computing device <NUM> may display text, images, etc. by way of the output interface <NUM>.

It is contemplated that the external devices that communicate with the computing device <NUM> via the input interface <NUM> and the output interface <NUM> can be included in an environment that provides substantially any type of user interface with which a user can interact. Examples of user interface types include graphical user interfaces, natural user interfaces, and so forth. For instance, a graphical user interface may accept input from a user employing input device(s) such as a keyboard, mouse, remote control, or the like and provide output on an output device such as a display. Further, a natural user interface may enable a user to interact with the computing device <NUM> in a manner free from constraints imposed by input device such as keyboards, mice, remote controls, and the like. Rather, a natural user interface can rely on speech recognition, touch and stylus recognition, gesture recognition both on screen and adjacent to the screen, air gestures, head and eye tracking, voice and speech, vision, touch, gestures, machine intelligence, and so forth.

Additionally, while illustrated as a single system, it is to be understood that the computing device <NUM> may be a distributed system. Thus, for instance, several devices may be in communication by way of a network connection and may collectively perform tasks described as being performed by the computing device <NUM>.

Various functions described herein can be implemented in hardware, software, or any combination thereof. If implemented in software, the functions can be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes computer-readable storage media. A computer-readable storage media can be any available storage media that can be accessed by a computer. By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc (BD), where disks usually reproduce data magnetically and discs usually reproduce data optically with lasers. Further, a propagated signal is not included within the scope of computer-readable storage media. Computer-readable media also includes communication media including any medium that facilitates transfer of a computer program from one place to another. A connection, for instance, can be a communication medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fibre optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fibre optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio and microwave are included in the definition of communication medium.

Alternatively, or in addition, the functionally described herein can be performed, at least in part, by one or more hardware logic components.

Claim 1:
A system for synthesizing energy time-series data for a facility which consumes and/or generates energy, the system comprising:
a time-series generator (<NUM>) configured to receive an input set of attributes (<NUM>) comprising attributes characterizing the facility, and to output a synthesized time-series (<NUM>) representing estimated energy data for the facility, the synthesized time-series being generated on the basis of the input set of attributes (<NUM>) and one or more reference time-series (<NUM>) associated with respective reference sets of attributes (<NUM>), characterized in that the time-series generator (<NUM>) comprises a time-series modification module (<NUM>) configured to generate the synthesized time-series (<NUM>) by modifying the one or more reference time-series, wherein the reference sets of attributes are determined to be similar to the input set of attributes,
wherein the one or more reference time-series comprise a plurality of reference time-series (<NUM>), and wherein the time-series modification module (<NUM>) is configured to modify the reference time-series by either i) calculating a weighted combination of the plurality of reference time-series and outputting the weighted combination as the synthesized time-series (<NUM>), or ii) concatenating selected intervals from the plurality of reference time-series, the intervals being selected according to similarity between the reference sets of attributes respectively associated with the plurality of reference time-series and the input set of attributes.