I am working on a time series forecasting problem involving high-frequency data (hourly or every 10-15 minutes), such as energy consumption or other IoT device metrics. My goal is to predict the energy consumption, for example, for the next day (or possibly a shorter horizon, depending on feasibility).
In the past, I have used LSTM neural networks for a similar problem, but this time, I want to take a more systematic approach. My goal is to experiment with different models to identify the one that best fits my use case.
Currently, I have data spanning a few months. I am debating whether to use this dataset for testing the models or to utilize a similar dataset from Kaggle that covers several years. Since the data I aim to forecast exhibits high seasonality, having more data seems beneficial. I checked both ADF test and ACF plot and saw that the data is stationary and has high seasonality.
The dataset I have includes the following variables:
- Timestamp
- Energy consumption
- A few other electricity-related variables
Due to the high seasonality of the data, I am considering adding features such as the day of the year, hour of the day, and day of the week. My exploratory data analysis suggests these features significantly affect the data, especially the hour of the day. Adding these features would convert the problem from univariate to multivariate forecasting, which could influence the choice of models. The models I am currently considering are either XGBoost or a deep learning model.
Finally, I am contemplating how to maintain the model in production. After training and deploying the model, should it be periodically retrained with new data to incorporate more context? If so, what is the recommended frequency for retraining?
I understand that some of these questions may not have definitive answers for every use case, but I would greatly appreciate any advice. If you have references or resources that could help, I’d be glad to explore them.