You are on page 1of 5

2020 IEEE PES Innovative Smart Grid Technologies Europe (ISGT-Europe)

Virtual, October 26-28, 2020

Cross-Market Price Difference Forecast Using Deep


Learning for Electricity Markets
Ronit Das, Rui Bo, Waqas Ur Rehman, Haotian Chen, and Donald Wunsch
Department of Electrical and Computer Engineering
Missouri University of Science and Technology, Rolla USA (rbo@mst.edu)

Abstract—Price forecasting is in the center of decision making and availability, load uncertainty, market participants behav-
in electricity markets. Many researches have been done in ior, gaming activities, and weather conditions [2]. The price
forecasting energy prices while little research has been reported difference between the day-ahead (DA) and real-time (RT)
on forecasting price difference between day-ahead and real-
time markets due to its high volatility, which however plays prices become even more volatile and unpredictable due to
a critical role in virtual trading. To this end, this paper takes the discrepancy between forecasted market condition in the
the first attempt to employ novel deep learning architecture with DA market and the realized uncertainties in the RT market.
Bidirectional Long-Short Term Memory (LSTM) units to forecast
the price difference between day-ahead and real-time markets II. M OTIVATION AND R ELATED W ORK
for the same node. The raw data is collected from PJM market,
processed and fed into the proposed network. The Root Mean A. Motivation
Squared Error (RMSE) and customized performance metric are Financial Transmission Right (FTR) auctions market - a
used to evaluate the performance of the proposed method. Case financial derivative market - serves the purpose of hedging
studies show that it outperforms the traditional statistical models
like ARIMA, and machine learning models like XGBoost and against transmission congestion cost, and thus provides price
SVR methods in both RMSE and the capability of forecasting certainty to market participants. LMP in DA and RT markets
the sign of price difference. In addition to cross-market price can be dissimilar due to the volatile nature of electricity price
difference forecast, the proposed approach has the potential to be itself as well as the discrepancy between the two markets
applied to solve other forecasting problems such as price spread reflecting the changes in real-time versus day-ahead schedule.
forecast in DA market for Financial Transmission Right (FTR)
trading purpose. Virtual bidding - another type of financial mechanism was
Index Terms—DA/RT price difference, forecasting, Long-Short introduced in the electricity markets with the aim of improving
Term Memory, LSTM, electricity markets, deep learning DA and RT price convergence. Based on LMP forecasts,
virtual bidders (VBs) can participate as demand (or supply) in
I. I NTRODUCTION DA market and correspondingly viewed as supply (or demand)
With the evolution of competitive deregulated power mar- in RT market with the same amount of energy; their profits
kets, forecasting of electricity prices has become a vital task are highly contingent upon the difference in LMP across these
for market participants: accurate prediction of short-term elec- two markets [4]. To our knowledge, the cross-market LMP
tricity prices is crucial for generation companies (GENCOs) to difference forecasting has not been reported in the literature.
make optimal bidding strategies for participation in electricity Hence, a novel forecasting model of LMP difference between
market, and thereby get maximum profit. Medium-term price DA and RT markets using bidirectional LSTM network is
forecast information is utilized by power producers to enter proposed in this paper. It is, therefore, envisaged that VBs
into favorable bilateral contracts. In the long-term, GENCOs can utilize the forecasted LMP difference across markets to
use price forecasting for making investment decisions related partake in the electricity market in a more strategic fashion
to generation capacity planning and maintenance planning. to increase their chances of making profit in virtual trading,
Load serving entities (LSEs) and large consumers also require which collectively will help the two markets better converge.
accurate forecast of short-term and medium-term electricity
prices in order to bid optimally in the electricity market and B. Related Work
sign favorable bilateral contracts [1]–[3]. In the literature, electricity price forecasting has generally
In electricity market, market clearing price (MCP) is a very been approached using statistical methods like Autoregressive
fundamental pricing concept and it is a single price for the Integrated Moving Average (ARIMA) and Wavelet Transform
entire system when there is no transmission congestion (or [5], Generalized Autoregressive Conditional Heteroskedastic-
bottleneck) in the system; however, for a congested system, ity (GARCH) models [6], etc. These methods can produce
the electricity price may be dissimilar at different buses in good performance and can be explained mathematically, mak-
the system, and therefore called locational marginal price ing them a frequent choice in price forecasting. Traditional
(LMP) [2]. The most distinctive property associated with the machine learning methods like Support Vector Regression
price of electricity is its volatile nature; unlike load curve, (SVR), Gradient Boosting Decision Trees, Random Forests,
the electricity price curve is non-homogeneous and exhibits etc. are also widely used with good accuracy. However, with
very little cyclic property which makes it very difficult to recent advancements in neural networks, Artificial Neural Nets
predict. The price volatility and spikes (sudden rise or fall) can (ANNs) have also been used for forecasting prices [2].
be caused by a mixture of many factors, including changing While forecasting of LMP in electricity markets has been a
fuel prices, transmission congestion, generation uncertainty well-researched topic, forecasting price difference across DA

