| CPC G06N 3/045 (2023.01) [G06N 20/20 (2019.01)] | 30 Claims |

|
1. A system comprising:
one or more processors; and
one or more memories including program code that is executable by the one or more processors to:
receive an input from a user indicating a target variable to be forecasted over a future time window, wherein the target variable relates to energy consumption or energy production;
determine a plurality of independent variables that influence the target variable, wherein the plurality of independent variables includes a plurality of temporal variables and a plurality of environmental variables;
generate a set of candidate variables for input to a random forest classifier, wherein the set of candidate variables includes the plurality of independent variables and additional variables, each of the additional variables being a new variable defined using a mathematical expression that includes at least two of the plurality of independent variables serving as operands in the mathematical expression;
execute the random forest classifier that is configured to identify, from the set of candidate variables, a subset of candidate variables having at least a threshold level of influence on the target variable, wherein the random forest classifier is configured to output the identified subset of candidate variables;
automatically construct an architecture of a machine-learning model based on a set of hyperparameter values and the identified subset of candidate variables, wherein the architecture of the machine-learning model is automatically constructed to receive the identified subset of candidate variables as inputs and generate a forecast of the target variable as an output, the architecture of the machine-learning model including at least:
an input layer configured to receive the identified subset of candidate variables;
a reshape layer coupled to the input layer;
one or more convolution layers coupled to the reshape layer;
one or more LSTM layers coupled to the one or more convolution layers;
one or more fully connected layers coupled to the one or more LSTM layers; and
an output layer coupled to the one or more fully connected layers;
after automatically constructing the machine-learning model, train the machine-learning model using historical data that indicates previous values of the target variable over a prior time window;
after training the machine-learning model, execute the machine-learning model to generate the forecast indicating future values for the target variable over the future time window; and
transmit an output to the user indicating the forecast.
|