Neural networks have been applied to forecasting time series data. However, they cannot optimally capture the features of financial datasets. In this study, we analyzed various loss functions that can be employed to optimize forecasting of day-ahead electricity spot prices. We first outlined a set of properties that such loss functions should possess. We proposed to use Theil UII-S as a novel loss function, which is derived from Theil’s forecast accuracy coefficient. We trained five neural network models using the two most currently used loss functions (mean squared error and mean absolute error) and Theil UII and Theil UII-S. Our results showed that Theil UII-S outperforms both the mean squared error and mean absolute error in terms of forecasting day-ahead electricity spot prices. Furthermore, we tested these models using a real-world dataset of the electricity spot market prices in Norway. We believe that our study makes a significant contribution to the literature because we show that Theil UIIS provides accurate forecasts in the average, best-case, and worst-case scenarios, converges faster, is twice differentiable, and has a variable gradient.
We recommend creating a folder entitled 'Time Series' and saving all the python file in it. This will allow you including files paths that will point to modules we created and that you need to import
We analyzed the problem of day-ahead electricity spot price forecasting in Norway.
Our dataset includes the consecutive recordings of 2600 days from January 2nd, 2013 and February 14th, 2020 (source NORDPOOL https://www.nordpoolgroup.com/). After the preprocessing phase, the dataset was divided into a training set (the first 1600 days), validation set (the next 400 days), and test set (the last 600 days).
We used seven input variables selected (explanatory variables):
The main dataset set used is entitled:
To ensure that our results were robust and not specific to any one neural network architecture, we developed five models to test our loss function: FFNN, convolutional neural network (CNN), recursive neural network (RNN), long-short term memory neural network (LSTM), and gated recurrent unit (GRU) neural network. Our design follows the principles of simplicity, where we keep each model at 1 hidden layer with 64 corresponding neurons. As the activation function, we primarily used ReLU. We also used the RMSprop as the optimization algorithm for the models’ stochastic gradient descent.
To reproduce the results you need the following python files:
In this study, we deployed five different techniques to deal with missing values and compared their results before finally selecting the most optimal one for our dataset:
KNN performs best on our dataset. Therefore, we used it to fill the values of our missing data points in 'Models building'
To reproduce the results you need the following python files:
To solidify our choice of input variables for the dataset, the correlation between its different features (target and explanatory) was explored by computing the Pearson, Spearman, and Kendall correlation matrices.
To reproduce the results you need the following python files:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。