978-1-7281-7100-5/20/$31.00 ©2020 IEEE 854

Authorized licensed use limited to: Missouri University of Science and Technology. Downloaded on January 18,2021 at 18:29:55 UTC from IEEE Xplore. Restrictions apply.
and RT markets hasn’t been looked into. Recently, [7] pub- fields like weather forecasting, predicting stock market indices,
lished a Markov-Switching GARCH model to model volatility etc. Although statistical methods have dominated this field of
within Day-ahead market price spread values. Little to no time series prediction, deep learning approaches provide an
research has been reported on forecasting price differences alternative and potentially more powerful way to tackle such
between DA and RT markets. This paper proposes deep problems [9].
learning models, especially using Bidirectional Long-Short
B. Deep Learning
Term Memory (LSTM) networks, to forecast the cross-market
price difference. For the purpose of potential application in Machine learning has become so ubiquitous that it has been
virtual bidding, in addition to common prediction accuracy applied to almost every corner of our modern lives. From
measures such as RMSE, we also pay special attention to weather forecasting, to recommendation engines, from tagging
whether the direction of the price difference can be correctly friends on social media using image classification, to name
forecasted at the right time instances. a few. However, traditional machine learning methods like
As the first attempt in this research area, this work takes on Support Vector Machines, Decision Trees, k-Nearest Neigh-
the problem of forecasting the DA/RT price difference for the bors, etc. have been limited in their abilities to process raw
next hour. It may be used for bidding strategy development for data [10], whereas deep learning techniques are able to learn
RT Market participants, or used for dispatch optimization for an implicit representation of the raw data on their own. As
energy-limited resources by an Independent System Operator mentioned in [10], Deep Learning is a kind of representation
(ISO). The proposed method in this paper may be further learning where several simple, non-linear modules (or neural
extended for multi-hour price forecast which will suit the need layers) are combined and each module or layer transforms
of other applications including virtual bidding. the representation at one level into another one at a more
abstract level. In this way, with more such transformations,
III. M ETHODOLOGY difficult and complex functions are learnt. Recently, deep
This section is divided into the following subsections: learning methods have outperformed other machine learning
subsection A discusses about the data to be trained upon by the techniques in image classification [11], speech recognition
proposed networks, subsection B introduces the fundamentals [12], reconstructing brain circuits [13], etc.
and benefits of deep learning approaches, and the importance The simplest form of deep learning is a Multi Layer
of Recurrent Neural Networks in time series prediction. It is Perceptron, or sometimes referred to as an Artificial Neural
followed by subsection C which discusses processing the input Network (ANN). ANN’s have been used in prediction of time
data for the networks, and subsection D discusses the network series models [14] with good results. In recent years, improved
architecture for the proposed models. algorithms have been designed and developed. Nowadays,
Recurrent Neural Networks(RNNs) have gained popularity in
A. Data Collection and Visualization time series prediction. RNNs have the capability to learn the
The data is collected from the PJM Market from 1st January temporal context of the input sequence of data, which it uses
till 31st December, 2016. The collected data is from both the to make predictions. Since RNNs excel at sequence modelling,
DA and RT markets on an hourly basis. For our purpose, a they are mostly used for speech recognition [15], forecasting
generator node is chosen at random. Then price differences [16], etc. However, RNNs may suffer from a major issue. As
are calculated for the node across the DA and RT markets. In they take inputs as time sequences, they may suffer from the
this paper, we stationarize the series by differencing [8]. The vanishing and, or exploding gradient problem [17], whereby
data for cross-market can be visualized as shown in Fig.1. the gradients which backpropagate fail to update the weights
thereby preventing the network from getting trained. For this
reason, variants of the RNN like the Long-Short Term Memory
(LSTM) have gained popularity. This paper implements a
neural network architecture with Long-Short Term Memory
units, which is discussed below.
1) Long-Short Term Memory: The Long-Short Term Mem-
ory is a kind of Recurrent Neural Network which can capture
both long-term and short-term dependencies in the data, mak-
ing is suitable for forecasting, speech recognition, etc. It was
proposed by Hochreiter, et al. [18] in 1997. The following
figure explains the workings of an LSTM cell:
In Fig.2, ht−1 and xt are the inputs to the cell. The Cell
state is what maintains the information in the cell, denoted by
Ct−1 . The first sigmoidal layer, denoted by σ forms the ”Forget
Gate”, which controls how much information to retain, defined
Fig. 1. Price difference between Day-Ahead & Real-Time Markets at node by
02BRUSH in PJM Market in 2016 ft = σ(Wf .[ht−1 , xt ] + bf )
It can be observed that the price difference data exists where σ stands for the sigmoid activation function, Wf repre-
for every hour in the plot. This is an example of a time sents the weight matrix of the input connections for the forget
series data. Time series forecasting is very common in many gate, bf represents the bias vector for the forget gate, and ft

