T
T
Therapyx2017-11-07 17:02:37
Algorithms
Therapyx, 2017-11-07 17:02:37

Which of the algorithms is best suited for predicting electricity consumption?

Recently, there has been a need for machine learning and model training for already existing historical data, since there are too many input parameters.
In short, the essence (abbreviated): at the entrance there is
- time of day (24h in a cycle)
- output - not output (by full date)
- a bunch of devices with the amount of energy consumption (numbers)
- And such parameters as cooling / ventilation in the help .
at the output, you need to make a prediction, say, of the "total" energy consumption of all machines together, depending on the time of day and other parameters. (a kind of extrapolation, based on many dozens of parameters).
- In general, all algorithms are a vast topic and it will probably not be rational to learn and analyze everything, so I wanted to ask which algorithms are suitable for this type of task? (in order to narrow this circle :)
So far, from what I have disassembled, I am more or less leaning towards Desicion Tree and Recurrent Neural Networks.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
V
Vladimir Olohtonov, 2017-11-08
@sgjurano

Take xgboost.XGBRegressor, train on a subsample for all previous days for each hour separately. You can consider MSE or MAE as a quality metric.
The quality will be decent, you don't need to think much.
Solution to a similar problem: https://youtu.be/nZdeB6QI9Vw
PS: Gradient boosting, which is implemented in xgboost, is the sequential addition of decision trees to the composition, with the weights of objects twisted at each step so that each next tree (estimator in terms of xgboost ) took into account the errors of the entire composition in the previous step in the best way.

S
Sergey, 2017-11-08
@begemot_sun

In general, all these fashionable neural networks are just a black box.
If I were you, I would build an adequate mathematical model of the processes, taking into account all the parameters.
Further in this model there are some unknown parameters: A, B, C - here, by means of approximation \ interpolation, you need to find them, by fitting the model to reality.
Next, you take any input parameters, and get the result of the model on them.
That. as you set them (extrapolate), so the result will come out.
It's usually easier to extrapolate some input than it is to extrapolate a ready-made output.
Extrapolation of entry will be akin to technical analysis in stock trading. Those. you take a row. Take a window function and train the network to predict the next value based on the window.
Then you feed the inputs to the model, get the outputs of the model.
Of course, you can train the NN directly without a model, but this can be quite time consuming and computationally intensive. And not the fact that you will come to some significant result in this way.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question