for a school project I need to forecast high-frequency data using different methods of my choice.
Data: I have hourly data on day-ahead electricity prices and a few other variables (hourly power generation from wind, PV, gas etc. power plants) from the past 8 years. I assume there are daily, weekly and annual seasonalities (see the ACF/PACF plots below).
Goal: Forecasting day-ahead electricity prices. There is no guideline of how much data to use for building/training the models, and also the forecast window is not specified.
Ideas: I know that a variety of models (multi-agent, fundamental, reduced-form, statistical, computational models) are used in Electricity Price Forecasting.
Due to the limited scope of the project, I plan to focus on statistical and computational models. More precisely, I intend to use auto.arima from the forecast package to build an ARIMA model which will serve as a benchmark for other models that I hope can handle multiple seasonalities well: ARIMAX (load and wind/PV generation as external regressors), Exponential Smoothing (STL+ETS), BATS and TBATS. I intend to try an ANN model with nnetar as well.
Choice of training data length and forecasting window: Since the computation in R can take some time, I started to build models with one year (8760 obs.) respectively 3 months (2016 obs.) of training data, and then forecast one week (168 obs.). Are these reasonable choices? Should I use more data to build the models and forecast longer or shorter periods?
By analyzing ACF and PACF of the differenced day-ahead TS, I am not able to reconstruct the ARIMA model suggested by auto.arima (for an msts with seasonalities 24 and 168). By looking at the ACF and PACF plots, I see a strong daily seasonality (significant lags at 24, 48 etc)
Weirdly, auto.arima suggests an ARIMA(5,1,1) model with non-zero mean for the one year training data. Why does it not choose a seasonal model? Should I specify only one seasonality (daily or weekly) instead of both? For the 3 month training data, auto.arima chooses an (1,1,1)(0,1,0) model.