855

Authorized licensed use limited to: Missouri University of Science and Technology. Downloaded on January 18,2021 at 18:29:55 UTC from IEEE Xplore. Restrictions apply.
Fig. 2. An LSTM cell. Source: [19] Fig. 3. A representational diagram of 4 single Bidirectional LSTM cells
stacked on top of each other

represents the forget gate’s activation vector. After this phase,


the next sigmoidal layer is known as the ”Input Gate” which C. Preprocessing
decides the values to be updated, and the next tanh layer selects After collection of the data, it is processed in the following
the candidate values to be added to the state, denoted as Ĉt . ways:
The formulae are listed as follows: 1) Train and Test Sets: In order to train a neural network,
the dataset needs to be split into separate training and testing
it = σ(Wi .[ht−1 , xt ] + bi )
sets. The idea is to train the model on the training set and
where σ stands for the used activation function, Wi represents fit the parameters of the neural network architecture on the
the weight matrix of the input connections for the input gate, train set. After the fit is complete, the model is used to make
bi represents the bias vector for the input gate, and it stands predictions on a separate test set.
for the input gate activation vector. Time series data has temporal dependencies. It is for this
reason, the data is not randomly shuffled before splitting it
Ĉt = tanh(WC .[ht−1 , xt ] + bC ) into separate sets. In this paper, 80% of the entire dataset is
where tanh is the activation function, WC represents the used for training, 20% is used for testing.
weight matrix of the input connections for the cell input, bC 2) Feature Scaling: The range of values in raw data can
represents the bias vector for the cell input, and Ĉt represents vary widely. This affects training a neural network architecture,
the cell input activation vector. Finally, the cell state is updated since the cost function which we try to minimize, may not
from Ct−1 to Ct . work properly. Moreover, with feature scaling, gradient de-
scent algorithm converges faster. It is for these reasons, every
Ct = ft ∗ Ct−1 + it ∗ Ĉt feature is scaled. In our case, since the data has quite a number
of extreme values/outliers, Robust Scaler is used, as the scaling
From this state, we push the value to be output, as ht as
of data is not influenced by the outliers.
follows:
The scaling is applied to the training and test data separately.
ot = Wo .[ht−1 , xt ] + bo
This is done to ensure that no bias is present in the test set,
ht = ot ∗ tanh(Ct ) since they are not known to the network beforehand.
3) Creating Input data: Time series forecasting requires
where ot is the output gate’s activation vector. one to look back at historical prices. Although the LSTM
2) Bidirectional LSTM: It is similar to an LSTM network. network does not require one to specify the lags, we want to
A bidirectional network trains 2 LSTM networks on the convert our problem into a supervised learning one. In order
input sequence, instead of just one. The first one is the to do that, we need to specify the lag, i.e., the number of time
input sequence itself and the second is the reversed copy of steps (or hours in our case) to look back in order to make the
the input sequence. First invented by Schuster and Paliwal prediction for the next hour. In our case, we choose the lag,
[20], bidirectional networks usually deliver better results when L = 48, for the cross-market problem. It should be noted that,
compared to regular recurrent networks. An example of the in practice the historical prices for the lag are available at the
bidirectional LSTM model is illustrated in the Fig.3. time of performing the forecast.
Fig.3 shows the structure of single Bidirectional LSTM
cells, stacked on top of one another. In this figure, the cells D. Network Architecture
are unrolled into 48 time-steps. The input at every time-step A network model is developed to implement a bidirectional
is fed into the forward network and the backward network. LSTM architecture. The architecture and design parameters of
Finally, the outputs from the forward and backward networks the model are described in Table I.
are concatenated and passed through an activation function to Regularization is applied to the network in order to prevent
finally get the output. The proposed bidirectional LSTM model it from overfitting. It is applied in the form of dropout to both
in this paper uses this structure but at every layer, there are the networks, after every bidirectional LSTM layer. A dropout
different number of LSTM neurons, which is listed in Table I. of 20% is applied to every layer.

