<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20120330//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<!--<?xml-stylesheet type="text/xsl" href="article.xsl"?>-->
<article article-type="research-article" dtd-version="1.1" xml:lang="en" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id journal-id-type="issn">1683-1470</journal-id>
<journal-title-group>
<journal-title>Data Science Journal</journal-title>
</journal-title-group>
<issn pub-type="epub">1683-1470</issn>
<publisher>
<publisher-name>Ubiquity Press</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.5334/dsj-2019-016</article-id>
<article-categories>
<subj-group>
<subject>Research paper</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Time Series Prediction Model of Grey Wolf Optimized Echo State Network</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Huiqing</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Bai</surname>
<given-names>Yingying</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib contrib-type="author" corresp="yes">
<contrib-id contrib-id-type="orcid">http://orcid.org/0000-0003-2311-3422</contrib-id>
<name>
<surname>Li</surname>
<given-names>Chun</given-names>
</name>
<email>429092823@qq.com</email>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Guo</surname>
<given-names>Zhirong</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Jianhui</given-names>
</name>
<xref ref-type="aff" rid="aff-2">2</xref>
</contrib>
</contrib-group>
<aff id="aff-1"><label>1</label>College of Information and Computer, Taiyuan, University of Technology, Taiyuan, Shanxi, CN</aff>
<aff id="aff-2"><label>2</label>Postal Savings Bank of China, CN</aff>
<pub-date publication-format="electronic" date-type="pub" iso-8601-date="2019-05-07">
<day>07</day>
<month>05</month>
<year>2019</year>
</pub-date>
<pub-date pub-type="collection">
<year>2019</year>
</pub-date>
<volume>18</volume>
<elocation-id>16</elocation-id>
<history>
<date date-type="received" iso-8601-date="2018-05-12">
<day>12</day>
<month>05</month>
<year>2018</year>
</date>
<date date-type="accepted" iso-8601-date="2019-04-03">
<day>03</day>
<month>04</month>
<year>2019</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright: &#x00A9; 2019 The Author(s)</copyright-statement>
<copyright-year>2019</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>This is an open-access article distributed under the terms of the Creative Commons Attribution 4.0 International License (CC-BY 4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. See <uri xlink:href="http://creativecommons.org/licenses/by/4.0/">http://creativecommons.org/licenses/by/4.0/</uri>.</license-p>
</license>
</permissions>
<self-uri xlink:href="http://datascience.codata.org/articles/10.5334/dsj-2019-016/"/>
<abstract>
<p>As a novel recursion neural network, Echo State Networks (ESN) are characterized by strong nonlinear prediction capability and effective and straightforward training algorithms. However, conventional ESN predictions require a large volume of training samples. Meanwhile, the time sequence data are complicated and unstable, resulting in insufficient learning of this network and difficult training. As a result, the accuracies of conventional ESN predictions are limited. Aimed at this issue, a time series prediction model of Grey Wolf optimized ESN has been proposed. W<sup>out</sup> of ESN was optimized using the Grey Wolf algorithm and predictions of time series data were achieved using simplified training. The results indicated that the optimized time series prediction method exhibits superior prediction accuracy at a small sample size, compared with conventional prediction methods.</p>
</abstract>
<kwd-group>
<kwd>Echo State Network</kwd>
<kwd>Grey Wolf optimization</kwd>
<kwd>time series prediction</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec>
<title>1. Introduction</title>
<p>The time series are a group of random variables arranged in time order and has been widely applied in our daily life and industry, including commerce, meteorology, finance, and agriculture. To fully understand universal laws and provide references to optimized decision-making, great attentions have been invested in time series predictions (<xref ref-type="bibr" rid="B19">Rojas and Pomares 2016</xref>) (<xref ref-type="bibr" rid="B8">Jiang et al. 2017</xref>).</p>
<p>Owing to effects by various factors, time series is usually characterized by significant randomness and nonlinearity (<xref ref-type="bibr" rid="B2">Chen et al. 2017</xref>). For accurate predictions of time sequence data, various time series prediction models have been proposed. For instance, ARIMA is a conventional linear time series prediction model with considerable prediction capability (<xref ref-type="bibr" rid="B11">Liu et al. 2016</xref>). However, continuously increasing data size leads to increasing size of nonlinear time series data and applications of linear prediction models have been limited. In virtue of rapid developments in machine learning and artificial intelligence, novel time series prediction models such as neural networks (<xref ref-type="bibr" rid="B1">Chandra 2015</xref>) (<xref ref-type="bibr" rid="B22">Wen et al. 2012</xref>) and support vector machine (SVM) (<xref ref-type="bibr" rid="B24">Yaseen et al. 2016</xref>) (<xref ref-type="bibr" rid="B13">Misaghi and Sheijani 2017</xref>) (<xref ref-type="bibr" rid="B14">Nieto et al. 2017</xref>) (<xref ref-type="bibr" rid="B7">Jaramillo et al. 2017</xref>) have been proposed and widely applied in nonlinear time series predictions. Ren et al. achieved rapid collections of receptor temperature using the reverse propagation neural network and rapid prediction of collector tube temperature based on the data collected (<xref ref-type="bibr" rid="B17">Ren et al. 2016</xref>). However, traditional neural networks are prone to fall into local optimum and dimensionality disasters due to the uncertainty of their structure. Huang et al. reported effective predictions of mammary cancer using the SVM algorithm (<xref ref-type="bibr" rid="B6">Huang et al. 2017</xref>). Although the algorithm overcomes the problems of traditional neural network prediction, its sequence suitable for processing is limited. Yao et al. proposed a RNN-based double layer mechanism model (denoted as DA-RNN) (<xref ref-type="bibr" rid="B16">Qin et al. 2017</xref>). This model can obtain the long-term time sequence dependency relationship and predict by selecting relevant time sequence driving series. This model can obtain the long-term time sequence dependency relationship and predict by selecting relevant time sequence driving series. The network needs to calculate the error gradient in the training process. Because the error ladder method is difficult to train the network, the inherent disadvantage of this difficult training limits the wide application of the recurrent neural network in practice (<xref ref-type="bibr" rid="B4">Egrioglu et al. 2015</xref>). In addition, since the weighting requirements of the training algorithm are continuously updated, and the update process is computationally intensive, the training time of the RNN network is increased.</p>
<p>The Echo State Network (ESN) (<xref ref-type="bibr" rid="B20">Sacchi et al. 2007</xref>) is a novel recursion network proposed by Jaeger in 2001 and has been applied in time series predictions. ESN is improved on the basis of the traditional recurrent neural network. The network structure is unique. The concept of &#8220;reservoir pool&#8221; is introduced, which can better adapt to the application of nonlinear systems. The network training process uses linear regression and has short-term memory function and the network model is simple and fast, has high prediction performance, overcomes the problems of large computational complexity, low training efficiency and local optimization in traditional recurrent neural networks, and can be adapted to the processing of time series data in practical problems. However, ESN requires a large volume of training samples owing to its unique structure and training is difficult in ESN. Meanwhile, reservoir applicability and prediction accuracy in complicated situations needs to be improved. Afterwards, various optimized ESN models have been proposed. Qin et al. proposed a novel E-KFM model by combining the KFM algorithm and ESN and applied it for multi-step prediction of time sequence data (<xref ref-type="bibr" rid="B23">Xiao et al. 2017</xref>). The E-KFM model exhibits excellent effectiveness and robustness, but did not achieve good optimization results. Qiao et al. reported accurate predictions by ESN via optimization of W<sup>out</sup> of ESN using particle swarm algorithm (<xref ref-type="bibr" rid="B15">Qiao et al. 2016</xref>), and proposed the PSO_ESN prediction model. The model improves the prediction performance to a certain extent, but the model training time is longer due to the evolution of particles and the number of iterations. Zhong et al. reported optimization of double layer ESN by genetic algorithms and applied the optimized model in multi-area time series prediction (<xref ref-type="bibr" rid="B27">Zhong et al. 2017</xref>). The prediction model optimizes the echo state network, improves the accuracy of time series prediction, and shortens the prediction time to some extent. However, the genetic algorithm has complex coding, many parameters and choices rely on experience, which cannot solve the problem of large-scale calculation.</p>
<p>Aimed at this issue, a time series prediction model of Grey Wolf optimized ESN is proposed by introducing the Grey Wolf algorithm, a swarm intelligence optimization algorithm. First, significance of time series predictions and the state-of-the-other studies in this field were introduced. Then, the GWO time series prediction method for ESN was proposed and described in details. Finally, the proposed model is verified based on different data sets.</p>
</sec>
<sec sec-type="methods">
<title>2. Time series prediction method of Grey Wolf optimized ESN</title>
<p>In order to solve issues (e.g., difficult training) in ESN predictions, time series prediction model of Grey Wolf optimized ESN is proposed. This method eliminates the issue of difficult training by optimizing W<sup>out</sup> using the Grey Wolf algorithm and improves the accuracy of ESN prediction. Additionally, experiments demonstrated significant enhancements of prediction accuracy of the proposed prediction method over different time series data sets.</p>
<sec>
<title>2.1. Echo State Network</title>
<p>ESN is a novel recursion neural network consisting of input layer, hidden layer, and output layer (<xref ref-type="bibr" rid="B12">Lun et al. 2015</xref>) (<xref ref-type="bibr" rid="B5">Han and Mu 2011</xref>). As shown in Figure <xref ref-type="fig" rid="F1">1</xref>, layers are connected to each other via different weight matrices. Herein, W<sup>in</sup> refers to the input weight connection matrix, which is the connection between input layer and reservoir; W refers to the internal weight connection matrix, which is the connection between reservoir and internal neuron; W<sup>back</sup> refers to the feedback weight connection matrix, which is the connection between output layer and the next output layer; W<sup>out</sup> refers to the output weight connection matrix, which is the connection between reservoir and output layer. W<sup>out</sup> is the only key parameter that requires training.</p>
<fig id="F1">
<label>Figure 1</label>
<caption>
<p>Echo State Network diagram.</p>
</caption>
<graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="dsj-18-830-g1.png"/>
</fig>
<p>Unlike other neural networks, the hidden layer in this network is replaced by reservoir. Herein, the reservoir consisting of various sparse neurons dynamically connected to each other and it exhibits memory capability via performance of weight storage system between neurons. The reserve pool is the core part of the ESN network, and its parameters are of great significance to the network, including the size of the reserve pool N, the internal connection weight spectrum radius SR of the reserve pool, the input unit scale IS and the sparsity degree SD. Among them, the size of the reserve pool N is reflected by the number of neurons. The size of the scale N affects the predictive power of the ESN network. In general, the size of N is adjusted by the number of data sets. The internal connection weight spectrum radius of the reserve pool is a key parameter of the reserve pool, affecting its memory capacity. In general, an ESN network can have a stable echo state attribute when 0 &lt; SR &lt;1. Due to the different types of neurons in the reserve pool and the different characteristics of the data, the input signal needs to be scaled by the reserve cell input unit size IS to be transported from the input layer to the reserve pool. The size of the input unit scale is related to the nonlinear data to be processed. The stronger the nonlinearity, the larger the input unit scale. The sparsity of the reserve pool SD specifically refers to the proportion of neurons connected in the reserve pool to the total number of neurons. In general, when the SD is 10%, the reserve pool can maintain certain dynamic characteristics.</p>
<p>The basic equations of ESN are:</p>
<disp-formula id="FD1">
<label>1</label>
<alternatives>
<mml:math id="Eq001-mml"><mml:mrow><mml:mtext>x</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext>n</mml:mtext><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msup><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mi>u</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext>n</mml:mtext><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mi>X</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mtext>n</mml:mtext><mml:mo>)</mml:mo></mml:mrow><mml:msup><mml:mi>W</mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:mi>a</mml:mi><mml:mi>c</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mi>y</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow>
</mml:math>
<tex-math id="M1">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{\rm{x}}\left( {{\rm{n}} + 1} \right) = f\left( {{W^{in}}u\left( {{\rm{n}} + 1} \right) + {W_X}\left( {\rm{n}} \right){W^{back}}y\left( n \right)} \right)
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e1.gif"/>
</alternatives>
</disp-formula>
<disp-formula id="FD2">
<label>2</label>
<alternatives>
<mml:math id="Eq002-mml"><mml:mrow><mml:mtext>y</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext>n</mml:mtext><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mi>f</mml:mi><mml:mrow><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msup><mml:mi>W</mml:mi><mml:mrow><mml:mi>o</mml:mi><mml:mi>u</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msup><mml:mi>u</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtext>n</mml:mtext><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mo>&#x2009;</mml:mo><mml:mo>&#x2009;</mml:mo><mml:mtext>x</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:mtext>n</mml:mtext><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mo>&#x2009;</mml:mo><mml:mo>&#x2009;</mml:mo><mml:mi>y</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math>
<tex-math id="M2">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{\rm{y}}\left( {{\rm{n}} + 1} \right) = {f^{out}}\left( {{W^{out}}u\left( {{\rm{n}} + 1} \right),\,\,{\rm{x}}\left( {\rm{n}} \right),\,\,y\left( n \right)} \right)
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e2.gif"/>
</alternatives>
</disp-formula>
<p>where u(n) = u<sub>1</sub>(n), u<sub>2</sub>(n), &#8230;, u<sub>k</sub>(n), x(n) = x<sub>1</sub>(n), x<sub>2</sub>(n), &#8230;, x<sub>N</sub>(n), y(n) = y<sub>1</sub>(n), y<sub>2</sub>(n), &#8230;, y<sub>L</sub>(n) are input vector, state vector, and output vector of ESN, respectively; f and f<sup>out</sup> are activation functions for internal neurons of processing unit and output unit of the reservoir, respectively, and they are generally tanh functions.</p>
</sec>
<sec>
<title>2.2. Grey Wolf Optimizer</title>
<p>The Grey Wolf Optimizer (GWO) is a novel swarm intelligence algorithm proposed by Mirjalili in 2014 (<xref ref-type="bibr" rid="B21">Saremi et al. 2015</xref>) (<xref ref-type="bibr" rid="B18">Rezaei et al. 2018</xref>). This algorithm is based on mimicking of social hierarchy and hunting activities of grey wolf herd. Grey wolves are social animals with strict hierarchy, including &#945;, &#946;, &#948;, and &#969;. Herein, &#945; is the leader who distribute different tasks (surrounding, hounding, attacking) to individuals of different levels to achieve global optimization. In virtue of its simple structure, negligible parameter adjustment required, and high effectiveness, the GWO algorithm has been widely applied for function optimizations.</p>
<p>For a population consisting of N grey wolves <inline-formula>
<alternatives>
<mml:math id="Eq003-mml"><mml:mrow><mml:mtext>(X</mml:mtext><mml:mo>=</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2009;</mml:mo><mml:mo>&#x2009;</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2009;</mml:mo><mml:mo>&#x2009;</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x2009;</mml:mo><mml:mo>&#x2009;</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>N</mml:mi></mml:msub><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:math>
<tex-math id="M3">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{\rm{(X}} = {X_1},\,\,{X_2},\,\, \cdots ,\,\,{X_N})
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e19.gif"/>
</alternatives>
</inline-formula>, the location of the <italic>i</italic>th wolf is defined as <inline-formula>
<alternatives>
<mml:math id="Eq004-mml"><mml:mrow><mml:msub><mml:mtext>X</mml:mtext><mml:mtext>i</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mtext>X</mml:mtext><mml:mtext>I</mml:mtext></mml:msub><mml:msup><mml:mrow></mml:mrow><mml:mn>1</mml:mn></mml:msup><mml:mo>,</mml:mo><mml:mo>&#x2009;</mml:mo><mml:mo>&#x2009;</mml:mo><mml:msub><mml:mtext>X</mml:mtext><mml:mtext>I</mml:mtext></mml:msub><mml:msup><mml:mrow></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:mo>,</mml:mo><mml:mo>&#x2009;</mml:mo><mml:mo>&#x2009;</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x2009;</mml:mo><mml:mo>&#x2009;</mml:mo><mml:msub><mml:mtext>X</mml:mtext><mml:mtext>I</mml:mtext></mml:msub><mml:msup><mml:mrow></mml:mrow><mml:mtext>d</mml:mtext></mml:msup></mml:mrow></mml:math>
<tex-math id="M4">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{{\rm{X}}_{\rm{i}}} = {{\rm{X}}_{\rm{I}}}^1,\,\,{{\rm{X}}_{\rm{I}}}^2,\,\, \cdots ,\,\,{{\rm{X}}_{\rm{I}}}^{\rm{d}}
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e20.gif"/>
</alternatives>
</inline-formula> and <inline-formula>
<alternatives>
<mml:math id="Eq005-mml"><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mi>I</mml:mi></mml:msub><mml:msup><mml:mrow></mml:mrow><mml:mi>d</mml:mi></mml:msup></mml:mrow></mml:math>
<tex-math id="M5">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{X_I}^d
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e21.gif"/>
</alternatives>
</inline-formula> refers to the location of the <italic>i</italic>th wolf is d-dimensional space. The specific hunting activity is defined as follows:</p>
<disp-formula id="FD3">
<label>4</label>
<alternatives>
<mml:math id="Eq006-mml"><mml:mrow><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mi>C</mml:mi><mml:mo>*</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mtext>t</mml:mtext><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mtext>t</mml:mtext><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:math>
<tex-math id="M6">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
D = \left| {C*{X_i}\left( {\rm{t}} \right) - X\left( {\rm{t}} \right)} \right|
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e3.gif"/>
</alternatives>
</disp-formula>
<disp-formula id="FD4">
<label>5</label>
<alternatives>
<mml:math id="Eq007-mml"><mml:mrow><mml:mo>&#x00A0;</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mi>X</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mtext>A</mml:mtext><mml:mo>*</mml:mo><mml:mtext>D</mml:mtext></mml:mrow></mml:math>
<tex-math id="M7">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{X_i}\left( {t + 1} \right) = X\left( t \right) - {\rm{A}}*{\rm{D}}
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e4.gif"/>
</alternatives>
</disp-formula>
<p>where A and C are coefficient vectors, t is the iteration number, X(t) is the location vector of a grey wolf, X<italic><sub>i</sub></italic>(t) is target location vector of the grey wolf, D is the distance between the grey wolf and the prey.</p>
<p>The coefficient vector is defined as follows:</p>
<disp-formula id="FD5">
<label>6</label>
<alternatives>
<mml:math id="Eq008-mml"><mml:mrow><mml:mtext>A</mml:mtext><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mo>*</mml:mo><mml:mtext>a</mml:mtext><mml:mo>*</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mtext>a</mml:mtext></mml:mrow>
</mml:math>
<tex-math id="M8">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{\rm{A}} = 2*{\rm{a}}*{r_1} - {\rm{a}}
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e5.gif"/>
</alternatives>
</disp-formula>
<disp-formula id="FD6">
<label>7</label>
<alternatives>
<mml:math id="Eq009-mml"><mml:mrow><mml:mi>C</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mo>*</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:math>
<tex-math id="M9">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
C = 2*{r_2}
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e6.gif"/>
</alternatives>
</disp-formula>
<disp-formula id="FD7">
<label>8</label>
<alternatives>
<mml:math id="Eq010-mml"><mml:mrow><mml:mtext>a</mml:mtext><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mo>&#x2212;</mml:mo><mml:mtext>i</mml:mtext><mml:mo>*</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mfrac><mml:mn>2</mml:mn><mml:mrow><mml:msub><mml:mrow><mml:mtext>Max</mml:mtext></mml:mrow><mml:mo>&#x2014;</mml:mo></mml:msub><mml:mi>i</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math>
<tex-math id="M10">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{\rm{a}} = 2 - {\rm{i}}*\left( {\frac{2}{{\rm{Max}} _- iteration}} \right)
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e7.gif"/>
</alternatives>
</disp-formula>
<p>where r<sub>1</sub> and r<sub>2</sub> are random vectors with values in [0, 1] and a is the iteration factor.</p>
<p>Grey wolves have a strong prey search capability. &#945; is the leader who command all activities and &#946; and &#948; may participate occasionally. In the GWO algorithm, &#945; is defined as the optimal solution, while &#946; and &#948; can also provide effective target information to &#945;. Therefore, &#945;, &#946;, and &#948; are the three optimal solutions currently and their updated locations are as follows:</p>
<disp-formula id="FD8">
<label>9</label>
<alternatives>
<mml:math id="Eq011-mml"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>&#x03B1;</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>*</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>&#x03B1;</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mtext>t</mml:mtext><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mtext>t</mml:mtext><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:math>
<tex-math id="M11">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{D_\alpha } = \left| {{C_1}*{X_\alpha }\left( {\rm{t}} \right) - X\left( {\rm{t}} \right)} \right|
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e8.gif"/>
</alternatives>
</disp-formula>
<disp-formula id="FD9">
<label>10</label>
<alternatives>
<mml:math id="Eq012-mml"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>&#x03B2;</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>*</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>&#x03B2;</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mtext>t</mml:mtext><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mtext>t</mml:mtext><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:math>
<tex-math id="M12">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{D_\beta } = \left| {{C_2}*{X_\beta }\left( {\rm{t}} \right) - X\left( {\rm{t}} \right)} \right|
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e9.gif"/>
</alternatives>
</disp-formula>
<disp-formula id="FD10">
<label>11</label>
<alternatives>
<mml:math id="Eq013-mml"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>&#x03B4;</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>*</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>&#x03B4;</mml:mi></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mtext>t</mml:mtext><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>X</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mtext>t</mml:mtext><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:math>
<tex-math id="M13">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{D_\delta } = \left| {{C_3}*{X_\delta }\left( {\rm{t}} \right) - X\left( {\rm{t}} \right)} \right|
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e10.gif"/>
</alternatives>
</disp-formula>
<disp-formula id="FD11">
<label>12</label>
<alternatives>
<mml:math id="Eq014-mml"><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>&#x03B1;</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>*</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mi>&#x03B1;</mml:mi></mml:msub></mml:mrow></mml:math>
<tex-math id="M14">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{X_1} = {X_\alpha } - {A_1}*{D_\alpha }
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e11.gif"/>
</alternatives>
</disp-formula>
<disp-formula id="FD12">
<label>13</label>
<alternatives>
<mml:math id="Eq015-mml"><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>&#x03B2;</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>*</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mi>&#x03B2;</mml:mi></mml:msub></mml:mrow></mml:math>
<tex-math id="M15">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{X_2} = {X_\beta } - {A_2}*{D_\beta }
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e12.gif"/>
</alternatives>
</disp-formula>
<disp-formula id="FD13">
<label>14</label>
<alternatives>
<mml:math id="Eq016-mml"><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>&#x03B4;</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>A</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>*</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mi>&#x03B4;</mml:mi></mml:msub></mml:mrow></mml:math>
<tex-math id="M16">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{X_3} = {X_\delta } - {A_3}*{D_\delta }
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e13.gif"/>
</alternatives>
</disp-formula>
<disp-formula id="FD14">
<label>15</label>
<alternatives>
<mml:math id="Eq017-mml"><mml:mrow><mml:mi>X</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mn>3</mml:mn></mml:mfrac></mml:mrow></mml:math>
<tex-math id="M17">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
X\left( {t + 1} \right) = \frac{{\left( {{X_1} + {X_2} + {X_3}} \right)}}{3}
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e14.gif"/>
</alternatives>
</disp-formula>
<p>where X<sub>&#945;</sub>, X<sub>&#946;</sub>, and X<sub>&#948;</sub> are current locations of &#945;, &#946;, and &#948;, respectively; X(t) is the target location of grey wolf; D<sub>&#945;</sub>, D<sub>&#946;</sub>, and D<sub>&#948;</sub> are distances from the prey to &#945;, &#946;, and &#948;, respectively; X(t + 1) refers to the location vector with updated searching factor; C and A are random vectors.</p>
</sec>
<sec>
<title>2.3. The optimized Echo State Network algorithm</title>
<p>As a key parameter in ESN, W<sup>out</sup> is selected by a series of linear regressions of data in the training set. Owing to its unique structure, ESN requires a large volume of training samples, making its training highly challenging. Therefore, W<sup>out</sup> was optimized using the Grey Wolf algorithm and a Grey Wolf optimized echo state network algorithm (denoted as the GWO_ESN algorithm) is proposed.</p>
<p>Procedures of the GWO_ESN algorithm are as follows:</p>
<list list-type="alpha-lower">
<list-item><p>Establish ESN as shown in Figure <xref ref-type="fig" rid="F1">1</xref> and initialize the parameters of this network.</p></list-item>
<list-item><p>Initialize parameters and location functions and target location functions of &#945;, &#946;, &#948;, as shown in Figure <xref ref-type="fig" rid="F2">2</xref>. Herein, the initial locations of &#945;, &#946;, &#948; are fixed and the corresponding parameters are C and a, respectively. &#969; is the wolf at the bottom hierarchy and prey is located in the middle part.</p></list-item>
<list-item><p>Calculate the value of fitness function using Eq (16) and compare it with the value of target function in Step b. Herein, y<sub>i</sub> is predicted value based on W<sup>out</sup> and Eq (2) and y is the practical value.</p>
<p><disp-formula id="FD15">
<label>16</label>
<alternatives>
<mml:math id="Eq018-mml"><mml:mrow><mml:mtext>fitness</mml:mtext><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>n</mml:mi></mml:mfrac><mml:munderover><mml:mstyle mathsize='140%' displaystyle='true'><mml:mo>&#x2211;</mml:mo></mml:mstyle><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:math>
<tex-math id="M18">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{\rm{fitness}} = \frac{1}{n}\mathop \sum \limits_{i = 1}^n {\left( {{y_i} - y} \right)^2}
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e15.gif"/>
</alternatives>
</disp-formula></p></list-item>
<list-item><p>If the values of fitness function obtained in Step c are lower than target function values of &#945;, &#946;, &#948;, target function values of &#945;, &#946;, &#948; are updated to fitness function values.</p></list-item>
<list-item><p>Calculate Parameter a in each iteration using Eq (8) and coefficient coefficients (A and C) corresponding to &#945;, &#946;, &#948; using Eq (6) and (7).</p></list-item>
<list-item><p>Execute time series transversal and update locations of &#945;, &#946;, &#948; using Eq (4) and (5). The specific updating equations are Eq (9), (10), (11), (12), (13), and (14). Figure <xref ref-type="fig" rid="F3">3</xref> shows updated locations of grey wolves.</p></list-item>
<list-item><p>If the maximized iteration number is not achieved, go back to Step b and repeat the process; if the maximized iteration number is achieved, obtain updated locations of &#945;, &#946;, &#948; and calculate the ultimate optimization result (W<sup>out</sup>) using Eq (15).</p></list-item></list>
<p>The pseudo code of GWO_ESN:</p>
<fig id="F2">
<label>Figure 2</label>
<caption>
<p>Grey wolf&#8217;s initial position.</p>
</caption>
<graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="dsj-18-830-g2.png"/>
</fig>
<fig id="F3">
<label>Figure 3</label>
<caption>
<p>Grey wolf location update.</p>
</caption>
<graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="dsj-18-830-g3.png"/>
</fig>
<table-wrap>
<table>
<tr>
<td align="left"><bold>Algorithm</bold> GWO_ESN</td>
</tr>
<tr>
<td align="left"><hr/></td>
</tr>
<tr>
<td align="left">Optimize <italic>W <sup>out</sup></italic></td>
</tr>
<tr>
<td align="left"><hr/></td>
</tr>
<tr>
<td align="left">function GWO_ESN (<italic>X</italic><sub>i</sub>, <italic>a, A, C, N, W<sup>in</sup>, W, W<sup>back</sup></italic>)</td>
</tr>
<tr>
<td align="left">position = initialization (m, dim);</td>
</tr>
<tr>
<td align="left"><italic>W<sup>out</sup></italic>=position</td>
</tr>
<tr>
<td align="left">do</td>
</tr>
<tr>
<td align="left">fitness =ESN (<italic>U, Y, M, W<sup>out</sup></italic>);</td>
</tr>
<tr>
<td align="left">If fitness&lt; X<sub>&#945;</sub></td>
</tr>
<tr>
<td align="left">fitness = X<sub>&#945;</sub></td>
</tr>
<tr>
<td align="left"><italic>X<sub>1</sub></italic>=position</td>
</tr>
<tr>
<td align="left">end</td>
</tr>
<tr>
<td align="left">if fitness&gt;X<sub>&#945;</sub>&amp;&amp;fitness&lt; X<sub>&#946;</sub></td>
</tr>
<tr>
<td align="left">fitness = X<sub>&#946;</sub></td>
</tr>
<tr>
<td align="left"><italic>X<sub>2</sub></italic>=position</td>
</tr>
<tr>
<td align="left">end</td>
</tr>
<tr>
<td align="left">if fitness&gt;X<sub>&#945;</sub>&amp;&amp;fitness&gt; X<sub>&#946;</sub>&amp;&amp; fitness&gt; X<sub>&#948;</sub></td>
</tr>
<tr>
<td align="left">fitness = X<sub>&#948;</sub></td>
</tr>
<tr>
<td align="left"><italic>X<sub>3</sub></italic>=position</td>
</tr>
<tr>
<td align="left">end</td>
</tr>
<tr>
<td align="left"><italic>t</italic>=0</td>
</tr>
<tr>
<td align="left">for <italic>X<sub>1</sub>, X<sub>2</sub>, X<sub>3</sub></italic></td>
</tr>
<tr>
<td align="left">update by Equation (12 13 14)</td>
</tr>
<tr>
<td align="left">end for</td>
</tr>
<tr>
<td align="left">update <italic>a, A</italic>, and <italic>C</italic></td>
</tr>
<tr>
<td align="left">update X<sub>&#945;</sub> X<sub>&#946;</sub> X<sub>&#948;</sub></td>
</tr>
<tr>
<td align="left"><italic>t</italic>=<italic>t</italic>+1</td>
</tr>
<tr>
<td align="left">until (t &gt; Max_iteration)</td>
</tr>
<tr>
<td align="left"><italic>W<sup>out</sup></italic>=3/sum (<italic>X<sub>1</sub></italic>+<italic>X<sub>2</sub></italic> +<italic>X<sub>3</sub></italic>)</td>
</tr>
<tr>
<td align="left">return <italic>W<sup>out</sup></italic></td>
</tr>
<tr>
<td align="left">end function</td>
</tr>
<tr>
<td align="left"><hr/></td>
</tr>
</table>
</table-wrap>
</sec>
<sec>
<title>2.4. Time series prediction model of GWO_ESN</title>
<p>In this article, a time series prediction model of Grey Wolf optimized ESN (denoted as the GWO_ESN model) combining ESN and the Grey Wolf algorithm is proposed. Herein, W<sup>out</sup> of ESN is optimized using the Grey Wolf algorithm and the proposed GWO_ESN algorithm is applied in time series predictions. This model eliminates the issue of over-large volume of training samples in ESN and improves the prediction accuracy.</p>
<list list-type="simple">
<list-item><p>Step1: Pre-process the original sequence and obtain de-noising and dimensionality reduced normalized data.</p></list-item>
<list-item><p>Step2: Initialize parameters in ESN and Grey Wolf algorithm.</p></list-item>
<list-item><p>Step3: Optimize W<sup>out</sup> of ESN using the GWO algorithm.</p></list-item>
<list-item><p>Step4: Predict using ESN based on W<sup>out</sup>.</p></list-item>
</list>
</sec>
</sec>
<sec>
<title>3. Results and discussion</title>
<sec>
<title>3.1. Background and data</title>
<p>The experiment environment includes Matlab R2014b, Windows 7 Basic, 8G memory, Intel(R) Core(TM) i7-4790 CPU @ 3.60 GHz.</p>
<p>In order to better verify the performance of the time series prediction model, this experiment selected seven sets of data, of which the first five groups are nonlinear data., including the EEG public EEG data EEG, China Statistical Yearbook official website 1999&#8211;2008 different influencing factors The Shanghai Railway Index in the historical stock index data of the railway passenger traffic volume, China&#8217;s 1985&#8211;2011 grain production data 1, 2 and Netease Financial Network 1990/12/20&#8212;1991/1/24. The latter two groups are chaotic time series data, mainly Lorenz chaotic sequence and Mackey-Glass chaotic sequence. The specific nonlinear data set information is shown in Table <xref ref-type="table" rid="T1">1</xref>. The chaotic time series is defined as follows:</p>
<table-wrap id="T1">
<label>Table 1</label>
<caption>
<p>Data set information.</p></caption>
<table>
<tr>
<th colspan="5"><hr/></th>
</tr>
<tr>
<th valign="top" align="left">No.</th>
<th valign="top" align="left">Datasets</th>
<th valign="top" align="center">Data Length</th>
<th valign="top" align="center">Training set</th>
<th valign="top" align="center">Testing set</th>
</tr>
<tr>
<td colspan="5"><hr/></td>
</tr>
<tr>
<td valign="top" align="left">1</td>
<td valign="top" align="left">Separation of EEG data</td>
<td valign="top" align="right">5001*1</td>
<td valign="top" align="right">2000</td>
<td valign="top" align="right">500</td>
</tr>
<tr>
<td valign="top" align="left">2</td>
<td valign="top" align="left">Railway passenger traffic</td>
<td valign="top" align="right">34*8</td>
<td valign="top" align="right">16</td>
<td valign="top" align="right">16</td>
</tr>
<tr>
<td valign="top" align="left">3</td>
<td valign="top" align="left">Food production 1</td>
<td valign="top" align="right">27*8</td>
<td valign="top" align="right">13</td>
<td valign="top" align="right">13</td>
</tr>
<tr>
<td valign="top" align="left">4</td>
<td valign="top" align="left">Food production 1</td>
<td valign="top" align="right">10*10</td>
<td valign="top" align="right">5</td>
<td valign="top" align="right">5</td>
</tr>
<tr>
<td valign="top" align="left">5</td>
<td valign="top" align="left">The Shanghai Composite Index</td>
<td valign="top" align="right">400*7</td>
<td valign="top" align="right">200</td>
<td valign="top" align="right">199</td>
</tr>
<tr>
<td valign="top" align="left">6</td>
<td valign="top" align="left">Mackey-Glass</td>
<td valign="top" align="right">400*1</td>
<td valign="top" align="right">200</td>
<td valign="top" align="right">199</td>
</tr>
<tr>
<td valign="top" align="left">7</td>
<td valign="top" align="left">Lorenz</td>
<td valign="top" align="right">600*1</td>
<td valign="top" align="right">300</td>
<td valign="top" align="right">299</td>
</tr>
<tr>
<td colspan="5"><hr/></td>
</tr>
</table>
</table-wrap>
<p>(1) The Mackey-Glass chaotic time series is defined by the following time delay differential equation:</p>
<disp-formula id="FD16">
<label>17</label>
<alternatives>
<mml:math id="Eq019-mml"><mml:mrow><mml:mfrac><mml:mrow><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>0.2</mml:mn><mml:mi>x</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03C4;</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:msup><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>&#x03C4;</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:mfrac><mml:mo>&#x2212;</mml:mo><mml:mn>0.1</mml:mn><mml:mi>x</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mrow></mml:math>
<tex-math id="M19">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
\frac{{dx}}{{dt}} = \frac{{0.2x(t - \tau )}}{{1 + {x^{10}}(t - \tau )}} - 0.1x(t)
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e16.gif"/>
</alternatives>
</disp-formula>
<p>Where x(0) = 1.2, &#964; = 17, iteratively generates chaotic time series using the fourth-order Runge-Kutta method.</p>
<p>(2) Lorenz chaotic time series</p>
<p>The Lorenz chaotic time series is described by the following three-dimensional ordinary differential equations:</p>
<disp-formula id="FD17">
<label>18</label>
<alternatives>
<mml:math id="Eq020-mml"><mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnalign='left'><mml:mtr><mml:mtd><mml:mi>d</mml:mi><mml:mi>x</mml:mi><mml:mtext>/</mml:mtext><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:mo stretchy='false'>(</mml:mo><mml:mi>y</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy='false'>)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>d</mml:mi><mml:mi>y</mml:mi><mml:mtext>/</mml:mtext><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy='false'>(</mml:mo><mml:mi>c</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>z</mml:mi><mml:mo stretchy='false'>)</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>y</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>d</mml:mi><mml:mi>z</mml:mi><mml:mtext>/</mml:mtext><mml:mi>d</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mi>x</mml:mi><mml:mi>y</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>b</mml:mi><mml:mi>z</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:math>
<tex-math id="M20">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
\left\{ \begin{array}{l}
dx{\rm{/}}dt = a(y - x)\\
dy{\rm{/}}dt = (c - z)x - y\\
dz{\rm{/}}dt = xy - bz
\end{array} \right.
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e17.gif"/>
</alternatives>
</disp-formula>
<p>When the parameters a = 10, b = 8/3, c = 28, the initial value x (0) = y (0) = z (0) = 1, the sys tem generates chaos, which is iteratively generated by the fourth-order Runge-Kutta method. Chaotic time series. The delay time and the embedding dimension of the sequence are set as: &#964;<sub>1</sub> = 19, &#964;<sub>2</sub> = 13, &#964;<sub>3</sub> = 12, m<sub>1</sub> = 3, m<sub>2</sub> = 5, m<sub>3</sub> = 7.</p>
</sec>
<sec>
<title>3.2. Evaluation standards</title>
<p>To compare accuracies of different prediction models and evaluate performance of the proposed GWO time series prediction method for ESN, two evaluation parameters are involved: comparison of fitting of predicted sequence and actual sequence and mean square error (MSE) of predicted values and actual values. The MSE as an evaluation parameter in this study is defined as:</p>
<disp-formula id="FD18">
<label>19</label>
<alternatives>
<mml:math id="Eq021-mml"><mml:mrow><mml:mtext>MSE</mml:mtext><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:msubsup><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mover accent='true'><mml:mi>y</mml:mi><mml:mo>&#x005E;</mml:mo></mml:mover><mml:mo>&#x2212;</mml:mo><mml:mi>y</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow><mml:mi>n</mml:mi></mml:mfrac></mml:mrow></mml:math>
<tex-math id="M21">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
{\rm{MSE}} = \frac{{\mathop \sum \nolimits_{i = 1}^n {{\left( {\hat y - y} \right)}^2}}}{n}
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e18.gif"/>
</alternatives>
</disp-formula>
<p>where <inline-formula>
<alternatives>
<mml:math id="Eq022-mml"><mml:mover accent='true'><mml:mi>y</mml:mi><mml:mo>&#x005E;</mml:mo></mml:mover>
</mml:math>
<tex-math id="M22">
\documentclass[10pt]{article}
\usepackage{wasysym}
\usepackage[substack]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsbsy}
\usepackage[mathscr]{eucal}
\usepackage{mathrsfs}
\usepackage{pmc}
\usepackage[Euler]{upgreek}
\pagestyle{empty}
\oddsidemargin -1.0in
\begin{document}
\[
\hat y
\]
\end{document}
</tex-math>
<graphic xlink:href="dsj-18-830-e22.gif"/>
</alternatives>
</inline-formula> refers to the prediction value, y refers to the measured value, n refers to the data length.</p>
</sec>
<sec>
<title>3.3. Results and analysis</title>
<sec>
<title>3.3.1. Experiment 1: Fitting of prediction curves by different time series prediction models and practical curves</title>
<p>The BP neural network model (<xref ref-type="bibr" rid="B25">Zhai and Cao 2016</xref>), the Elman neural network model (<xref ref-type="bibr" rid="B10">Liang et al. 2017</xref>), and the ESN model (<xref ref-type="bibr" rid="B9">Li et al. 2012</xref>), ESN prediction model based on recursive least squares (denoted as RLS_ESN) (<xref ref-type="bibr" rid="B3">Chouikhi et al. 2017</xref>), PSO optimization based ESN model (denoted as PSO_ESN) (<xref ref-type="bibr" rid="B26">Zhang et al. 2015</xref>), and the proposed GWO_ESN model were involved in this prediction experiment. The prediction results by these five models over the five time series data sets were compared with practical results and to each other in the way of fitting graphs.</p>
<p>Figure <xref ref-type="fig" rid="F4">4</xref> shows fitting of practical results and prediction results by the five prediction models over five data sets. As observed, fitting of practical results and prediction results by the five prediction models follows: GWO_ESN model &gt; PSO_ESN model &gt; RSN model &gt; Elman model &gt; BP model. Herein, prediction results by the proposed GWO_ESN model were highly fitted with practical results and the amplitudes were relatively small, indicating high prediction accuracy of the proposed model. In terms of different data sets, performances of the BP network and the Elman network varied significantly with the data set due to their poor structural stabilities. Meanwhile, the Elman network shows advantages in applicability to time series cases over the BP network, thus presenting good prediction performance.</p>
<fig id="F4">
<label>Figure 4</label>
<caption>
<p>Comparison of different model predictions.</p>
</caption>
<graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="dsj-18-830-g4.png"/>
</fig>
<p>Compared with the Elman model and the BP model, the ESN model exhibits excellent prediction accuracy in stock data set and EEG data set. As shown in Figure <xref ref-type="fig" rid="F4">4</xref> (d) and (e), stock data set and EEG data set are characterized by large volume of training samples and predictions by ESN are based on sufficient training in these cases. For the other three data sets with relatively small training sample sizes, sufficient training cannot be achieved and prediction accuracy of ESN was limited in these cases. On the other hand, the GWO_ESN model exhibited good prediction performances in all five cases, indicating strong generalization capability of this model. In other words, the GWO_ESN model is applicable for predictions of various time series data. Therefore, two conclusions can be drawn. First, fitting effectiveness of the ESN model varies significantly with the data set. Second, the GWO-ESN model shows excellent fitting effectiveness for all data sets, while the PSO-ESN model is inferior for history data sets but its effectiveness still satisfies the requirement. Additionally, predictions by the PSO-ESN model are significantly deviated from practical results for certain data sets. This can be attributed to data characteristics and parameter setting.</p>
<p>Experiment 1 demonstrated that fitting efficiency of the proposed GWO_ESN time series prediction model is significantly improved compared with the ESN model and the prediction results by the proposed GWO_ESN time series prediction model are perfectly aligned with practical results. Therefore, the prediction performance of the proposed GWO_ESN time series prediction model is considered to be optimized. Meanwhile, the proposed GWO_ESN time series prediction model is characterized by low time complexity, less parameters required, and highly effective algorithm compared with other models.</p>
</sec>
<sec>
<title>3.3.2. Experiment 2: MSEs of different prediction models for different data sets</title>
<p>Table <xref ref-type="table" rid="T2">2</xref> summarizes MSE of different data sets by the five prediction models. A low MSE indicates good model performance. As observed, MSE of data by the GWO-ESN model is significantly lower than that by other models, indicating excellent prediction performance of the GWO-ESN prediction model. Additionally, prediction accuracies of the PSO-ESN model and the ESN model are significantly higher than those of the BP neural network and the Elman network. Moreover, performances of the BP neural network model and the Elman network model are unstable and their prediction performances may surpass the ESN model and the PSO-ESN model in certain cases, but never the GWO-ESN prediction model.</p>
<table-wrap id="T2">
<label>Table 2</label>
<caption>
<p>Mean square error comparison.</p></caption>
<table>
<tr>
<th colspan="7"><hr/></th>
</tr>
<tr>
<th valign="top" align="left">Number</th>
<th valign="top" align="center">BP</th>
<th valign="top" align="center">Elman</th>
<th valign="top" align="center">ESN</th>
<th valign="top" align="center">RLS_ESN</th>
<th valign="top" align="center">PSO_ESN</th>
<th valign="top" align="center">GWO_ESN</th>
</tr>
<tr>
<td colspan="7"><hr/></td>
</tr>
<tr>
<td valign="top" align="left">1</td>
<td valign="top" align="right">0.0357</td>
<td valign="top" align="right">0.0164</td>
<td valign="top" align="right">0.0250</td>
<td valign="top" align="right">0.0303</td>
<td valign="top" align="right">0.0217</td>
<td valign="top" align="right">0.0019</td>
</tr>
<tr>
<td valign="top" align="left">2</td>
<td valign="top" align="right">0.0413</td>
<td valign="top" align="right">0.0058</td>
<td valign="top" align="right">0.0306</td>
<td valign="top" align="right">0.0224</td>
<td valign="top" align="right">0.0272</td>
<td valign="top" align="right">6.2226e&#8211;5</td>
</tr>
<tr>
<td valign="top" align="left">3</td>
<td valign="top" align="right">0.0240</td>
<td valign="top" align="right">0.0253</td>
<td valign="top" align="right">0.0221</td>
<td valign="top" align="right">0.0189</td>
<td valign="top" align="right">0.0189</td>
<td valign="top" align="right">0.0013</td>
</tr>
<tr>
<td valign="top" align="left">4</td>
<td valign="top" align="right">0.0464</td>
<td valign="top" align="right">0.1284</td>
<td valign="top" align="right">0.0207</td>
<td valign="top" align="right">0.1023</td>
<td valign="top" align="right">0.0266</td>
<td valign="top" align="right">3.84e&#8211;6</td>
</tr>
<tr>
<td valign="top" align="left">5</td>
<td valign="top" align="right">0.2834</td>
<td valign="top" align="right">0.0887</td>
<td valign="top" align="right">0.0086</td>
<td valign="top" align="right">0.0005</td>
<td valign="top" align="right">0.1241</td>
<td valign="top" align="right">1.6817e&#8211;6</td>
</tr>
<tr>
<td valign="top" align="left">6</td>
<td valign="top" align="right">0.0362</td>
<td valign="top" align="right">0.0214</td>
<td valign="top" align="right">0.0122</td>
<td valign="top" align="right">0.0056</td>
<td valign="top" align="right">0.0435</td>
<td valign="top" align="right">0.0011</td>
</tr>
<tr>
<td valign="top" align="left">7</td>
<td valign="top" align="right">0.0413</td>
<td valign="top" align="right">0.0326</td>
<td valign="top" align="right">0.0237</td>
<td valign="top" align="right">0.0147</td>
<td valign="top" align="right">0.1267</td>
<td valign="top" align="right">2.65e&#8211;4</td>
</tr>
<tr>
<td colspan="7"><hr/></td>
</tr>
</table>
</table-wrap>
<p>In summary, the proposed GWO_ESN model exhibited excellent prediction performance even at small training sample size and it is superior to other models in terms of prediction accuracy. Meanwhile, due to its superior structural stability, the ESN network structure shows advantages in prediction based on nonlinear data over the BP neural network model and the Elman network model. Additionally, involvement of the GWO algorithm makes the proposed model leads to enhanced overall performance in all cases compared to the BP neural network model and the Elman network model. Sufficient learning of fluctuating data avoids performance degradation induced by any individual parameter.</p>
</sec>
<sec>
<title>3.3.3. Experiment 3: Run time of each prediction model under different data sets</title>
<p>Table <xref ref-type="table" rid="T3">3</xref> shows the comparison of the running time of the six predictive models on different datasets. It can be seen from the table that the GWO_ESN predictive model has relatively few running times under seven different datasets, although in some datasets the model running time is not dominant compared to the BP, Elman, and ESN prediction models, but it can be seen from Table <xref ref-type="table" rid="T2">2</xref> that, in the case of ensuring higher prediction accuracy, the model has a relatively small running time compared to other optimization models.</p>
<table-wrap id="T3">
<label>Table 3</label>
<caption>
<p>Running time comparison(s).</p></caption>
<table>
<tr>
<th colspan="7"><hr/></th>
</tr>
<tr>
<th valign="top" align="left">Number</th>
<th valign="top" align="center">BP</th>
<th valign="top" align="center">Elman</th>
<th valign="top" align="center">ESN</th>
<th valign="top" align="center">RLS_ESN</th>
<th valign="top" align="center">PSO_ESN</th>
<th valign="top" align="center">GWO_ESN</th>
</tr>
<tr>
<td colspan="7"><hr/></td>
</tr>
<tr>
<td valign="top" align="left">1</td>
<td valign="top" align="right">5.0357</td>
<td valign="top" align="right">8.9908</td>
<td valign="top" align="right">3.1273</td>
<td valign="top" align="right">6.0547</td>
<td valign="top" align="right">240.4544</td>
<td valign="top" align="right">30.3024</td>
</tr>
<tr>
<td valign="top" align="left">2</td>
<td valign="top" align="right">4.1332</td>
<td valign="top" align="right">4.8048</td>
<td valign="top" align="right">2.0346</td>
<td valign="top" align="right">4.3509</td>
<td valign="top" align="right">80.0272</td>
<td valign="top" align="right">20.3445</td>
</tr>
<tr>
<td valign="top" align="left">3</td>
<td valign="top" align="right">3.0233</td>
<td valign="top" align="right">3.4559</td>
<td valign="top" align="right">0.2234</td>
<td valign="top" align="right">2.0465</td>
<td valign="top" align="right">100.3323</td>
<td valign="top" align="right">14.3445</td>
</tr>
<tr>
<td valign="top" align="left">4</td>
<td valign="top" align="right">2.1347</td>
<td valign="top" align="right">5.5456</td>
<td valign="top" align="right">0.4563</td>
<td valign="top" align="right">2.1342</td>
<td valign="top" align="right">90.2314</td>
<td valign="top" align="right">10.8436</td>
</tr>
<tr>
<td valign="top" align="left">5</td>
<td valign="top" align="right">3.4536</td>
<td valign="top" align="right">6.1877</td>
<td valign="top" align="right">1.1386</td>
<td valign="top" align="right">3.2432</td>
<td valign="top" align="right">130.3213</td>
<td valign="top" align="right">34.2564</td>
</tr>
<tr>
<td valign="top" align="left">6</td>
<td valign="top" align="right">4.5434</td>
<td valign="top" align="right">7.2331</td>
<td valign="top" align="right">2.0454</td>
<td valign="top" align="right">4.0989</td>
<td valign="top" align="right">205.4512</td>
<td valign="top" align="right">38.0921</td>
</tr>
<tr>
<td valign="top" align="left">7</td>
<td valign="top" align="right">4.6564</td>
<td valign="top" align="right">6.7789</td>
<td valign="top" align="right">1.8732</td>
<td valign="top" align="right">3.9807</td>
<td valign="top" align="right">180.3455</td>
<td valign="top" align="right">45.6733</td>
</tr>
<tr>
<td colspan="7"><hr/></td>
</tr>
</table>
</table-wrap>
</sec>
</sec>
</sec>
<sec>
<title>4. Conclusions</title>
<p>In this paper, we proposed a GWO_ESN time series prediction model in which W<sup>out</sup> of ESN is optimized using the Grey Wolf algorithm to solve difficult training issues in ESN induced by. Meanwhile, this model allows sufficient learning of fluctuating and nonlinear time series data. Compared with the PSO_ESN model, the RLS_ESN model, the ESN model, the BP neural network model, and the Elman network model, the proposed model exhibits advantage in prediction accuracy and reliability. In addition, parameters of the reserve pool in the ESN network in this experiment are mainly selected through empirical summary and multiple experimental results, and these parameters have certain influence on the experimental results, so find more suitable parameters to achieve better. The experimental effect is worthy of further study and discussion. Besides, performances of the proposed model for prediction of data distributions in other cases need to be verified.</p>
</sec>
</body>
<back>
<sec>
<title>Funding Information</title>
<p>This work was financially supported by the National Youth Science Foundation of China (No.61503272), the Scientific and technological project of Shanxi (No.201603D22103-2).</p>
</sec>
<sec>
<title>Competing Interests</title>
<p>The authors have no competing interests to declare.</p>
</sec>
<ref-list>
<ref id="B1"><label>1</label><mixed-citation publication-type="journal"><string-name><surname>Chandra</surname>, <given-names>R</given-names></string-name>. <year>2015</year>. <article-title>Competition and Collaboration in Cooperative Coevolution of Elman Recurrent Neural Networks for Time-Series Prediction</article-title>. <source>IEEE Transactions on Neural Networks &amp; Learning Systems</source>, <volume>26</volume>(<issue>12</issue>): <fpage>3123</fpage>. DOI: <pub-id pub-id-type="doi">10.1109/TNNLS.2015.2404823</pub-id></mixed-citation></ref>
<ref id="B2"><label>2</label><mixed-citation publication-type="journal"><string-name><surname>Chen</surname>, <given-names>C</given-names></string-name>, <string-name><surname>Twycross</surname>, <given-names>J</given-names></string-name> and <string-name><surname>Garibaldi</surname>, <given-names>J</given-names></string-name>. <year>2017</year>. <article-title>A new accuracy measure based on bounded relative error for time series forecasting</article-title>. <source>Plos One</source>, <volume>12</volume>(<issue>3</issue>): <fpage>1</fpage>&#8211;<lpage>23</lpage>. DOI: <pub-id pub-id-type="doi">10.1371/journal.pone.0174202</pub-id></mixed-citation></ref>
<ref id="B3"><label>3</label><mixed-citation publication-type="journal"><string-name><surname>Chouikhi</surname>, <given-names>N</given-names></string-name>, <string-name><surname>Ammar</surname>, <given-names>B</given-names></string-name>, <string-name><surname>Rokbani</surname>, <given-names>N</given-names></string-name> and <string-name><surname>Alimi</surname>, <given-names>AM</given-names></string-name>. <year>2017</year>. <article-title>PSO-based analysis of Echo State Network parameters for time series forecasting</article-title>. <source>Applied Soft Computing</source>, <volume>55</volume>: <fpage>211</fpage>&#8211;<lpage>225</lpage>. DOI: <pub-id pub-id-type="doi">10.1016/j.asoc.2017.01.049</pub-id></mixed-citation></ref>
<ref id="B4"><label>4</label><mixed-citation publication-type="journal"><string-name><surname>Egrioglu</surname>, <given-names>E</given-names></string-name>, <string-name><surname>Yolcu</surname>, <given-names>U</given-names></string-name>, <string-name><surname>Aladag</surname>, <given-names>CH</given-names></string-name> and <string-name><surname>Bas</surname>, <given-names>E</given-names></string-name>. <year>2015</year>. <article-title>Recurrent multiplicative neuron model artificial neural network for non-linear time series forecasting</article-title>. <source>Neural Processing Letters</source>, <volume>41</volume>(<issue>2</issue>): <fpage>249</fpage>&#8211;<lpage>258</lpage>. DOI: <pub-id pub-id-type="doi">10.1007/s11063-014-9342-0</pub-id></mixed-citation></ref>
<ref id="B5"><label>5</label><mixed-citation publication-type="journal"><string-name><surname>Han</surname>, <given-names>M</given-names></string-name> and <string-name><surname>Mu</surname>, <given-names>DY</given-names></string-name>. <year>2011</year>. <article-title>LM algorithm in echo state network for chaotic time series prediction</article-title>. <source>Control &amp; Decision</source>, <volume>26</volume>(<issue>10</issue>): <fpage>1469</fpage>&#8211;<lpage>1472</lpage>.</mixed-citation></ref>
<ref id="B6"><label>6</label><mixed-citation publication-type="journal"><string-name><surname>Huang</surname>, <given-names>MW</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>CW</given-names></string-name>, <string-name><surname>Lin</surname>, <given-names>WC</given-names></string-name>, <string-name><surname>Ke</surname>, <given-names>SW</given-names></string-name> and <string-name><surname>Tsai</surname>, <given-names>CF</given-names></string-name>. <year>2017</year>. <article-title>SVM and SVM ensembles in breast cancer prediction</article-title>. <source>Plos One</source>, <volume>12</volume>(<issue>1</issue>): <elocation-id>e0161501</elocation-id>. DOI: <pub-id pub-id-type="doi">10.1371/journal.pone.0161501</pub-id></mixed-citation></ref>
<ref id="B7"><label>7</label><mixed-citation publication-type="journal"><string-name><surname>Jaramillo</surname>, <given-names>J</given-names></string-name>, <string-name><surname>Velasquez</surname>, <given-names>JD</given-names></string-name> and <string-name><surname>Franco</surname>, <given-names>CJ</given-names></string-name>. <year>2017</year>. <article-title>Research in financial time series forecasting with SVM: Contributions from literature</article-title>. <source>IEEE Latin America Transactions</source>, <volume>15</volume>(<issue>1</issue>): <fpage>145</fpage>&#8211;<lpage>153</lpage>. DOI: <pub-id pub-id-type="doi">10.1109/TLA.2017.7827918</pub-id></mixed-citation></ref>
<ref id="B8"><label>8</label><mixed-citation publication-type="journal"><string-name><surname>Jiang</surname>, <given-names>P</given-names></string-name>, <string-name><surname>Dong</surname>, <given-names>Q</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>P</given-names></string-name> and <string-name><surname>Lian</surname>, <given-names>L</given-names></string-name>. <year>2017</year>. <article-title>A novel high-order weighted fuzzy time series model and its application in nonlinear time series prediction</article-title>. <source>Applied Soft Computing</source>, <volume>55</volume>: <fpage>44</fpage>&#8211;<lpage>62</lpage>. DOI: <pub-id pub-id-type="doi">10.1016/j.asoc.2017.01.043</pub-id></mixed-citation></ref>
<ref id="B9"><label>9</label><mixed-citation publication-type="journal"><string-name><surname>Li</surname>, <given-names>D</given-names></string-name>, <string-name><surname>Han</surname>, <given-names>M</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>J</given-names></string-name>. <year>2012</year>. <article-title>Chaotic time series prediction based on a novel robust echo state network</article-title>. <source>IEEE Trans Neural Netw Learn Syst</source>, <volume>23</volume>(<issue>5</issue>): <fpage>787</fpage>&#8211;<lpage>799</lpage>. DOI: <pub-id pub-id-type="doi">10.1109/TNNLS.2012.2188414</pub-id></mixed-citation></ref>
<ref id="B10"><label>10</label><mixed-citation publication-type="journal"><string-name><surname>Liang</surname>, <given-names>Y</given-names></string-name>, <string-name><surname>Qiu</surname>, <given-names>L</given-names></string-name>, <string-name><surname>Zhu</surname>, <given-names>J</given-names></string-name> and <string-name><surname>Pan</surname>, <given-names>J</given-names></string-name>. <year>2017</year>. <article-title>A Digester Temperature Prediction Model Based on the Elman Neural Network</article-title>. <source>Applied Engineering in Agriculture</source>, <volume>33</volume>(<issue>2</issue>): <fpage>142</fpage>&#8211;<lpage>148</lpage>. DOI: <pub-id pub-id-type="doi">10.13031/aea.11157</pub-id></mixed-citation></ref>
<ref id="B11"><label>11</label><mixed-citation publication-type="book"><string-name><surname>Liu</surname>, <given-names>C</given-names></string-name>, <string-name><surname>Hoi</surname>, <given-names>SCH</given-names></string-name>, <string-name><surname>Zhao</surname>, <given-names>P</given-names></string-name> and <string-name><surname>Sun</surname>, <given-names>J</given-names></string-name>. <year>2016</year>. <chapter-title>Online arima algorithms for time series prediction</chapter-title>. In: <source>Thirtieth AAAI Conference on Artificial Intelligence</source>. <publisher-name>AAAI Press</publisher-name>, <fpage>1867</fpage>&#8211;<lpage>1873</lpage>.</mixed-citation></ref>
<ref id="B12"><label>12</label><mixed-citation publication-type="journal"><string-name><surname>Lun</surname>, <given-names>SX</given-names></string-name>, <string-name><surname>Yao</surname>, <given-names>XS</given-names></string-name>, <string-name><surname>Qi</surname>, <given-names>HY</given-names></string-name> and <string-name><surname>Hu</surname>, <given-names>HF</given-names></string-name>. <year>2015</year>. <article-title>A novel model of leaky integrator echo state network for time-series prediction</article-title>. <source>Neurocomputing</source>, <volume>159</volume>(<issue>1</issue>): <fpage>58</fpage>&#8211;<lpage>66</lpage>. DOI: <pub-id pub-id-type="doi">10.1016/j.neucom.2015.02.029</pub-id></mixed-citation></ref>
<ref id="B13"><label>13</label><mixed-citation publication-type="journal"><string-name><surname>Misaghi</surname>, <given-names>S</given-names></string-name> and <string-name><surname>Sheijani</surname>, <given-names>OS</given-names></string-name>. <year>2017</year>. <article-title>A hybrid model based on support vector regression and modified harmony search algorithm in time series prediction</article-title>. In: <source>2017 5th Iranian Joint Congress on Fuzzy and Intelligent Systems (CFIS). IEEE</source>, <fpage>54</fpage>&#8211;<lpage>60</lpage>. DOI: <pub-id pub-id-type="doi">10.1109/CFIS.2017.8003657</pub-id></mixed-citation></ref>
<ref id="B14"><label>14</label><mixed-citation publication-type="journal"><string-name><surname>Nieto</surname>, <given-names>PJG</given-names></string-name>, <string-name><surname>Garc&#237;a-Gonzalo</surname>, <given-names>E</given-names></string-name>, <string-name><surname>Fern&#225;ndez</surname>, <given-names>JRA</given-names></string-name> and <string-name><surname>Mu&#241;iz</surname>, <given-names>CD</given-names></string-name>. <year>2017</year>. <article-title>A hybrid wavelet kernel SVM-based method using artificial bee colony algorithm for predicting the cyanotoxin content from experimental cyanobacteria concentrations in the Trasona reservoir (Northern Spain)</article-title>. <source>Journal of Computational &amp; Applied Mathematics</source>, <volume>309</volume>(<issue>1</issue>): <fpage>587</fpage>&#8211;<lpage>602</lpage>. DOI: <pub-id pub-id-type="doi">10.1016/j.cam.2016.01.045</pub-id></mixed-citation></ref>
<ref id="B15"><label>15</label><mixed-citation publication-type="journal"><string-name><surname>Qiao</surname>, <given-names>J</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>R</given-names></string-name>, <string-name><surname>Chai</surname>, <given-names>W</given-names></string-name> and <string-name><surname>Han</surname>, <given-names>HJ</given-names></string-name>. <year>2016</year>. <article-title>Prediction of BOD based on PSO-ESN neural network</article-title>. <source>Control Engineering</source>, <volume>23</volume>(<issue>4</issue>): <fpage>463</fpage>&#8211;<lpage>467</lpage>. DOI: <pub-id pub-id-type="doi">10.15407/fm23.03.463</pub-id></mixed-citation></ref>
<ref id="B16"><label>16</label><mixed-citation publication-type="journal"><string-name><surname>Qin</surname>, <given-names>Y</given-names></string-name>, <string-name><surname>Song</surname>, <given-names>D</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>H</given-names></string-name>, <string-name><surname>Cheng</surname>, <given-names>W</given-names></string-name>, <string-name><surname>Jiang</surname>, <given-names>G</given-names></string-name> and <string-name><surname>Cottrell</surname>, <given-names>GJ</given-names></string-name>. <year>2017</year>. <article-title>A dual-stage attention-based recurrent neural network for time series prediction</article-title>. <source>International Joint Conferences on Artificial Intelligence Organization</source>, <fpage>2627</fpage>&#8211;<lpage>2633</lpage>. DOI: <pub-id pub-id-type="doi">10.24963/ijcai.2017/366</pub-id></mixed-citation></ref>
<ref id="B17"><label>17</label><mixed-citation publication-type="journal"><string-name><surname>Ren</surname>, <given-names>T</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>S</given-names></string-name>, <string-name><surname>Yan</surname>, <given-names>G</given-names></string-name> and <string-name><surname>Mu</surname>, <given-names>HJ</given-names></string-name>. <year>2016</year>. <article-title>Temperature prediction of the molten salt collector tube using BP neural network</article-title>. <source>IET Renewable Power Generation</source>, <volume>10</volume>(<issue>2</issue>): <fpage>212</fpage>&#8211;<lpage>220</lpage>. DOI: <pub-id pub-id-type="doi">10.1049/iet-rpg.2015.0065</pub-id></mixed-citation></ref>
<ref id="B18"><label>18</label><mixed-citation publication-type="book"><string-name><surname>Rezaei</surname>, <given-names>H</given-names></string-name>, <string-name><surname>Bozorg-Haddad</surname>, <given-names>O</given-names></string-name> and <string-name><surname>Chu</surname>, <given-names>X</given-names></string-name>. <year>2018</year>. <chapter-title>Grey Wolf Optimization (GWO) Algorithm</chapter-title>. In <source>Advanced Optimization by Nature-Inspired Algorithms</source>. <publisher-name>Springer</publisher-name>. <fpage>81</fpage>&#8211;<lpage>91</lpage>. DOI: <pub-id pub-id-type="doi">10.1007/978-981-10-5221-7_9</pub-id></mixed-citation></ref>
<ref id="B19"><label>19</label><mixed-citation publication-type="journal"><string-name><surname>Rojas</surname>, <given-names>I</given-names></string-name> and <string-name><surname>Pomares</surname>, <given-names>H</given-names></string-name>. <year>2016</year>. <article-title>Time Series Analysis and Forecasting</article-title>. <source>Contributions to Statistics</source>, <volume>43</volume>(<issue>5</issue>): <fpage>175</fpage>&#8211;<lpage>197</lpage>. DOI: <pub-id pub-id-type="doi">10.1007/978-3-319-28725-6</pub-id></mixed-citation></ref>
<ref id="B20"><label>20</label><mixed-citation publication-type="confproc"><string-name><surname>Sacchi</surname>, <given-names>R</given-names></string-name>, <string-name><surname>Ozturk</surname>, <given-names>MC</given-names></string-name>, <string-name><surname>Principe</surname>, <given-names>JC</given-names></string-name> and <string-name><surname>Carneiro</surname>, <given-names>AAFM</given-names></string-name>. <year>2007</year>. <article-title>Water Inflow Forecasting using the Echo State Network: a Brazilian Case Study</article-title>. In: <conf-name>International Joint Conference on Neural Networks</conf-name>. DOI: <pub-id pub-id-type="doi">10.1109/IJCNN.2007.4371334</pub-id></mixed-citation></ref>
<ref id="B21"><label>21</label><mixed-citation publication-type="journal"><string-name><surname>Saremi</surname>, <given-names>S</given-names></string-name>, <string-name><surname>Mirjalili</surname>, <given-names>SZ</given-names></string-name>, <string-name><surname>Mirjalili</surname>, <given-names>SM</given-names></string-name>. <year>2015</year>. <article-title>Evolutionary population dynamics and grey wolf optimizer</article-title>. <source>Neural Computing and Applications</source>, <volume>26</volume>(<issue>5</issue>): <fpage>1257</fpage>&#8211;<lpage>1263</lpage>. DOI: <pub-id pub-id-type="doi">10.1007/s00521-014-1806-7</pub-id></mixed-citation></ref>
<ref id="B22"><label>22</label><mixed-citation publication-type="journal"><string-name><surname>Wen</surname>, <given-names>L</given-names></string-name>, <string-name><surname>Liang</surname>, <given-names>XM</given-names></string-name>, <string-name><surname>Long</surname>, <given-names>ZQ</given-names></string-name>, <string-name><surname>Qin</surname>, <given-names>HY</given-names></string-name>. <year>2012</year>. <article-title>RBF neural network time series forecasting based on hybrid evolutionary algorithm</article-title>. <source>Control &amp; Decision</source>, <volume>27</volume>(<issue>8</issue>): <fpage>1265</fpage>&#8211;<lpage>1268+1272</lpage>.</mixed-citation></ref>
<ref id="B23"><label>23</label><mixed-citation publication-type="journal"><string-name><surname>Xiao</surname>, <given-names>Q</given-names></string-name>, <string-name><surname>Chu</surname>, <given-names>C</given-names></string-name>, <string-name><surname>Zhao</surname>, <given-names>L</given-names></string-name>. <year>2017</year>. <article-title>Time series prediction using dynamic Bayesian network</article-title>. <source>Optik International Journal for Light and Electron Optics</source>, <volume>135</volume>: <fpage>98</fpage>&#8211;<lpage>103</lpage>. DOI: <pub-id pub-id-type="doi">10.1016/j.ijleo.2017.01.073</pub-id></mixed-citation></ref>
<ref id="B24"><label>24</label><mixed-citation publication-type="journal"><string-name><surname>Yaseen</surname>, <given-names>ZM</given-names></string-name>, <string-name><surname>Allawi</surname>, <given-names>MF</given-names></string-name>, <string-name><surname>Yousif</surname>, <given-names>AA</given-names></string-name>, <string-name><surname>Jaafar</surname>, <given-names>O</given-names></string-name>, <string-name><surname>Hamzah</surname>, <given-names>FM</given-names></string-name>, <string-name><surname>El-Shafie</surname>, <given-names>A</given-names></string-name>. <year>2016</year>. <article-title>Non-tuned machine learning approach for hydrological time series forecasting</article-title>. <source>Neural Computing &amp; Applications</source>, <fpage>1</fpage>&#8211;<lpage>13</lpage>.</mixed-citation></ref>
<ref id="B25"><label>25</label><mixed-citation publication-type="journal"><string-name><surname>Zhai</surname>, <given-names>J</given-names></string-name> and <string-name><surname>Cao</surname>, <given-names>J</given-names></string-name>. <year>2016</year>. <article-title>The combined prediction model based on time series ARIMA and BP neural network</article-title>. <source>Statistics and Decision</source>, <volume>3</volume>(<issue>4</issue>): <fpage>29</fpage>&#8211;<lpage>32</lpage>.</mixed-citation></ref>
<ref id="B26"><label>26</label><mixed-citation publication-type="confproc"><string-name><surname>Zhang</surname>, <given-names>Y</given-names></string-name>, <string-name><surname>Yu</surname>, <given-names>D</given-names></string-name>, <string-name><surname>Seltzer</surname>, <given-names>ML</given-names></string-name> and <string-name><surname>Droppo</surname>, <given-names>J</given-names></string-name>. <year>2015</year>. <article-title>Speech recognition with prediction-adaptation-correction recurrent neural networks</article-title>. In: <conf-name>2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE</conf-name>. <fpage>5004</fpage>&#8211;<lpage>5008</lpage>. DOI: <pub-id pub-id-type="doi">10.1109/ICASSP.2015.7178923</pub-id></mixed-citation></ref>
<ref id="B27"><label>27</label><mixed-citation publication-type="journal"><string-name><surname>Zhong</surname>, <given-names>S</given-names></string-name>, <string-name><surname>Xie</surname>, <given-names>X</given-names></string-name>, <string-name><surname>Lin</surname>, <given-names>L</given-names></string-name> and <string-name><surname>Wang</surname>, <given-names>F</given-names></string-name>. <year>2017</year>. <article-title>Genetic algorithm optimized double-reservoir echo state network for multi-regime time series prediction</article-title>. <source>Neurocomputing</source>, <volume>238</volume>: <fpage>191</fpage>&#8211;<lpage>204</lpage>. DOI: <pub-id pub-id-type="doi">10.1016/j.neucom.2017.01.053</pub-id></mixed-citation></ref>
</ref-list>
</back>
</article>