SciresolSciresolhttps://indjst.org/author-guidelinesIndian Journal of Science and Technology0974-564510.17485/IJST/v14i31.1204Research ArticleAn Application of AdaBoost-GRU Ensemble Model to Economic Time Series PredictionBusariGaniyu A1KwakNae W2LimDong Hdhlim@gnu.ac.kr3PhD. Student, Department of Bio & Medical Big Data, Gyeongsang National UniversityJinju, 52828Republic of KoreaDepartment of Information & Statistics, Statistics, Gyeongsang National UniversityJinju, 52828Republic of KoreaProfessor, Department of Information & Statistics, Department of Bio & Medical Big Data and RINS, Gyeongsang National UniversityJinju, 52828Republic of Korea143125572021Abstract
Objectives: Given the importance of accurate prediction of financial time series data and their benefits in the real-life, AdaBoost-GRU ensemble learning is proposed in which it's forecasting accuracy is to be compared with AdaBoost-LSTM, single Long Short Term Memory (LSTM), and single Gated Recurrent Unit (GRU). Methods: The data for Korea Composite Stock Price Index (KOSPI) obtained from Naver Finance from January 2000 to April 2020, the Oil Price data for the entire Gyeongnam region among domestic oil price data obtained from Korea Petroleum Corporation (Opinet) and USD Exchange data provided by Naver Financial from April 2004 to May 2020 were employed. The analyses were made using mean absolute error (MAE), mean squared error (MSE) and root mean squared error (RMSE) as the performance metric. Findings: Empirical results show that the proposed method outperforms all other models that serve as benchmarked models, in all three kinds of data used in this research. This also shows that ensemble models have better performance than the single models as both AdaBoost-GRU and AdaBoost-LSTM outperform their respective single GRU and single LSTM. Novelty/Applications:This empirical study suggests that the AdaBoost-GRU ensemble-learning model is a highly promising approach for forecasting these kinds of data. However, another ensemble model that can combine AdaBoost with other single models such as ConvD1 can be developed and applied.
KeywordsOil PriceExchange RateStock Price IndexTime Series ForecastingAdaBoost AlgorithmGated Recurrent UnitNoneIntroduction
The economy in recent times is closely related both domestically and internationally. Particularly, understanding and forecasting fluctuations in stock data such as the KOSPI index, exchange rate data, and financial time-series data such as oil prices are closely related to domestic and foreign economies and are considered very important. As time-series data prediction technology for this is developed, various time series analysis methods are emerging. Many common econometric and statistical models being1
In recent times, neural networks have been commonly used as an alternative method for time series forecasts because of their capability of capturing the nonlinearity and irregularity of time series data. Neural Networks can be trained directly by featuring the data extracted from samples, which makes them effective methods compared with traditional statistical methods with explicit rules to learn knowledge 2. Wang and Leu 2 state further that neural networks can model the behavior of known systems without being given any rule. Several researchers have combined many common econometric and statistical models with deep learning models in order to improve forecasting accuracy. Pai, and Lin3 combines ARIMA with SVM in order to solve the problem of ARIMA because ARIMA performs well in linear and stationary time series is better but not on the nonlinear and non-stationary data in the stock market that SVM worked well with. Phatchakorn et al. 4 combine the Artificial Neural Network (ANN) with ARIMA to predict the nonlinear part of the stock price data. Chandar et al.5 applied Discrete Wavelet Transform (DWT) and Artificial Neural Network (ANN) to five datasets and the result showed that the proposed model outperforms a conventional mode. Tsantekidis et al.6 proposed Convolutional Neural Networks (CNNs) to predict the price movements of stocks in comparison with Multilayer Neural Networks and Support Vector Machines, which shows that CNNs are better than the benchmarked models. Ding et al.7 used a deep convolutional neural network to model both short-term and long-term influences on stock price movements and results show that the proposed model is better than state-of-the-art baseline methods.
This paper intends of predicting future trends of data through deep learning and ensemble techniques beyond the traditional time series methods such as AR, and ARIMA. The GRU model is one of the deep learning models and the second variant of the recurrent neural network (RNN). GRU model is a simplified version of LSTM and an algorithm proposed by Professor Cho, Kyung-Hyeon of New York University in 2014. It has the advantage of being concise and faster than LSTM without degrading nor time-consuming8. Lopez-Martin et al.9 propose a regression neural network based on a novel constrained weighted quantile loss (CWQLoss) to predict electric load and show that the proposed method is a promising model for probabilistic time-series forecasting. Wang et al.10 proposed Adaptive Linear Sparse Random Subspace (ALS-RS) ensemble learning model to exchange rate forecasting and show that experimental results on four exchange rate datasets uphold the superiority of the proposed model. Lopez-Martin et al. 11 presents a modification of the gaNet architecture for classification and applies it to a type-of-traffic forecast problem using real IoT traffic from a mobile operator. They show that the proposed classifier can perform a k-step ahead detection forecast based exclusively on a limited time-series of previous values for each network connection. Silva et al.12 propose a novel decomposition-ensemble learning approach that combines Complete Ensemble Empirical Mode Decomposition (CEEMD) and Stacking-ensemble learning (STACK) based on Machine Learning to forecast the wind energy of a turbine in a wind farm and show that proposed models outperform single models in all forecasting horizons. Pinto et al.13 proposed three ensemble learning models that comprise of gradient boosted regression trees, random forests and an adaptation of Adaboost to forecast electricity consumption in hour-ahead and show that the adapted Adaboost model outperforms other models.
Earlier, Sun, Wei, and Wang 1 had forecasted financial time series that comprises two stock indexes and two exchange rates using the AdaBoost-LSTM ensemble learning approach and showed that this approach outperforms other single forecasting models and ensemble learning approaches 14. In this paper, our intention is to check the performance of the second variant of RNN (that is, GRU) with AdaBoost while considering AdaBoost-LSTM, a single model of LSTM, and GRU as benchmarking models. GRUs are considered weak forecaster and AdaBoost is utilized as an ensemble tool. By using the AdaBoost-GRU model, in this paper, we intend to predict financial time series data such as the KOSPI index, domestic oil price, and USD exchange rate. Our contributions are as follow. Firstly, we proposed a hybrid model that combined AdaBoost algorithm with GRU and compare its forecasting performance with AdaBoost-LSTM ensemble model, the single LSTM and the single GRU. Secondly, the proposed work is applied to three data, that is, KOSPI stock price, oil prices and USD/KRW exchange rate prediction. Thirdly, the proposed method, AdaBoost-GRU outperforms the single methods and AdaBoost-LSTM ensemble model in this study.
The Model and the Data Description
This section explains the proposed method for the paper, that is, AdaBoost-GRU model and describes the data for the study.
2.1 The Model2.1.1 AdaBoost Model
The AdaBoost Algorithm is a short form for Adaptive Boosting that was introduced by Yoav Freund and Robert Schapire 15. Boosting is a general approach applied to many statistical models. It works in a sequential manner and does not involve bootstrap sampling, instead each tree is fitted on the modified version of the original dataset and finally added up to create a strong classifier. The AdaBoost algorithm is a method that combines many different machine-learning techniques into one forecasting model in order to reduce the bias by update the weight and gives higher weight to incorrectly classified observation to make better predictions in the next round16, 17. In this research, the modified AdaBoost algorithm is introduced to combine a set of GRU features. An AdaBoost-GRU ensemble learning approach is proposed for financial time series forecasting.
2.1.2 AdaBoost Algorithm’s Process Briefly Explained
We start by inputting the sequence of m samples
x1,y1…xm,ym
Where output y∈R.x is the input set while y is the output set. m, the number of sample is from (1 to M). Moreover, the natural domain of the functions y is the set of all real numbers, denoted by R. Followed by the weak learning algorithm (here, GRU), then a maximum number of iterations. We, then, initializing sampling weights {St (n)} of the training sample set,
{xt,yt}Tt=1 and they are calculated as follows
St(n)=1N,n=(1,2...N),t=(1,2,.,T)t
Where N denotes the total number of GRU features and T denotes the number of the training datasets. Next, we have to build and fit the regression model: (xt) → (yt), then training the GRU features by the training dataset which is sampled according to the sampling weights St(n). (x → yis the prediction function).
After that, we will calculate the forecasting error as follow: εt=ftxt-ytyt. Then, we calculate the contribution of (xt) to the final result by computing ensemble weights (αt), that is, αt=log1-∑t=1Tεt∑t=1Tεt, . ftxt is the predicted value, ytis the actual value and εtt is the forecasting error.
Furthermore, we update the weight vectors St(n+1). Let set, βt=12In(1-εt)st, then the new weight will be:
St(n+1)=St(n)*e-βt.
While St(n) is the initial weight, St(n+1)} is the update weight. βtis the performance value
We normalize ensemble weights, α1,…,αT, such that ∑t=1Tεt=1. In other words, we normalize St(n+1) so that they sum to one. Meaning that all the steps above will be iterated until the predictor for the networks is obtained.
Finally, predicting the result of the predictors are combining with ensemble weight as a result, we will set g(x). gx=∑t=1Tεtft(xt). All the activation are given equal weight.
2.2 The Gated Recurrent Unit (GRU) Model
GRU layers use the same principle as LSTM but merging the input and forget gate as well as cell state and the hidden state as the update gate which, according to 18, allows the controlling of how much of the new state to be copied from the old state. This merging makes the GRU a more simple gating mechanism that requires fewer parameters than the LSTM 19. GRU layer is better at remembering the recent past information than the distant past to perform the present task 14. The reset gate combines the new input with the previous memory, in other words, it allows the controlling of how much of the previous state needed to remember 18. According to 18, in time series, reset gates help to capture short-term dependencies while update gates help to capture long-term dependencies. Thus, compared to LSTM, the performance is neither degraded nor time-consuming 20. GRU consists of a reset gate and an update gate as shown in Figure 1. The forward propagation equations for update gate, reset gate, candidate activation, hidden layer and final output result are as follows
GRU Network Diagram [source: Author]
ZtUpdateGate=σ([WZ.xt]+[ht-1.Uz]+bZ)
The Eq. (1) is used to calculate the update gate (Zt) for the time step (“t”). In this equation, xt which is the input is multiply by update weight Wz and the result is added to product of the previous hidden state (ht-1) and weight matrices of recurrent connections for update gate Uz. The update bias bzis then introduced to cater for the adjustment of the output along with the weighted sums. Then, the sigmoid activation function is applied to the sum of the results obtained. The same step applied to the Eq. (2), which is the reset gate. , (xt) the input is multiply by reset weight Wr and the previous hidden state(ht-1) is multiply by reset weight matrices Ur. The both and the introduced reset bias br are added together and then sigmoid activation is applied to the sum.
Eq. (3) above is about a memory content, here we multiply input xt with weight, (Wh) (Eq. 3A). Likewise the previous hidden state,(ht-1) is multiply by hidden weight matrices, Uh (Eq. 3B). Then, we calculate element wise product between the reset gate and [ht-1.Uh] (Eq. 3C). By this, what to remove from the past information is determined. Eq. (3A) and Eq. (3c) are summed up and then added with bias bh. Finally, the activation function, that is, the hyperbolic tangent (tanh) is applied.
Eq. (4) below is the last step that determines what information to obtain from the current memory content and from the previous step. In this equation, element-wise product is applied to update gate and previous hidden step, that is, Zt⊙ht-1. In addition, we apply element wise product to 1-Z_t⊙h^_t. These two are then sum up, as shown in Eq. (4) below
ht=Zt⊙ht-1.+1-Zt⊙h^t2.3 The Data Collection and Processing2.3.1 Data Collection and Description
Artificial neural network algorithms need more data points for better performance and due to the changing economic conditions rapidly, the training of the network with long-time-old information could not be a good idea for it could yield unreliable results for the present situation 21. In lieu of this, the daily data that will make it possible to acquire a large number of observations within a reasonable shorter period will be appropriate. In this study, the data for the KOSPI obtained from Naver Finance consists of 5011 observations starting from January 2000 to April 2020. This data was split into ratio 9:1 (4509:502) for training data and test data respectively. The Oil Price data for the entire Gyeongnam region among domestic oil price data consists of 4421 observations that were obtained from the Korea Petroleum Corporation (Opinet). And this is split into three (3315) ratios one (1106) for training data and test data respectively. For USD Exchange data, 4005 data provided by Naver Financial from April 2004 to May 2020 was used. The training data and test data were divided into 80% (3203) and 20% (802). These data, that is, KOSPI, Oil price, and exchange rate data are graphically shown in Figure 2, Figure 3, Figure 4 respectively.
In the below algorithm, following the standardized of the data in which we considered [−1;1] to perform our analysis, we divided the data into a training set and test set. Using a moving forward window of size 7, the next day was predicted through 7 days of data, and the size of the output layer was set to 128. For fixing the moving window size to be 7, we use the pandas shift function that shifts the entire column by the number we specify.
KOSPI DATA
Oil Price Data
Exchange Rate Data
2.3.2 Processing of Data
The data processing in deep learning is crucial for good forecasting performance 22, 23, 24 and; more essential in order to decrease the risk of computational problems thereby making the training process more efficient24.
The algorithm below shows the summary of the processing that the data undergo from training to the model prediction.
ALGORITHM 1 SHOWS THE PSEUDO-CODE FOR THE ADABOOST-GRU MODEL FOR THE FINANCIAL TIME SERIES PREDICTION Algorithm 1. GRU-AdaBoost model
Input: training data Tn=X1,Y1,…,Xn,Yn
Output: predict data
#Data pre-processing
Convert Date to Index and Extract the data You need
After the conversion of date to index and the extraction of the data needed, we start the processing by normalizing the data and we applied a min-max scaler using the scale of [−1, 1]. This is because of the need to make the input and output variables match the scale of the activation function (that is, hyperbolic tangent). In the equation (5) below, Xmin and Xmax are the minimum and maximum values relate to the value of x that are being normalized.
Xnorm=X-XminXmax-Xmin
A moving window of size 6 was applied in which the first six data points is an input and the seventh data point is a target. We used the pandas shift function in python to shift the whole column by the specified number. The KOSPI data is 5011 counts, while Gyeongnam oil prices and USD data counts are 4421 and 4005 respectively.
Looking at the GRU model generation process, that is, lines number 12 to 15, there is one layer, the dropout was set to 0.5, and the activation function set to “tanh” to create a model. The units applied in the model is 128. In line number 16, the cost function was calculated using the mean squared error and the optimizer was “adam”. After the GRU model was created, it was put inside sklearn wrapper and finally boost by AdaBoost Regressor. The batch size was set to 30, the epoch to 50, and the n_estimator to 200. The last two lines were used for the fitting of the models and the prediction.
Performance Evaluation Metrics
In this paper, MSE (Mean Square Error), RMSE (Root Mean Square Error), and MAE (Mean Absolute Error) were used as objective measures of how well predictions were, compared with those data. The value of MSE, RMSE, and MAE are defined in the equations below.
The various methods for evaluating forecasting performance differ in their emphasis and features. The quality of forecasts in this research is compared using three different statistics, namely, the mean absolute error (MAE), the mean square error (MSE), and the root mean squared error (RMSE). Mean Absolute Error (MAE) and Root Mean Square Error (RMSE) are among the most commonly used metrics by statisticians in forecasting. While MAE is easy to understand and compute metrics, the interpretation of the values in RMSE is somehow difficult compare to MAE. Both of them are scale-dependent errors meaning that we cannot use these measures to compare the results of two different time series forecasts with different units.
MSE=1N∑i=1NYi-Y^i2
RMSE is simply the square root of MSE and it is, thus, defined as follows:
RMSE=1N∑i=1NYi-Y^i2MAE=1N∑i=1NYi-Y^i
These performance metrics are good indicators and mean that the lower the values of any of these metrics values are, the higher the prediction accuracy. In the above equations, N denotes the number of inputs, where Yi and Y^i denotes the actual value and predicted output respectively.
Performance Experiments and Discussions
In this section, we report the results of our proposed AdaBoost-GRU model and compared it with that of the benchmark models (AdaBoost-LSTM, traditional LSTM and GRU), for forecasting comparison. The performance evaluation metrics explained in section 3 above are used with Keras in Python programming using google collaboratory.
4.1 KOSPI Data Analysis
Figure 5 below shows the experimental results obtained by applying various forecasting methods to KOSPI data. While the blue lines represent the true data value, red lines represent the predicted value
As shown in Table 1 , with an MAE of 29.1553, MSE of 1366.3159, and RMSE of 36.9637, the single GRU model outperforms single LSTM with 29.3761, 1569.6497, and 39.6188 for MAE, MSE, and RMSE respectively. This is also the case with both AdaBoost-LSTM and AdaBoost-GRU. While both AdaBoost-LSTM and AdaBoost-GRU outperform the simple models, that is, LSTM and GRU as expected, AdaBoost-GRU with MAE of 19.6484, MSE of 777.7996, and RMSE of 27.8891 has a better forecasting result than AdaBoost-LSTM. The forecasting results of each model both for the proposed and benchmarks models are shown in Figure 5 below
Forecasting Result of Various Models for KOSPI Data
Adaboost-LSTM
LSTM
Adaboost-GRU
GRU
MAE
22.0139
29.3761
19.6484
29.1553
MSE
883.9851
1569.6497
777.7996
1366.3159
RMSE
29.73189
39.6188
27.8891
36.9637
1. KOSPI Predict Result for AdaBoost-LSTM, 2. KOSPI Predict Result for Single LSTM, 3. KOSPI Predict Result for AdaBoost-GRU, 4. KOSPI Predict Result for Single GRU
4.2 Oil Price Data Analysis
Figure 6 below shows the experimental results obtained by applying various forecasting methods to Gyeongnam oil price data. While the blue lines represent the true data value, red lines represent the predicted value.
1. Oil Price Predict Result for AdaBoost-LSTM, 2. Oil Price Predict Result for a single LSTM, 3. Oil Price Predict Result for AdaBoost-GRU, 4. Oil Price Predict Result for a Single GRU
From Table 2, it can be seen that while a single GRU has better performance than a single LSTM, the AdaBoost-GRU model has the overall best performance in MAE, MSE, and RMSE compare with all other models. In Figure 7, the Adaboost-GRU model predicted closer to the original data than the single GRU model. Also for the Adaboost-LSTM to the single LSTM.
Forecasting Result of Various Models for Oil Price Data
Adaboost-LSTM
LSTM
Adaboost-GRU
GRU
MAE
4.2420
4.000
2.1018
3.0970
MSE
28.2559
34.0359
13.8522
31.6609
RMSE
5.3156
5.8340
3.7218
5.6268
4.3 US Exchange Rate Data Analysis
Figure 7shows the experimental results obtained by applying various forecasting methods to the US exchange rate USD data among financial time series data. While the blue lines represent the true data value, red lines represent the predicted value
As shown in Table 3 above, AdaBoost-GRU with MAE of 4.1781, MSE of 31.7150, and RMSE of 5.6316 have better forecasting results than all other models. AdaBoost-LSTM with MAE of 4.9047, MSE of 41.8165 and RMSE of 6.4666 follow the best while the single GRU model with MAE of 5.5336, MSE of 52.5727and RMSE of 7.2507 outperforms single LSTM. The forecasting results of each model both for the proposed and benchmarks models are shown in the figures below.
Forecasting Result of Various Models for US Exchange Rate Data
Adaboost-LSTM
LSTM
Adaboost-GRU
GRU
MAE
4.9047
5.7968
4.1781
5.5336
MSE
41.8165
55.3189
31.7150
52.5727
RMSE
6.4666
7.4377
5.6316
7.2507
1. US Exchange Rate Predict Result for AdaBoost-LSTM, 2. US Exchange Rate Predict Result for a Single LSTM, 3. US Exchange Rate Predict Result for AdaBoost-GRU 4. US Exchange Rate Predict Result for AdaBoost-GRU
Conclusion
The importance of accurate prediction of time series data cannot be overemphasized due to their usefulness and benefits in the real life. Consequently, the methods employing for the prediction are actively progressing from traditional statistical methods such as AR, MA, and ARIMA to deep learning such as RNN and its variants. Generally, deep learning is showing great prominence in the field of prediction and, in particular, the RNN model shows excellent performance in the fields of sequential data and time-series data, and its variants such as LSTM and GRU that complement its shortcomings play important roles.
In this research, stock price, oil price, and USD exchange rate were predicted using the GRU-AdaBoost model. This model was compared with the other three benchmarking models for the proposed model. We measure forecasting performance both qualitatively, and quantitatively through mean absolute error (MAE), mean squared error (MSE and root mean squared error (RMSE).
We found that, even though, both AdaBoost-LSTM and AdaBoost-GRU have better performance, in all the three different data, compared with the single models, that is, LSTM and GRU, empirical results show that AdaBoost-GRU is superior among all models studied in this research. Given the advantage of deep learning to extract features from a set of raw data without prior knowledge of predictors, AdaBoost-GRU model shows a promising approach for forecasting financial or economic time series.
ReferencesSunShaolongWeiYunjieWangShouyangAdaboost-lstm ensemble learning for financial time series forecasting2018590597Springerhttps://www.iccs-meeting.org/archive/iccs2018/papers/108620563.pdfWangJung-HuaLeuJia-YannStock market trend prediction using ARIMA-based neural networks199642160216510.1109/ICNN.1996.549236PaiPing-FengLinChih-ShengA hybrid ARIMA and support vector machines model in stock price forecasting200533649750510.1016/j.omega.2004.07.024AreekulPhatchakornSenjyuTomonobuToyamaHirofumiYonaAtsushiNotice of violation of ieee publication principles: A hybrid arima and neural network model for short-term price forecasting in deregulated market200925152453010.1109/TPWRS.2009.2036488ChandarSKumarMSumathiS NSivanandamPrediction of stock market price using hybrid of wavelet transform and artificial neural network. 2016915DOI:10.17485/ijst/2016/v9i8/87905TsantekidisAvraamPassalisNikolaosTefasAnastasiosKanniainenJuhoForecasting stock prices from the limit order book using convolutional neural networks2017171210.1109/CBI.2017.23DingXiaoZhangYueLiuTingDuanJunwenDeep learning for event-driven stock prediction2015http://www.wins.or.kr/DataPool/Board/4xxxx/455xx/45587/329.pdfChoKyunghyunMerriënboerBart VanGulcehreCaglarBahdanauDzmitryBougaresFethiSchwenkHolgerBengioYoshuaLearning phrase representations using RNN encoder-decoder for statistical machine translation2014https://arxiv.org/pdf/1406.1078.pdfLopez-MartinManuelAntonioSanchez-EsguevillasLuisHernandez-CallejoJuan IgnacioArribasBelenCarroNovel Data-Driven Models Applied to Short-Term Electric Load Forecasting20211112570810.3390/app11125708WangGangTaoTaoMaJinglingLiHuiFuHuiminChuYanAn improved ensemble learning method for exchange rate forecasting based on complementary effect of shallow and deep features202118411556910.1016/j.eswa.2021.115569Lopez-MartinManuelBelenCarroAntonioSanchez-EsguevillasIoT type-of-traffic forecasting method based on gradient boosting neural networks202010533134510.1016/j.future.2019.12.013SilvaR G DaRibeiroM HMorenoS RMarianiV CCoelhoL SantosA novel decomposition-ensemble learning framework for multi-step ahead wind energy forecasting202121611917410.1016/j.energy.2020.119174PintoTiagoPraçaIsabelValeZitaSilvaJoseEnsemble learning for electricity consumption forecasting in office buildings202142374775510.1016/j.neucom.2020.02.124AllaireJ JDeep learning with R. Simon and Schuster2018https://www.manning.com/books/deep-learning-with-rFreundYoavSchapireRobert EA decision-theoretic generalization of on-line learning and an application to boosting199755119139https://www.sciencedirect.com/science/article/pii/S002200009791504XSchapireRobert ESpringerBerlin, Heidelberg20133752https://link.springer.com/chapter/10.1007/978-3-642-41136-6_5FreundYoavSchapireRobertAbeNaokiA short introduction to boosting19991416121612http://www.yorku.ca/gisweb/eats4400/boost.pdfZhangAstonLiptonZachary CLiMuSmolaAlexander JDive into deep learning. Unpublished Draft2019https://d2l.ai/d2l-en.pdfChungJunyoungGulcehreCaglarChoKyunghyunBengioYoshuaGated feedback recurrent neural networks. InInternational conference on machine learning201520672075http://proceedings.mlr.press/v37/chung15.htmlDiaoEnmaoDingJieTarokhVahidRestricted recurrent neural networks20095663https://arxiv.org/pdf/1908.07724 ElshendyMohammedColladonAndrea FronzettiBattistoniElisaGloorPeter AUsing four different online media sources to forecast the crude oil price2018443408421https://doi.org/10.1177/0165551517698298AhmedNesreen KAmirFAtiyaNeamat ElGayarHishamEl-ShishinyAn empirical comparison of machine learning models for time series forecasting2010295-6594621https://www.tandfonline.com/doi/abs/10.1080/07474938.2010.481556McadamPeterMcnelisPaulForecasting inflation with thick models and neural networks200522848867https://www.sciencedirect.com/science/article/pii/S026499930500043XZhangGuoqiangPatuwoB EddyHuMichael YForecasting with artificial neural networks: The state of the art. 19981413562https://www.sciencedirect.com/science/article/pii/S0169207097000447