856

Authorized licensed use limited to: Missouri University of Science and Technology. Downloaded on January 18,2021 at 18:29:55 UTC from IEEE Xplore. Restrictions apply.
TABLE I Since the given time series was already time differenced,
B IDIRECTIONAL LSTM MODEL FOR CROSS - MARKET PRICE DIFFERENCE the degree of differencing needed was 0. With this ARIMA
FORECAST
model, it was tested on the test set values and the forecast
performance result is shown in Table II.
Hidden Layers Neurons(forward & reversed sequence)
XGBoost is an open-source software library which imple-
Hidden Layer 1 500 + 500
Hidden Layer 2 300 + 300
ments gradient boosted decision trees for speed and perfor-
Hidden Layer 3 100 + 100 mance. Boosting is a type of ensemble technique where new
Hidden Layer 4 25 + 25 machine learning models are added to improve upon the errors
Output Layer 1 made by the existing models. Models are added gradually and
Loss Function L2(Least Square Errors) sequentially until no further improvements in the error can be
Gradient Descent Optimizer Adamax
Batch Size 32 made. [22] uses XGBoost model for price forecasting, with
good accuracy.
Support Vector Regression is a very common machine
learning algorithm for solving regression problems. Authors
IV. R ESULTS AND D ISCUSSION in [23] use SVR technique to forecast prices in the electricity
A. Results markets.
For the SVR and XGBoost algorithms, the time lag used is
The networks are implemented using Keras library with
equal to 48, as used for the bidirectional LSTM model. The
Tensorflow backend. They are trained for 100 epochs. Our
performance comparison of the algorithms is shown in Table
models try to predict the next hour’s price difference value.
II.
Root Mean Squared Error (RMSE) values are used to measure
the models’ performance, especially on unseen data. Moreover,
TABLE II
the snapshots of the plots are analyzed in order to determine P ERFORMANCE C OMPARISON AMONG DIFFERENT F ORECASTING
whether the trained algorithm is able to capture the spikes in T ECHNIQUES
the correct direction and at the right timestep.
Model RMSE ($/MWh) Direction Accuracy (%)
For virtual trading purpose, it is sometimes equally impor- ARIMA(5, 0, 1) 45.186 48.36
tant to predict the sign of the price difference, rather than the SVR 40.544 55.1
magnitude. In order to capture the performance in this regard, XGBoost 40.194 56.05
Bidirectional LSTM 32.209 57.82
a separate metric is devised. We define Direction of Difference
as follows:
n Moreover, Fig.4 and Fig.5 show in time series the cross-
Direction Dif f erence = ( ∗ 100)
N market price difference forecasting performance of the differ-
where n = no. of correctly detected direction (or sign) of price ent models for different time windows in 2016.
difference, N = total number of price differences. Since the
series are already time differenced, the value of n is determined
by whether the predicted and actual values have the same sign,
i.e., both have positive or negative sign at the same timestep.
In order to compare how the proposed model performs, it’s
performance is compared against that of other popular methods
like Auto-Regressive Integrated Moving Average (ARIMA),
Gradient Boosted Decision Trees (XGBoost), and Support
Vector Regression (SVR).
Moreover the proposed method is compared against the
following statistical and machine-learning methods, and the
processed data (stationary and scaled) which was used for Fig. 4. Actual and forecasted cross-market price difference of different models
training the Bidirectional LSTM model, is used. from Oct. 26 to Oct. 27, 2016 in PJM Market
ARIMA is a very popular method which has been used to
forecast market clearing prices reliably and accurately [21].
ARIMA belongs to a category of stochastic processes which B. Discussion
is used to model a time series. In order to fit an ARIMA model The performance scores, i.e. the RMSE values, indicate how
to a time series data, the given series needs to be stationary. good our model performs with respect to the other machine
Moreover, the time lag values for the Auto-regressive part (p), learning and ARIMA methods. RMSE can be interpreted as the
the degree of differencing (d), and that for the Moving Average standard deviation of the unexplained variance. Also, RMSE
part (q) needs to be specified. values in our case is in the unit of U SD/M W h. A lower
For the given time series, the statistical software R was RMSE score indicates a better fit to the model. For our
used to build an ARIMA model. Using the automatic model analysis, the test RMSE values are of more importance which
selection feature of the software, the best ARIMA model was indicate how well our model performs, especially on unseen
fit to the training dataset with the following parameter values: data and how well it generalizes. From Table.II, we can see
p = 5, d = 0, q = 1. bidirectional LSTM approach produces significantly smaller

