-
Notifications
You must be signed in to change notification settings - Fork 1
Description
I don't have an issue for it yet so this is just to collect some links without having to edit the readme:
- How (not) to use Machine Learning for time series forecasting: Avoiding the pitfalls
- Forecasting: Principles and Practice (by Rob J Hyndman and George Athanasopoulos)
- An Overview of ML.Net (by KTL Solutions)
- https://towardsdatascience.com/introducing-pytorch-forecasting-64de99b9ef46
- https://towardsdatascience.com/how-to-detect-and-deal-with-multicollinearity-9e02b18695f1
- https://medium.com/analytics-vidhya/tensorflow-2-tutorial-on-categorical-features-embedding-93dd81027ea9
- https://machinelearningmastery.com/how-to-develop-lstm-models-for-time-series-forecasting/
- https://machinelearningmastery.com/multivariate-time-series-forecasting-lstms-keras/
I'm tired and inexperienced but I see two possibilities: supervised learning with a linear regression model where you can learn lots of stuff including which variables are influencing which, or un supervised learning with LSTM which is more expensive, harder to understand but will most likely yield better results until you really understand what's going on and can brew up an efficient and smart linear regression model (nvm they're both supervised IIRC). So I think create a good LSTM model then fiddle around with the linear regression one, trying to improve it with the goal of beating the LSTM one.
Autocorrelation might be very interesting and an important topic when deciding how to model the system.
Ps. don't forget to try a model with as little features as possible so only those that you know are related like boiler, puffer, kessel and aussen (and seasonality and stuff).
Another question: currently there is a threshold of 45° C on the boiler which leads to puffer activity aka refilling the boiler as soon as it goes below that threshold. Question now is will the model pick that up by itself or is there feature engineering necessary? Someone with more knowledge and experience could probably answer this outright but maybe some trial and error will do nicely here.