857

Authorized licensed use limited to: Missouri University of Science and Technology. Downloaded on January 18,2021 at 18:29:55 UTC from IEEE Xplore. Restrictions apply.
R EFERENCES
[1] M. Shafie-Khah, M. P. Moghaddam, and M. Sheikh-El-Eslami, “Price
forecasting of day-ahead electricity markets using a hybrid forecast
method,” Energy Conversion and Management, vol. 52, no. 5, pp. 2165–
2169, 2011.
[2] D. Singhal and K. Swarup, “Electricity price forecasting using artificial
neural networks,” International Journal of Electrical Power & Energy
Systems, vol. 33, no. 3, pp. 550–555, 2011.
[3] A. J. Conejo, J. Contreras, R. Espı́nola, and M. A. Plazas, “Forecasting
electricity prices for a day-ahead pool-based electric energy market,”
International journal of forecasting, vol. 21, no. 3, pp. 435–462, 2005.
[4] S. Baltaoglu, L. Tong, and Q. Zhao, “Algorithmic bidding for virtual
trading in electricity markets,” IEEE Transactions on Power Systems,
vol. 34, no. 1, pp. 535–543, 2018.
Fig. 5. Actual and forecasted cross-market price difference of different models
[5] A. J. Conejo, M. A. Plazas, R. Espinola, and A. B. Molina, “Day-
from Nov.5 to Nov.7, 2016 in PJM Market
ahead electricity price forecasting using the wavelet transform and arima
models,” IEEE transactions on power systems, vol. 20, no. 2, pp. 1035–
1042, 2005.
RMSE than other methods, and also gives the highest accuracy [6] R. C. Garcia, J. Contreras, M. Van Akkeren, and J. B. C. Garcia, “A
in forecasting the direction of cross-market price differences. garch forecasting model to predict day-ahead electricity prices,” IEEE
transactions on power systems, vol. 20, no. 2, pp. 867–874, 2005.
Moreover, a careful investigation of Fig.4 and Fig.5 reveals [7] L. Yang and B. Zou, “A model research on pjm day-ahead market
that the bidirectional LSTM approach is able to predict more locational marginal price spread,” in 2019 IEEE 7th International
percentage of the spikes of cross-market price differences, Conference on Smart Energy Grid Engineering (SEGE). IEEE, 2019,
pp. 283–289.
which the other methods find difficult. [8] D. A. Dickey and S. G. Pantula, “Determining the order of differencing
Finally, for virtual bidders participating in the DA market, a in autoregressive processes,” Journal of Business & Economic Statistics,
model capable of predicting the direction of the price as well vol. 5, no. 4, pp. 455–461, 1987.
[9] J. C. B. Gamboa, “Deep learning for time-series analysis,” arXiv preprint
as its magnitude, is of utmost importance. Our proposed model arXiv:1701.01887, 2017.
provides a promising solution. [10] Y. LeCun, Y. Bengio, and G. Hinton, “Deep learning,” nature, vol. 521,
no. 7553, p. 436, 2015.
V. C ONCLUSION AND F UTURE W ORK [11] A. Krizhevsky, I. Sutskever, and G. E. Hinton, “Imagenet classification
with deep convolutional neural networks,” in Advances in neural infor-
This paper proposed a deep, bidirectional Long-Short Term mation processing systems, 2012, pp. 1097–1105.
Memory architecture to forecast nodal LMP difference be- [12] G. Hinton, L. Deng, D. Yu, G. Dahl, A.-r. Mohamed, N. Jaitly, A. Senior,
tween the DA and RT markets. The model’s forecasting per- V. Vanhoucke, P. Nguyen, B. Kingsbury et al., “Deep neural networks
for acoustic modeling in speech recognition,” IEEE Signal processing
formances are measured using the Test RMSE values, which magazine, vol. 29, 2012.
shows the model has some generalization ability. The model’s [13] M. Helmstaedter, K. L. Briggman, S. C. Turaga, V. Jain, H. S. Seung,
capabilities in correctly forecasting spikes of price difference and W. Denk, “Connectomic reconstruction of the inner plexiform layer
in the mouse retina,” Nature, vol. 500, no. 7461, p. 168, 2013.
at the right timesteps are also demonstrated. The bidirectional [14] G. P. Zhang, “Time series forecasting using a hybrid arima and neural
LSTM model is compared with ARIMA, XGBoost and SVR network model,” Neurocomputing, vol. 50, pp. 159–175, 2003.
methods and outperforms all of them both in RMSE and in [15] A. Graves, A.-r. Mohamed, and G. Hinton, “Speech recognition with
deep recurrent neural networks,” in 2013 IEEE international conference
correctly forecasting the direction of price differences. on acoustics, speech and signal processing. IEEE, 2013, pp. 6645–
This paper only deals with a univariate time series model, 6649.
where one is looking at the price, or rather the price differences [16] D. N. Kumar, K. S. Raju, and T. Sathish, “River flow forecasting using
at different time intervals. However, prediction may be further recurrent neural networks,” Water resources management, vol. 18, no. 2,
pp. 143–161, 2004.
improved by taking into account other influencing factors. [17] S. Hochreiter, Y. Bengio, P. Frasconi, J. Schmidhuber et al., “Gradient
Another issue with deep learning techniques like LSTMs is flow in recurrent nets: the difficulty of learning long-term dependencies,”
that, they take considerable amount of time to train. With 2001.
[18] S. Hochreiter and J. Schmidhuber, “Long short-term memory,” Neural
an increase in the number of epochs, the time for training computation, vol. 9, no. 8, pp. 1735–1780, 1997.
also increases. Moreover, with an increase in the lag size, [19] “Long short-term memory,” May 2020. [Online]. Available:
the performance can change, and many times improve further. https://en.wikipedia.org/wiki/Long short-term memory
[20] M. Schuster and K. K. Paliwal, “Bidirectional recurrent neural net-
Lastly, the proposed model currently only forecasts price works,” IEEE transactions on Signal Processing, vol. 45, no. 11, pp.
difference for the next hour. It should be expanded to multi- 2673–2681, 1997.
hour (such as 24 hours in US electricity markets) to align with [21] J. Contreras, R. Espinola, F. J. Nogales, and A. J. Conejo, “Arima
models to predict next-day electricity prices,” IEEE transactions on
industry practices. power systems, vol. 18, no. 3, pp. 1014–1020, 2003.
Future research includes expanding this approach to multi- [22] P. Li and J.-S. Zhang, “A new hybrid method for chinas energy supply
variate time series forecasting, including different lag sizes and security forecasting based on arima and xgboost,” Energies, vol. 11,
no. 7, p. 1687, 2018.
training it for more epochs, and forecasting multi-hour price [23] J. Che and J. Wang, “Short-term electricity prices forecasting based on
differences. support vector regression and auto-regressive integrated moving average
modeling,” Energy Conversion and Management, vol. 51, no. 10, pp.
VI. ACKNOWLEDGMENT 1911–1917, 2010.
This material is based upon work supported by DARPA
under Grant D18AP00054, and by the U.S. Department of
Energy’s Office of Energy Efficiency and Renewable Energy
(EERE) under the Water Power Technologies Office Award
Number DE-EE0008781.

858

Authorized licensed use limited to: Missouri University of Science and Technology. Downloaded on January 18,2021 at 18:29:55 UTC from IEEE Xplore. Restrictions apply.

You might also like