<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Environ. Sci.</journal-id>
<journal-title>Frontiers in Environmental Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Environ. Sci.</abbrev-journal-title>
<issn pub-type="epub">2296-665X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">873939</article-id>
<article-id pub-id-type="doi">10.3389/fenvs.2022.873939</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Environmental Science</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Multivariate Adaptive Step Fruit Fly Optimization Algorithm Optimized Generalized Regression Neural Network for Short-Term Power Load Forecasting</article-title>
<alt-title alt-title-type="left-running-head">Jiang et al.</alt-title>
<alt-title alt-title-type="right-running-head">MAFOA-GRNN for Power Load Forecasting</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Jiang</surname>
<given-names>Feng</given-names>
</name>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1652141/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Wenya</given-names>
</name>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Peng</surname>
<given-names>Zijun</given-names>
</name>
</contrib>
</contrib-group>
<aff>
<institution>School of Statistics and Mathematics</institution>, <institution>Zhongnan University of Economics and Law</institution>, <addr-line>Wuhan</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1336020/overview">Wendong Yang</ext-link>, Shandong University of Finance and Economics, China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1544751/overview">Shiping Wen</ext-link>, University of Technology Sydney, Australia</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1680123/overview">Huabin Chen</ext-link>, Nanchang University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Feng Jiang, <email>fjiang@zuel.edu.cn</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Environmental Economics and Management, a section of the journal Frontiers in Environmental Science</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>25</day>
<month>03</month>
<year>2022</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>10</volume>
<elocation-id>873939</elocation-id>
<history>
<date date-type="received">
<day>11</day>
<month>02</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>07</day>
<month>03</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2022 Jiang, Zhang and Peng.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Jiang, Zhang and Peng</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Short-term load forecasting plays a significant role in the management of power plants. In this paper, we propose a multivariate adaptive step fruit fly optimization algorithm (MAFOA) to optimize the smoothing parameter of the generalized regression neural network (GRNN) in the short-term power load forecasting. In addition, due to the substantial impact of some external factors including temperature, weather types, and date types on the short-term power load, we take these factors into account and propose an efficient interval partition technique to handle the unstructured data. To verify the performance of MAFOA-GRNN, the power load data are used for empirical analysis in Wuhan City, China. The empirical results demonstrate that the forecasting accuracy of the MAFOA applied to the GRNN outperforms the benchmark methods.</p>
</abstract>
<kwd-group>
<kwd>power load</kwd>
<kwd>multivariate adaptive step</kwd>
<kwd>fruit fly optimization algorithm</kwd>
<kwd>generalized regression neural network</kwd>
<kwd>forecasting</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>Introduction</title>
<p>It is well known that the role of short-term power load forecasting is increasingly crucial in the management of power plants. Short-term power load forecasting mainly refers to electric load forecasting in the next few hours, 1&#xa0;day to several days. Accurate short-term power load forecasting can reasonably arrange the operation of units, ensure the safety of operation of the power grids, and improve the economic benefits of power enterprises (<xref ref-type="bibr" rid="B9">Friedrich and Afshari, 2015</xref>; <xref ref-type="bibr" rid="B8">Dudek, 2016</xref>). On the contrary, inaccurate forecasts will produce unnecessary electricity and result in considerable electrical power system losses (<xref ref-type="bibr" rid="B34">Yang et al., 2017</xref>). <xref ref-type="bibr" rid="B11">Hobbs et al. (1999)</xref> pointed that the reduction of 1% in load forecasting error of 10,000&#xa0;MW utility can save up to $1.6 million annually. So, it is of vital importance to achieve high accuracy for short-term power load forecasting nowadays.</p>
<p>With the development of computer technology, the theory of artificial neural networks (ANNs) has been applied in a wide range of fields such as power market, system engineering, and control system (<xref ref-type="bibr" rid="B13">Jiang et al., 2014</xref>; <xref ref-type="bibr" rid="B19">Liu et al., 2018</xref>; <xref ref-type="bibr" rid="B7">Du et al., 2019</xref>; <xref ref-type="bibr" rid="B35">Yang et al., 2022</xref>). The forecast of power load considers not only the load but also the factors that affect the load, so the use of ANNs has been highly concerned by researchers. For example, <xref ref-type="bibr" rid="B33">Xuan et al. (2021)</xref> combined the convolutional neural network (CNN) and bidirectional gated recurrent unit (Bi-GRU) to forecast the short-term load. In the meantime, the random forest was used to select features. The final result showed that this hybrid method had a higher accuracy. <xref ref-type="bibr" rid="B32">Wang et al. (2020)</xref> applied an extreme learning machine model to electricity price forecasting, as well as considering the influence of outliers. The Elman neural network (ENN) model was also used to forecast the electrical power system (<xref ref-type="bibr" rid="B39">Zhen Wang et al., 2018</xref>). <xref ref-type="bibr" rid="B1">Abedinia and Amjady (2016)</xref> presented a new stochastic search algorithm to find the optimum number of neurons for the hidden layer, and they used the proposed method to predict the power load. They compared the obtained results with those of several other recently published methods, and it confirmed the validity of the developed approach. <xref ref-type="bibr" rid="B20">Lu et al. (2016)</xref> used the weighted fuzzy C-means clustering algorithm based on principal component analysis to determine the basis function centers, and they used the gradient descent algorithm to train the output layer weights. The proposed model was implemented on real smart meter data, and simulation results showed that the proposed method had good forecasting accuracy. <xref ref-type="bibr" rid="B6">Ding et al. (2016)</xref> applied variable selection and model selection to power load forecast to ensure an optimal generalization capacity of the neural network model, and the results showed that the neural network&#x2013;based models outperform the time series models.</p>
<p>The generalized regression neural network (GRNN) is a type of ANNs based on mathematical statistics, proposed by <xref ref-type="bibr" rid="B28">Specht (1991)</xref>. Instead of listing the equations in advance, the network uses a probability density function to predict the output. Therefore, the GRNN has strong non-linear mapping capability and quick learning speed, which is better than the radial basis function neural network. In addition, even if the number of input training samples is small, its output can converge to the optimal value, which is very suitable for solving the problem of non-linearity (<xref ref-type="bibr" rid="B14">Jiang and Chen, 2016</xref>; <xref ref-type="bibr" rid="B41">Zhu et al., 2018</xref>). It has been applied in a wide range of fields such as prediction of wind speed (<xref ref-type="bibr" rid="B17">Kumar and Malik, 2016</xref>), two-dimensional spectral images (<xref ref-type="bibr" rid="B16">Jianzhou Wang et al., 2018</xref>), automated emotion detection systems (<xref ref-type="bibr" rid="B30">Talele et al., 2016</xref>), short-term load forecasting (<xref ref-type="bibr" rid="B12">Hu et al., 2017</xref>), mineral resource estimation (<xref ref-type="bibr" rid="B4">Das Goswami et al., 2017</xref>), and the estimation of peak outflow (<xref ref-type="bibr" rid="B27">Sammen et al., 2017</xref>). The optimization of smoothing parameter is a crucial step in the application of GRNN. There are a few ways to estimate its value. For example, <xref ref-type="bibr" rid="B2">Agarkar et al. (2016)</xref> applied particle swarm optimization (PSO) to the smoothing parameter of GRNN, which reduced the time complexity and produced more accurate results than random selection of spread factor. <xref ref-type="bibr" rid="B10">Gao and Chen (2015)</xref> presented an improved GRNN algorithm, using phase space reconstruction to strike GRNN training samples, applying adaptive PSO algorithm to optimize the smoothing parameter. <xref ref-type="bibr" rid="B38">Zhao et al. (2020)</xref> applied PSO-GRNN for risk prediction of urban logistics and found that the model can handle the high-frequency influencing factors well. The result showed that PSO-GRNN can better improve the accuracy of prediction than others.</p>
<p>Recently, <xref ref-type="bibr" rid="B25">Pan (2012)</xref> proposed a fruit fly optimization algorithm (FOA) to optimize the financial distress model, which was based on the foraging behavior of fruit flies. This algorithm has been effectively applied in a few fields including the dual-resource constrained flexible job-shop scheduling problem (<xref ref-type="bibr" rid="B40">Zheng and Wang, 2016</xref>), monthly electricity consumption forecasting (<xref ref-type="bibr" rid="B15">Jiang et al., 2020</xref>), multidimensional knapsack problem (<xref ref-type="bibr" rid="B21">Meng and Pan, 2017</xref>), seasonal electricity consumption forecasting (<xref ref-type="bibr" rid="B3">Cao and Wu, 2016</xref>), joint replenishment problems (<xref ref-type="bibr" rid="B31">Wang et al., 2015</xref>), steelmaking casting problem (<xref ref-type="bibr" rid="B18">Li et al., 2018</xref>), and optimization of support vector regression (<xref ref-type="bibr" rid="B26">Samadianfard et al., 2019</xref>; <xref ref-type="bibr" rid="B37">Zhang and Hong, 2019</xref>; <xref ref-type="bibr" rid="B29">Sattari et al., 2021</xref>). With the extensive applications of FOA, more and more scholars studied the optimization of this algorithm. <xref ref-type="bibr" rid="B12">Hu et al. (2017)</xref> changed the step length of the fruit fly from a constant to a decrement sequence to improve the optimization abilities of FOA, and the empirical results showed that the performance of the proposed algorithm was improved. <xref ref-type="bibr" rid="B24">Pan et al. (2014)</xref> introduced a new control parameter that adaptively adjusted the range of search space around the location of the cluster, and the accuracy and convergence speed were improved.</p>
<p>In this paper, we propose a multivariate adaptive step fruit fly optimization algorithm (MAFOA) to optimize the smoothing parameter of GRNN for short-term load forecasting. We make three contributions as follows. Firstly, we consider factors that affect the power load as much as possible, such as temperature, weather type, and date type. Secondly, we propose an efficient interval partition technique to handle the structured and unstructured data. Finally, we improve the selection of step size, which has a multivariate adaptive step and can achieve high adaptability.</p>
<p>The remainder of this paper is organized as follows. FOA and its improvement are presented in <italic>The Improvement of Fruit Fly Optimization Algorithm</italic>. <italic>Improvement of Generalized Regression Neural Network</italic> shows the MAFOA-optimized GRNN for short-term load forecasting. We carry out the empirical analysis and compare the proposed model with other models in <italic>Empirical Analysis</italic>. Finally, the summary of this study is drawn in <italic>Conclusion</italic>.</p>
</sec>
<sec id="s2">
<title>The Improvement of Fruit Fly Optimization Algorithm</title>
<p>Considering the problems of local optimum in the ordinary FOA, we propose the MAFOA to optimize the smoothing parameter of GRNN. In this section, we first briefly introduce the ordinary FOA in <italic>Fruit Fly Optimization Algorithm</italic>, and then we propose the MAFOA in <italic>Multivariate Adaptive Step Fruit Fly Algorithm</italic>.</p>
<sec id="s2-1">
<title>Fruit Fly Optimization Algorithm</title>
<p>Fruit fly is a kind of flying insect, which is very sensitive to the external environment because of its superior olfactory and vision. Firstly, the olfactory organ is used to obtain the odor floating in the air. Then, it will distinguish the general direction of the food source and fly to the source of food. Finally, the fruit fly can discover the position of food by its keen vision, and then fly to the position. The process of searching food for the fruit flies can be simulated as follows (<xref ref-type="bibr" rid="B22">Miti&#x107; et al., 2015</xref>):<list list-type="simple">
<list-item>
<p>1) Randomly initialize the population size, maximal number of iterations, and position coordinates <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> of the group in a set interval.</p>
</list-item>
<list-item>
<p>2) Choose the search radius of the fruit fly. Then, determine the new position coordinates <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> of individual fruit fly by using</p>
</list-item>
</list>
<disp-formula id="e1">
<mml:math id="m3">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1,1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1,1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where <inline-formula id="inf3">
<mml:math id="m4">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a fixed step size and <inline-formula id="inf4">
<mml:math id="m5">
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1,1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is a sample of uniform distribution on <inline-formula id="inf5">
<mml:math id="m6">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1,1</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.<list list-type="simple">
<list-item>
<p>3) Estimate the distance <inline-formula id="inf6">
<mml:math id="m7">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> between the individual fruit fly and the coordinate origin and then calculate the judgment value <inline-formula id="inf7">
<mml:math id="m8">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> of smell concentration:</p>
</list-item>
</list>
<disp-formula id="e2">
<mml:math id="m9">
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(2)</label>
</disp-formula>
<disp-formula id="e3">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(3)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>4) Calculate the smell concentration <inline-formula id="inf8">
<mml:math id="m11">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> by substituting <inline-formula id="inf9">
<mml:math id="m12">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> into the fitness function <inline-formula id="inf10">
<mml:math id="m13">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>f</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> of the taste concentration:</p>
</list-item>
</list>
<disp-formula id="e4">
<mml:math id="m14">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(4)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>5) Find out the best smell concentration <inline-formula id="inf11">
<mml:math id="m15">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> among the fruit fly swarm:</p>
</list-item>
</list>
<disp-formula id="e5">
<mml:math id="m16">
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(5)</label>
</disp-formula>where <inline-formula id="inf12">
<mml:math id="m17">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the extreme value of <inline-formula id="inf13">
<mml:math id="m18">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf14">
<mml:math id="m19">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the position coordinate of the individual fruit fly with best smell concentration.<list list-type="simple">
<list-item>
<p>6) Determine whether the smell concentration is better than the previous one. If yes, implement step 7; otherwise, repeat the process from step 2 to step 6.</p>
</list-item>
<list-item>
<p>7) Retain the best smell concentration value <inline-formula id="inf15">
<mml:math id="m20">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and the position coordinate of the individual fruit fly with the best smell concentration <inline-formula id="inf16">
<mml:math id="m21">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>:</p>
</list-item>
</list>
<disp-formula id="e6">
<mml:math id="m22">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(6)</label>
</disp-formula>
<disp-formula id="e7">
<mml:math id="m23">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
<list list-type="simple">
<list-item>
<p>8) Determine whether the end condition is reached. If yes, find out the location of the best smell concentration value; otherwise, return to step 2.</p>
</list-item>
</list>
</p>
</sec>
<sec id="s2-2">
<title>Multivariate Adaptive Step Fruit Fly Algorithm</title>
<p>In the ordinary FOA, the individual fruit fly seeks the food source with the pre-set step size. Obviously, if the step size is too small, the search space will be limited, and it will cause the problem of local optimum. On the contrary, if the step size is too large, its local search ability will become weaker, and the convergence rate will slow down. To deal with these issues, the setting of step size should adhere to the following principles. In the initial phase of iterations, the step size should be large to ensure global optimization performance. On the contrary, in the later stage, the step size should be small to ensure local search performance.</p>
<p>Therefore, there are a few successful algorithms for the improvement of step size of fruit flies, such as the decreasing step fruit fly optimization algorithm (DSFOA) (<xref ref-type="bibr" rid="B12">Hu et al., 2017</xref>), self-adaptive step fruit fly optimization algorithm (FFOA) (<xref ref-type="bibr" rid="B36">Yu et al., 2016</xref>), and improved fruit fly optimization algorithm (IFFO) (<xref ref-type="bibr" rid="B24">Pan et al., 2014</xref>). In the DSFOA and IFFO, the step size decreased quickly in the initial phase of iteration, which cannot guarantee the global optimization performance of the algorithm. In this paper, we propose the multivariate adaptive step size, which can be demonstrated as follows:<disp-formula id="e8">
<mml:math id="m24">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>exp</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>N</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(8)</label>
</disp-formula>where <inline-formula id="inf17">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the initial step size, <inline-formula id="inf18">
<mml:math id="m26">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the current number of iterations, <inline-formula id="inf19">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the maximum number of iterations, <inline-formula id="inf20">
<mml:math id="m28">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> is a positive integer, and the exponential factor <inline-formula id="inf21">
<mml:math id="m29">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula> is a constant within <inline-formula id="inf22">
<mml:math id="m30">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>0,10</mml:mn>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. The positive integer <inline-formula id="inf23">
<mml:math id="m31">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> and the exponential factor <inline-formula id="inf24">
<mml:math id="m32">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula> control the decreasing rate of step size and realize the better local search performance. In order to choose proper values of <inline-formula id="inf25">
<mml:math id="m33">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> and <inline-formula id="inf26">
<mml:math id="m34">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula>, the convergence ability of algorithm under different parameter values is compared. The initial step size <inline-formula id="inf27">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is set to 20, and the maximum number of iterations <inline-formula id="inf28">
<mml:math id="m36">
<mml:mrow>
<mml:msub>
<mml:mi>G</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is set to 100. <xref ref-type="fig" rid="F1">Figure 1</xref> gives the variations of step size in <xref ref-type="disp-formula" rid="e8">Eq. 8</xref> corresponding to different values of <inline-formula id="inf29">
<mml:math id="m37">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula> when <inline-formula id="inf30">
<mml:math id="m38">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>10</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>15</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf31">
<mml:math id="m39">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>25</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, respectively.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Multivariate adaptive step size corresponding to different values of <italic>N</italic> and <inline-formula id="inf32">
<mml:math id="m40">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula>: <bold>(A)</bold> <italic>N</italic> &#x3d; 10, <bold>(B)</bold> <italic>N</italic> &#x3d; 15, <bold>(C)</bold> <italic>N</italic> &#x3d; 20, and <bold>(D)</bold> <italic>N</italic> &#x3d; 25.</p>
</caption>
<graphic xlink:href="fenvs-10-873939-g001.tif"/>
</fig>
<p>As shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, the step size decreases gradually from 20 to 0 with the increasing iteration number and different values of <inline-formula id="inf33">
<mml:math id="m41">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula> correspond to different step size change trends. In the initial stage of iterations, the algorithm has the largest step size, which can guarantee the global optimum. As the iteration number increases, the capability of local search is gradually enhanced to find the local optimum value, which can be seen from the rapid decline in the curves. Therefore, the dynamic step size can realize the balance of global search capability and local optimization ability.</p>
<p>Besides, from the subfigures in <xref ref-type="fig" rid="F1">Figure 1</xref>, the step size changes relatively symmetrical when <inline-formula id="inf34">
<mml:math id="m42">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf35">
<mml:math id="m43">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. When <inline-formula id="inf36">
<mml:math id="m44">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, the curve drops sharply from the beginning, which means the step size will become small even before achieving the global optimum, and the step size cannot achieve 20 at the beginning of iteration. The moment when step size begins to decline is a bit later when <inline-formula id="inf37">
<mml:math id="m45">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. There seems to be no difference in convergence performance when <inline-formula id="inf38">
<mml:math id="m46">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> takes different values. So in <italic>Empirical Analysis</italic>, we will test the performance of the proposed model with different values of <inline-formula id="inf39">
<mml:math id="m47">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> and <inline-formula id="inf40">
<mml:math id="m48">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula> to search for the optimal value, and we will substitute the optimal <inline-formula id="inf41">
<mml:math id="m49">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> and <inline-formula id="inf42">
<mml:math id="m50">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula> into the model for short-term load forecasting.</p>
</sec>
</sec>
<sec id="s3">
<title>Improvement of Generalized Regression Neural Network</title>
<sec id="s3-1">
<title>Generalized Regression Neural Network</title>
<p>The GRNN is a kind of neural network using the radial basis function and has been very popular in applications in recent years. It can establish the implicit mapping relationship according to the sample data, so that the output can converge the optimal regression surface. Once the sample is determined, the only goal is the determination of smoothing parameter in the kernel function (<xref ref-type="bibr" rid="B23">Ozturk and Turan, 2012</xref>; <xref ref-type="bibr" rid="B17">Kumar and Malik, 2016</xref>).</p>
<p>Assuming that <inline-formula id="inf43">
<mml:math id="m51">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the joint probability density function of random variable <inline-formula id="inf44">
<mml:math id="m52">
<mml:mi>X</mml:mi>
</mml:math>
</inline-formula> and variable <inline-formula id="inf45">
<mml:math id="m53">
<mml:mi>Y</mml:mi>
</mml:math>
</inline-formula>, the observed value of <inline-formula id="inf46">
<mml:math id="m54">
<mml:mi>X</mml:mi>
</mml:math>
</inline-formula> is <inline-formula id="inf47">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and the regression of <inline-formula id="inf48">
<mml:math id="m56">
<mml:mi>Y</mml:mi>
</mml:math>
</inline-formula> with respect to <inline-formula id="inf49">
<mml:math id="m57">
<mml:mi>X</mml:mi>
</mml:math>
</inline-formula> is<disp-formula id="e9">
<mml:math id="m58">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo stretchy="true">&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(9)</label>
</disp-formula>Based on the Parzen non-parametric estimation, the density function <inline-formula id="inf50">
<mml:math id="m59">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> can be estimated by the sampled dataset <inline-formula id="inf51">
<mml:math id="m60">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>:<disp-formula id="e10">
<mml:math id="m61">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2026;</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<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:mrow>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(10)</label>
</disp-formula>
<disp-formula id="e11">
<mml:math id="m62">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<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:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(11)</label>
</disp-formula>
<disp-formula id="e12">
<mml:math id="m63">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(12)</label>
</disp-formula>where <inline-formula id="inf52">
<mml:math id="m64">
<mml:mi>n</mml:mi>
</mml:math>
</inline-formula> is the sample size, <inline-formula id="inf53">
<mml:math id="m65">
<mml:mi>p</mml:mi>
</mml:math>
</inline-formula> is the dimension of random variable <inline-formula id="inf54">
<mml:math id="m66">
<mml:mi>X</mml:mi>
</mml:math>
</inline-formula>, and <inline-formula id="inf55">
<mml:math id="m67">
<mml:mi>&#x3c3;</mml:mi>
</mml:math>
</inline-formula> is the width coefficient of the Gaussian function, which is called the smoothing parameter.</p>
<p>Substituting <xref ref-type="disp-formula" rid="e10">Eq. 10</xref> into <xref ref-type="disp-formula" rid="e9">Eq. 9</xref> yields<disp-formula id="e13">
<mml:math id="m68">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo stretchy="true">&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<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:mrow>
</mml:mrow>
</mml:msup>
<mml:mstyle displaystyle="true">
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<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:mrow>
</mml:mrow>
</mml:msup>
<mml:mstyle displaystyle="true">
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(13)</label>
</disp-formula>Note that <inline-formula id="inf56">
<mml:math id="m69">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>z</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msup>
<mml:mi>d</mml:mi>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, (<xref ref-type="disp-formula" rid="e13">Eq. 13</xref>) can be simplified as follows:<disp-formula id="e14">
<mml:math id="m70">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>Y</mml:mi>
<mml:mo stretchy="true">&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<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:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<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:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(14)</label>
</disp-formula>The predicted value in <xref ref-type="disp-formula" rid="e14">Eq. 14</xref> is the weighted sum of the observations of the dependent variable, and the weights are <inline-formula id="inf57">
<mml:math id="m71">
<mml:mrow>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<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:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. The GRNN is composed of input layers, pattern layers, summation layers, and output layers. Once the learning samples are determined, the structure of neural network and the connection weights between neurons are completely determined. Therefore, the GRNN does not need to adjust the connection weight values between neurons, but to adjust the transfer function of each unit by changing the smoothing parameter to obtain the best regression result, which is different from the traditional error backward propagation algorithm. Thus, a key step in the GRNN is to determine the value of the smoothing parameter.</p>
</sec>
<sec id="s3-2">
<title>Optimization of Generalized Regression Neural Network Based on Multivariate Adaptive Step Fruit Fly Optimization Algorithm</title>
<p>In this paper, the MAFOA is applied to optimize the smoothing parameters in the GRNN. The MAFOA-GRNN takes the root mean square error (RMSE) of GRNN as the fitness function of MAFOA, so as to calculate the smell concentration in each iteration. Part of the training data are used in the MAFOA to select the best parameters for the GRNN. When the algorithm reaches the maximum number of iterations, the location of the fruit fly with best smell concentration is obtained. Then, these optimal parameters will be used in the GRNN to get the optimal prediction model. The flowchart of the MAFOA-GRNN model is shown in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Flowchart of the MAFOA-GRNN model.</p>
</caption>
<graphic xlink:href="fenvs-10-873939-g002.tif"/>
</fig>
</sec>
</sec>
<sec id="s4">
<title>Empirical Analysis</title>
<p>In this section, the power load data in Wuhan are used to test the performance of MAFOA-GRNN. The data description is introduced in <italic>Data Description</italic>. Then, <italic>Data Processing</italic> is discussed. The evaluation criteria and empirical results are further discussed in <italic>Evaluation Criteria</italic> and <italic>Experimental Analysis</italic>.</p>
<sec id="s4-1">
<title>Data Description</title>
<p>The power load data used in this paper are hourly and obtained from a power grid in Wuhan with 2,880 observations ranging from January 1, 2014, to April 30, 2014, which are shown in <xref ref-type="fig" rid="F3">Figure 3</xref>. In this section, we predict the power load of the last day of each month. The in-sample data are power load data of each month except the last day, and the out-of-sample data are the power load data of the last day of each month.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Historical power load curve: <bold>(A)</bold> January 2014, <bold>(B)</bold> February 2014, <bold>(C)</bold> March 2014, and <bold>(D)</bold> April 2014.</p>
</caption>
<graphic xlink:href="fenvs-10-873939-g003.tif"/>
</fig>
<p>As shown in <xref ref-type="fig" rid="F3">Figure 3</xref>, the short-term power load has obvious periodicity. Therefore, historical load data are an important reference for forecasting. In order to accurately predict the power load, the factors influencing the power load should be considered as much as possible. The factors related to load forecasting include date classification (weekday, weekend, holiday), daily temperature (maximum, minimum, average temperature), and weather condition.</p>
<p>Combining the influence factor, the improved GRNN adopts a three-layer network structure. The input variables of the GRNN are shown in <xref ref-type="table" rid="T1">Table 1</xref>, and the corresponding output vector is the power load value at <inline-formula id="inf58">
<mml:math id="m72">
<mml:mi>t</mml:mi>
</mml:math>
</inline-formula> o&#x2019;clock on day <inline-formula id="inf59">
<mml:math id="m73">
<mml:mi>d</mml:mi>
</mml:math>
</inline-formula>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Input variables of the GRNN.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Number</th>
<th align="center">Input variables</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">1</td>
<td align="left">Power load value at <inline-formula id="inf60">
<mml:math id="m74">
<mml:mi>t</mml:mi>
</mml:math>
</inline-formula> o&#x2019;clock on day <inline-formula id="inf61">
<mml:math id="m75">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">2</td>
<td align="left">Power load value at <inline-formula id="inf62">
<mml:math id="m76">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> o&#x2019;clock on day <inline-formula id="inf63">
<mml:math id="m77">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">3</td>
<td align="left">Maximum temperature on day <inline-formula id="inf64">
<mml:math id="m78">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">4</td>
<td align="left">Minimum temperature on day <inline-formula id="inf65">
<mml:math id="m79">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">5</td>
<td align="left">Weather condition on day <inline-formula id="inf66">
<mml:math id="m80">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">6</td>
<td align="left">Date type on day <inline-formula id="inf67">
<mml:math id="m81">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">7</td>
<td align="left">Power load value at <inline-formula id="inf68">
<mml:math id="m82">
<mml:mi>t</mml:mi>
</mml:math>
</inline-formula> o&#x2019;clock on day <inline-formula id="inf69">
<mml:math id="m83">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">8</td>
<td align="left">Power load value at <inline-formula id="inf70">
<mml:math id="m84">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> o&#x2019;clock on day <inline-formula id="inf71">
<mml:math id="m85">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">9</td>
<td align="left">Maximum temperature on day <inline-formula id="inf72">
<mml:math id="m86">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">10</td>
<td align="left">Minimum temperature on day <inline-formula id="inf73">
<mml:math id="m87">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">11</td>
<td align="left">Weather condition on day <inline-formula id="inf74">
<mml:math id="m88">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">12</td>
<td align="left">Date type on day <inline-formula id="inf75">
<mml:math id="m89">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>-</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">13</td>
<td align="left">Maximum temperature on day <inline-formula id="inf76">
<mml:math id="m90">
<mml:mi>d</mml:mi>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">14</td>
<td align="left">Minimum temperature on day <inline-formula id="inf77">
<mml:math id="m91">
<mml:mi>d</mml:mi>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">15</td>
<td align="left">Weather condition on day <inline-formula id="inf78">
<mml:math id="m92">
<mml:mi>d</mml:mi>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">16</td>
<td align="left">Date type on day <inline-formula id="inf79">
<mml:math id="m93">
<mml:mi>d</mml:mi>
</mml:math>
</inline-formula>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4-2">
<title>Data Processing</title>
<p>The original load data are normalized to eliminate the impact of the dimensions between indicators. In addition, the input variables of GRNN in <xref ref-type="table" rid="T1">Table 1</xref> should be numerical data, so we quantify the above weather factors and date type factors. Meanwhile, we propose an efficient interval partition technique to handle temperature and weather types:<list list-type="simple">
<list-item>
<p>1) Normalization of load data. All load data are normalized by using the linear transformation method, given by</p>
</list-item>
</list>
<disp-formula id="e15">
<mml:math id="m94">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(15)</label>
</disp-formula>where <inline-formula id="inf80">
<mml:math id="m95">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the minimum load value in the dataset and <inline-formula id="inf81">
<mml:math id="m96">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the maximum load value in the dataset.<list list-type="simple">
<list-item>
<p>2) Quantization of temperature. In the previous studies, temperature is standardized by direct standardization (<xref ref-type="bibr" rid="B12">Hu et al., 2017</xref>). When the temperature changes in a suitable range, the effect of the load is small. However, when the temperature increases or decreases to a certain extent, the effect on the load will be larger gradually. Therefore, standardization may not be an appropriate choice. In this work, we propose an efficient interval partition technique. The temperature is partitioned by intervals, and different quantitative values are taken according to the situation. For example, when the temperature is 0&#xb0;C, the temperature is coded as 1; when the temperature is 5&#xb0;C, the temperature is coded as 0.8. The specific code value can be adjusted within a small range according to the previous prediction result. Therefore, the temperature is partitioned by intervals, as shown in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
</list-item>
<list-item>
<p>3) Quantization of weather types. The weather types can be divided into six categories, as shown in <xref ref-type="table" rid="T2">Table 2</xref>, which can affect the power load by influencing the use of lighting equipment and other household appliances. Their corresponding quantized values are also shown in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
</list-item>
<list-item>
<p>4) Quantization of date types. As a result of the social production modules, the electricity consumption generally shows the alternation of work and rest. The date types can be divided into three categories: weekday (Monday to Friday), weekend (Saturday to Sunday), and holiday (holiday or major event day). On holiday, people often go out to relax or take a rest, which has a substantial impact on the changes in power load. According to the degree of influence on power load, the date type is coded as three categories: weekday is coded as 0, weekend is coded as 0.5, and holiday is coded as 1.</p>
</list-item>
</list>
</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Quantitative value of meteorological factors.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Temperature (&#xb0;C)</th>
<th align="center">Quantitative value</th>
<th align="left">Weather type</th>
<th align="center">Quantitative value</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">&#x2212;5&#x2013;0</td>
<td align="center">(0.7, 1.0)</td>
<td align="left">Sunny</td>
<td align="center">(0, 0.1)</td>
</tr>
<tr>
<td align="left">0&#x2013;5</td>
<td align="center">(0.5, 0.8)</td>
<td align="left">Sunny&#x2013;cloudy</td>
<td align="center">(0.1, 0.2)</td>
</tr>
<tr>
<td align="left">5&#x2013;10</td>
<td align="center">(0.3, 0.6)</td>
<td align="left">Cloudy</td>
<td align="center">(0.2, 0.4)</td>
</tr>
<tr>
<td align="left">10&#x2013;15</td>
<td align="center">(0.2, 0.4)</td>
<td align="left">Cloudy&#x2013;rainy</td>
<td align="center">(0.3, 0.6)</td>
</tr>
<tr>
<td align="left">15&#x2013;20</td>
<td align="center">(0.1, 0.2)</td>
<td align="left">Rainy</td>
<td align="center">(0.5, 0.8)</td>
</tr>
<tr>
<td align="left">20&#x2013;25</td>
<td align="center">(0, 0.1)</td>
<td align="left">Snowy</td>
<td align="center">(0.7, 1.0)</td>
</tr>
<tr>
<td align="left">25&#x2013;30</td>
<td align="center">(0.1, 0.4)</td>
<td rowspan="3" align="left"/>
<td rowspan="3" align="left"/>
</tr>
<tr>
<td align="left">30&#x2013;35</td>
<td align="center">(0.4, 0.7)</td>
</tr>
<tr>
<td align="left">35&#x2212;</td>
<td align="center">(0.1, 1.0)</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4-3">
<title>Evaluation Criteria</title>
<p>This paper uses the normalized root mean square error (NRMSE), mean absolute error (MAE), and mean absolute percentage error (MAPE) as the evaluation criteria, given by<disp-formula id="e16">
<mml:math id="m97">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>R</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>100</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfrac>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>N</mml:mi>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow>
<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:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:msqrt>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
<disp-formula id="e17">
<mml:math id="m98">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>A</mml:mi>
<mml:mi>E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>N</mml:mi>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mtext>&#x7c;</mml:mtext>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mstyle>
<mml:mtext>&#x7c;</mml:mtext>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
<disp-formula id="e18">
<mml:math id="m99">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>A</mml:mi>
<mml:mi>P</mml:mi>
<mml:mi>E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>N</mml:mi>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mtext>&#x7c;</mml:mtext>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mstyle>
<mml:mtext>&#x7c;</mml:mtext>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>where <inline-formula id="inf82">
<mml:math id="m100">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the mean of value, <inline-formula id="inf83">
<mml:math id="m101">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the predicted value, <inline-formula id="inf84">
<mml:math id="m102">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the observation value, and <inline-formula id="inf85">
<mml:math id="m103">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> is the number of data.</p>
<p>Although the NRMSE, MAE, and MAPE can be used as criteria to obtain model predicted loss values, it cannot be verified whether the comparison result is statistically significant. To solve this problem, <xref ref-type="bibr" rid="B5">Diebold and Mariano (1994)</xref> proposed the Diebold&#x2013;Mariano (DM) test to test the statistical significance of different prediction models. Assume that model B and model T do the forecasting task in period t at the same time, and we wonder if there are significant differences in the performance between the two models. The original hypothesis is that the forecast accuracy for two models is the same, which is equivalent to the mean value of relative loss function of 0. The DM statistics is defined as follows:<disp-formula id="e19">
<mml:math id="m104">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>M</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>d</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(19)</label>
</disp-formula>where<disp-formula id="e20">
<mml:math id="m105">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>d</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>T</mml:mi>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>is the sample mean loss differential, in which<disp-formula id="e21">
<mml:math id="m106">
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>T</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>is the relative loss function, where <inline-formula id="inf86">
<mml:math id="m107">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>T</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf87">
<mml:math id="m108">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the loss function of predicted errors of test model T and benchmark method B at time t, respectively.</p>
<p>Note that, in this paper, the mean-squared prediction error (MSPE) is used as the loss function:<disp-formula id="e22">
<mml:math id="m109">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>N</mml:mi>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(22)</label>
</disp-formula>where <inline-formula id="inf88">
<mml:math id="m110">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the predicted value of model i at time t.<disp-formula id="e23">
<mml:math id="m111">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>is the spectral density of relative loss function at frequency zero.<disp-formula id="e24">
<mml:math id="m112">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>is the autocovariance of <inline-formula id="inf89">
<mml:math id="m113">
<mml:mrow>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> at displacement <inline-formula id="inf90">
<mml:math id="m114">
<mml:mi>&#x3c4;</mml:mi>
</mml:math>
</inline-formula>, where <inline-formula id="inf91">
<mml:math id="m115">
<mml:mi>&#x3bc;</mml:mi>
</mml:math>
</inline-formula> is the population mean loss differential.</p>
<p>If the <inline-formula id="inf92">
<mml:math id="m116">
<mml:mi>p</mml:mi>
</mml:math>
</inline-formula>-value corresponding to <inline-formula id="inf93">
<mml:math id="m117">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is less than the significant level, which normally is 0.01 or 0.05, the original hypothesis is rejected; otherwise, it cannot be rejected.</p>
</sec>
<sec id="s4-4">
<title>Experimental Analysis</title>
<p>To determine the values of parameters <inline-formula id="inf94">
<mml:math id="m118">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula> and <inline-formula id="inf95">
<mml:math id="m119">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula>, we apply <inline-formula id="inf96">
<mml:math id="m120">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,3,5,7,9</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf97">
<mml:math id="m121">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>10,15,20,25</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> into the model to test the performance of the model. In this section, the data from January 1, 2014, to January 30, 2014, in Wuhan are used as training data, and the load data on January 31, 2014, are regarded as test data. Finally, the anti-normalization processing is carried out, and the NRMSE, MAE, and MAPE are calculated.</p>
<p>
<xref ref-type="table" rid="T3">Table 3</xref> shows the prediction errors for different <inline-formula id="inf98">
<mml:math id="m122">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula> and <inline-formula id="inf99">
<mml:math id="m123">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula>. We can see that whatever value <inline-formula id="inf100">
<mml:math id="m124">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> takes, three types of errors are obviously higher than others when <inline-formula id="inf101">
<mml:math id="m125">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. When <inline-formula id="inf102">
<mml:math id="m126">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf103">
<mml:math id="m127">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>25</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, the NRMSE and MAE are small. The NRMSE, MAE, and MAPE are small at the same time when <inline-formula id="inf104">
<mml:math id="m128">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf105">
<mml:math id="m129">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, which is consistent with that reported in the FFOA proposed by <xref ref-type="bibr" rid="B36">Yu et al. (2016)</xref>. When <inline-formula id="inf106">
<mml:math id="m130">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf107">
<mml:math id="m131">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, the NRMSE and MAPE are both small. But the smallest values of NRMSE, MAE, and MAPE are obtained when <inline-formula id="inf108">
<mml:math id="m132">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf109">
<mml:math id="m133">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>15</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, which means the forecasting performance is the best at this moment. So, we can initially claim that when <inline-formula id="inf110">
<mml:math id="m134">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf111">
<mml:math id="m135">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>15</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, the step size can realize the balance of global search capability and local optimization ability. <xref ref-type="fig" rid="F4">Figure 4</xref> shows the fitness curves of MAFOA when <inline-formula id="inf112">
<mml:math id="m136">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf113">
<mml:math id="m137">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>15</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Errors of the test set for different <inline-formula id="inf114">
<mml:math id="m138">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula> and <inline-formula id="inf115">
<mml:math id="m139">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula>.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">
<italic>n</italic>
</th>
<th align="center">Error type</th>
<th align="center">
<inline-formula id="inf116">
<mml:math id="m140">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">
<inline-formula id="inf117">
<mml:math id="m141">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">
<inline-formula id="inf118">
<mml:math id="m142">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">
<inline-formula id="inf119">
<mml:math id="m143">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="center">
<inline-formula id="inf120">
<mml:math id="m144">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="3" align="left">
<italic>N</italic> &#x3d; 10</td>
<td align="left">NRMSE</td>
<td align="char" char=".">33.3898</td>
<td align="char" char=".">22.8639</td>
<td align="char" char=".">15.8455</td>
<td align="char" char=".">7.3671</td>
<td align="char" char=".">7.4929</td>
</tr>
<tr>
<td align="left">MAE</td>
<td align="char" char=".">7.2234</td>
<td align="char" char=".">7.0068</td>
<td align="char" char=".">6.5260</td>
<td align="char" char=".">5.2611</td>
<td align="char" char=".">6.1537</td>
</tr>
<tr>
<td align="left">MAPE</td>
<td align="char" char=".">0.0093</td>
<td align="char" char=".">0.0083</td>
<td align="char" char=".">0.0080</td>
<td align="char" char=".">0.0072</td>
<td align="char" char=".">0.0081</td>
</tr>
<tr>
<td rowspan="3" align="left">
<italic>N</italic> &#x3d; 15</td>
<td align="left">NRMSE</td>
<td align="char" char=".">34.4198</td>
<td align="char" char=".">23.7839</td>
<td align="char" char=".">27.4610</td>
<td align="char" char=".">1.0415</td>
<td align="char" char=".">5.5455</td>
</tr>
<tr>
<td align="left">MAE</td>
<td align="char" char=".">7.0454</td>
<td align="char" char=".">7.0378</td>
<td align="char" char=".">6.5378</td>
<td align="char" char=".">6.5242</td>
<td align="char" char=".">6.6737</td>
</tr>
<tr>
<td align="left">MAPE</td>
<td align="char" char=".">0.0086</td>
<td align="char" char=".">0.0087</td>
<td align="char" char=".">0.0089</td>
<td align="char" char=".">0.0087</td>
<td align="char" char=".">0.0097</td>
</tr>
<tr>
<td rowspan="3" align="left">
<italic>N</italic> &#x3d; 20</td>
<td align="left">NRMSE</td>
<td align="char" char=".">38.8445</td>
<td align="char" char=".">35.8757</td>
<td align="char" char=".">10.7160</td>
<td align="char" char=".">4.7947</td>
<td align="char" char=".">0.0072</td>
</tr>
<tr>
<td align="left">MAE</td>
<td align="char" char=".">7.3071</td>
<td align="char" char=".">6.5455</td>
<td align="char" char=".">5.8260</td>
<td align="char" char=".">5.6311</td>
<td align="char" char=".">6.2587</td>
</tr>
<tr>
<td align="left">MAPE</td>
<td align="char" char=".">0.0098</td>
<td align="char" char=".">0.0083</td>
<td align="char" char=".">0.0080</td>
<td align="char" char=".">0.0076</td>
<td align="char" char=".">0.0081</td>
</tr>
<tr>
<td rowspan="3" align="left">
<italic>N</italic> &#x3d; 25</td>
<td align="left">NRMSE</td>
<td align="char" char=".">39.7045</td>
<td align="char" char=".">20.3099</td>
<td align="char" char=".">11.6360</td>
<td align="char" char=".">5.6547</td>
<td align="char" char=".">8.2882</td>
</tr>
<tr>
<td align="left">MAE</td>
<td align="char" char=".">7.2102</td>
<td align="char" char=".">6.5139</td>
<td align="char" char=".">6.5072</td>
<td align="char" char=".">5.9937</td>
<td align="char" char=".">6.8254</td>
</tr>
<tr>
<td align="left">MAPE</td>
<td align="char" char=".">0.0098</td>
<td align="char" char=".">0.0094</td>
<td align="char" char=".">0.0093</td>
<td align="char" char=".">0.0084</td>
<td align="char" char=".">0.0082</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Fitness of variation with the increase of iterations: <bold>(A)</bold> <inline-formula id="inf121">
<mml:math id="m145">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>; <bold>(B)</bold> <italic>N</italic> &#x3d; 15.</p>
</caption>
<graphic xlink:href="fenvs-10-873939-g004.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F4">Figure 4</xref> provides the fitness variation with the increase of iteration number. <xref ref-type="fig" rid="F4">Figure 4A</xref> shows the convergence situation of different <inline-formula id="inf122">
<mml:math id="m146">
<mml:mi>N</mml:mi>
</mml:math>
</inline-formula> when <inline-formula id="inf123">
<mml:math id="m147">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, and <xref ref-type="fig" rid="F4">Figure 4B</xref> shows the convergence performance of different <inline-formula id="inf124">
<mml:math id="m148">
<mml:mi>&#x3b1;</mml:mi>
</mml:math>
</inline-formula> when <inline-formula id="inf125">
<mml:math id="m149">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>15</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. It can be seen that, under the condition of <inline-formula id="inf126">
<mml:math id="m150">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, when we choose <inline-formula id="inf127">
<mml:math id="m151">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>15</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, the algorithm has the minimal fitness value and arrives at its optimal value much more quickly than other conditions; under the condition of <inline-formula id="inf128">
<mml:math id="m152">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>15</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, when we choose <inline-formula id="inf129">
<mml:math id="m153">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, the algorithm has the same performance. Accordingly, <inline-formula id="inf130">
<mml:math id="m154">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf131">
<mml:math id="m155">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>15</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> are perceived as an ideal choice in the step size formula.</p>
<p>After choosing <inline-formula id="inf132">
<mml:math id="m156">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf133">
<mml:math id="m157">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>15</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, we train the power load data of each month except the last day to predict the load of the last day of each month. <xref ref-type="table" rid="T4">Table 4</xref> shows the prediction results obtained by the MAFOA-GRNN algorithm from January to April 2014, respectively. The relative errors are basically within 2%, and the accuracy is high.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Forecast results of power load.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="3" align="left">Time</th>
<th colspan="3" align="center">January</th>
<th colspan="3" align="center">February</th>
<th colspan="3" align="center">March</th>
<th colspan="3" align="center">April</th>
</tr>
<tr>
<th align="center">Actual values</th>
<th align="center">Forecast values</th>
<th align="center">Relative errors</th>
<th align="center">Actual values</th>
<th align="center">Forecast values</th>
<th align="center">Relative errors</th>
<th align="center">Actual values</th>
<th align="center">Forecast values</th>
<th align="center">Relative errors</th>
<th align="center">Actual values</th>
<th align="center">Forecast values</th>
<th align="center">Relative errors</th>
</tr>
<tr>
<th align="center">(MW)</th>
<th align="center">(MW)</th>
<th align="center">(%)</th>
<th align="center">(MW)</th>
<th align="center">(MW)</th>
<th align="center">(%)</th>
<th align="center">(MW)</th>
<th align="center">(MW)</th>
<th align="center">(%)</th>
<th align="center">(MW)</th>
<th align="center">(MW)</th>
<th align="center">(%)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">1:00</td>
<td align="char" char=".">677.40</td>
<td align="char" char=".">689.79</td>
<td align="char" char=".">0.0183</td>
<td align="char" char=".">709.82</td>
<td align="char" char=".">720.35</td>
<td align="char" char=".">0.0148</td>
<td align="char" char=".">692.63</td>
<td align="char" char=".">690.92</td>
<td align="char" char=".">0.0025</td>
<td align="char" char=".">658.30</td>
<td align="char" char=".">657.68</td>
<td align="char" char=".">0.0009</td>
</tr>
<tr>
<td align="left">2:00</td>
<td align="char" char=".">653.06</td>
<td align="char" char=".">672.15</td>
<td align="char" char=".">0.0292</td>
<td align="char" char=".">694.35</td>
<td align="char" char=".">685.74</td>
<td align="char" char=".">0.0124</td>
<td align="char" char=".">680.72</td>
<td align="char" char=".">675.48</td>
<td align="char" char=".">0.0077</td>
<td align="char" char=".">647.19</td>
<td align="char" char=".">645.88</td>
<td align="char" char=".">0.0020</td>
</tr>
<tr>
<td align="left">3:00</td>
<td align="char" char=".">653.51</td>
<td align="char" char=".">658.18</td>
<td align="char" char=".">0.0071</td>
<td align="char" char=".">670.91</td>
<td align="char" char=".">672.69</td>
<td align="char" char=".">0.0027</td>
<td align="char" char=".">673.70</td>
<td align="char" char=".">673.74</td>
<td align="char" char=".">0.0001</td>
<td align="char" char=".">637.70</td>
<td align="char" char=".">637.16</td>
<td align="char" char=".">0.0009</td>
</tr>
<tr>
<td align="left">4:00</td>
<td align="char" char=".">642.52</td>
<td align="char" char=".">650.65</td>
<td align="char" char=".">0.0127</td>
<td align="char" char=".">677.20</td>
<td align="char" char=".">661.16</td>
<td align="char" char=".">0.0237</td>
<td align="char" char=".">670.04</td>
<td align="char" char=".">670.97</td>
<td align="char" char=".">0.0014</td>
<td align="char" char=".">630.18</td>
<td align="char" char=".">644.47</td>
<td align="char" char=".">0.0227</td>
</tr>
<tr>
<td align="left">5:00</td>
<td align="char" char=".">639.44</td>
<td align="char" char=".">641.16</td>
<td align="char" char=".">0.0027</td>
<td align="char" char=".">662.21</td>
<td align="char" char=".">660.71</td>
<td align="char" char=".">0.0023</td>
<td align="char" char=".">671.82</td>
<td align="char" char=".">671.71</td>
<td align="char" char=".">0.0002</td>
<td align="char" char=".">637.72</td>
<td align="char" char=".">643.55</td>
<td align="char" char=".">0.0091</td>
</tr>
<tr>
<td align="left">6:00</td>
<td align="char" char=".">653.05</td>
<td align="char" char=".">658.27</td>
<td align="char" char=".">0.0080</td>
<td align="char" char=".">684.66</td>
<td align="char" char=".">687.16</td>
<td align="char" char=".">0.0036</td>
<td align="char" char=".">698.88</td>
<td align="char" char=".">686.72</td>
<td align="char" char=".">0.0174</td>
<td align="char" char=".">676.44</td>
<td align="char" char=".">667.54</td>
<td align="char" char=".">0.0132</td>
</tr>
<tr>
<td align="left">7:00</td>
<td align="char" char=".">690.42</td>
<td align="char" char=".">695.86</td>
<td align="char" char=".">0.0079</td>
<td align="char" char=".">731.70</td>
<td align="char" char=".">729.71</td>
<td align="char" char=".">0.0027</td>
<td align="char" char=".">745.87</td>
<td align="char" char=".">747.82</td>
<td align="char" char=".">0.0026</td>
<td align="char" char=".">722.95</td>
<td align="char" char=".">717.03</td>
<td align="char" char=".">0.0082</td>
</tr>
<tr>
<td align="left">8:00</td>
<td align="char" char=".">803.07</td>
<td align="char" char=".">812.36</td>
<td align="char" char=".">0.0116</td>
<td align="char" char=".">814.08</td>
<td align="char" char=".">814.16</td>
<td align="char" char=".">0.0001</td>
<td align="char" char=".">795.26</td>
<td align="char" char=".">812.49</td>
<td align="char" char=".">0.0217</td>
<td align="char" char=".">751.95</td>
<td align="char" char=".">762.93</td>
<td align="char" char=".">0.0146</td>
</tr>
<tr>
<td align="left">9:00</td>
<td align="char" char=".">874.77</td>
<td align="char" char=".">873.36</td>
<td align="char" char=".">0.0016</td>
<td align="char" char=".">889.29</td>
<td align="char" char=".">889.97</td>
<td align="char" char=".">0.0008</td>
<td align="char" char=".">833.28</td>
<td align="char" char=".">835.70</td>
<td align="char" char=".">0.0029</td>
<td align="char" char=".">788.23</td>
<td align="char" char=".">791.43</td>
<td align="char" char=".">0.0041</td>
</tr>
<tr>
<td align="left">10:00</td>
<td align="char" char=".">853.36</td>
<td align="char" char=".">853.67</td>
<td align="char" char=".">0.0004</td>
<td align="char" char=".">885.28</td>
<td align="char" char=".">888.98</td>
<td align="char" char=".">0.0042</td>
<td align="char" char=".">814.67</td>
<td align="char" char=".">809.35</td>
<td align="char" char=".">0.0065</td>
<td align="char" char=".">777.08</td>
<td align="char" char=".">776.24</td>
<td align="char" char=".">0.0011</td>
</tr>
<tr>
<td align="left">11:00</td>
<td align="char" char=".">851.10</td>
<td align="char" char=".">850.23</td>
<td align="char" char=".">0.0010</td>
<td align="char" char=".">884.13</td>
<td align="char" char=".">880.51</td>
<td align="char" char=".">0.0041</td>
<td align="char" char=".">803.69</td>
<td align="char" char=".">804.61</td>
<td align="char" char=".">0.0011</td>
<td align="char" char=".">767.25</td>
<td align="char" char=".">769.31</td>
<td align="char" char=".">0.0027</td>
</tr>
<tr>
<td align="left">12:00</td>
<td align="char" char=".">813.58</td>
<td align="char" char=".">811.36</td>
<td align="char" char=".">0.0027</td>
<td align="char" char=".">848.45</td>
<td align="char" char=".">846.00</td>
<td align="char" char=".">0.0029</td>
<td align="char" char=".">783.17</td>
<td align="char" char=".">769.67</td>
<td align="char" char=".">0.0172</td>
<td align="char" char=".">745.26</td>
<td align="char" char=".">740.57</td>
<td align="char" char=".">0.0063</td>
</tr>
<tr>
<td align="left">13:00</td>
<td align="char" char=".">809.11</td>
<td align="char" char=".">808.87</td>
<td align="char" char=".">0.0003</td>
<td align="char" char=".">831.73</td>
<td align="char" char=".">828.58</td>
<td align="char" char=".">0.0038</td>
<td align="char" char=".">786.08</td>
<td align="char" char=".">771.60</td>
<td align="char" char=".">0.0184</td>
<td align="char" char=".">730.55</td>
<td align="char" char=".">722.46</td>
<td align="char" char=".">0.0111</td>
</tr>
<tr>
<td align="left">14:00</td>
<td align="char" char=".">788.90</td>
<td align="char" char=".">799.90</td>
<td align="char" char=".">0.0139</td>
<td align="char" char=".">818.47</td>
<td align="char" char=".">822.24</td>
<td align="char" char=".">0.0046</td>
<td align="char" char=".">777.79</td>
<td align="char" char=".">779.13</td>
<td align="char" char=".">0.0017</td>
<td align="char" char=".">742.14</td>
<td align="char" char=".">731.85</td>
<td align="char" char=".">0.0139</td>
</tr>
<tr>
<td align="left">15:00</td>
<td align="char" char=".">790.56</td>
<td align="char" char=".">800.82</td>
<td align="char" char=".">0.0130</td>
<td align="char" char=".">826.27</td>
<td align="char" char=".">826.70</td>
<td align="char" char=".">0.0005</td>
<td align="char" char=".">780.92</td>
<td align="char" char=".">779.61</td>
<td align="char" char=".">0.0017</td>
<td align="char" char=".">739.81</td>
<td align="char" char=".">742.17</td>
<td align="char" char=".">0.0032</td>
</tr>
<tr>
<td align="left">16:00</td>
<td align="char" char=".">797.75</td>
<td align="char" char=".">807.82</td>
<td align="char" char=".">0.0126</td>
<td align="char" char=".">824.00</td>
<td align="char" char=".">830.17</td>
<td align="char" char=".">0.0075</td>
<td align="char" char=".">788.51</td>
<td align="char" char=".">784.73</td>
<td align="char" char=".">0.0048</td>
<td align="char" char=".">753.58</td>
<td align="char" char=".">737.04</td>
<td align="char" char=".">0.0219</td>
</tr>
<tr>
<td align="left">17:00</td>
<td align="char" char=".">826.79</td>
<td align="char" char=".">825.41</td>
<td align="char" char=".">0.0017</td>
<td align="char" char=".">856.85</td>
<td align="char" char=".">847.88</td>
<td align="char" char=".">0.0105</td>
<td align="char" char=".">797.58</td>
<td align="char" char=".">803.80</td>
<td align="char" char=".">0.0078</td>
<td align="char" char=".">771.64</td>
<td align="char" char=".">770.39</td>
<td align="char" char=".">0.0016</td>
</tr>
<tr>
<td align="left">18:00</td>
<td align="char" char=".">859.40</td>
<td align="char" char=".">857.91</td>
<td align="char" char=".">0.0017</td>
<td align="char" char=".">859.35</td>
<td align="char" char=".">865.93</td>
<td align="char" char=".">0.0077</td>
<td align="char" char=".">787.30</td>
<td align="char" char=".">787.15</td>
<td align="char" char=".">0.0002</td>
<td align="char" char=".">748.37</td>
<td align="char" char=".">753.00</td>
<td align="char" char=".">0.0062</td>
</tr>
<tr>
<td align="left">19:00</td>
<td align="char" char=".">899.44</td>
<td align="char" char=".">894.48</td>
<td align="char" char=".">0.0055</td>
<td align="char" char=".">896.94</td>
<td align="char" char=".">899.66</td>
<td align="char" char=".">0.0030</td>
<td align="char" char=".">814.22</td>
<td align="char" char=".">807.29</td>
<td align="char" char=".">0.0085</td>
<td align="char" char=".">756.61</td>
<td align="char" char=".">767.41</td>
<td align="char" char=".">0.0143</td>
</tr>
<tr>
<td align="left">20:00</td>
<td align="char" char=".">894.75</td>
<td align="char" char=".">904.78</td>
<td align="char" char=".">0.0112</td>
<td align="char" char=".">909.69</td>
<td align="char" char=".">911.58</td>
<td align="char" char=".">0.0021</td>
<td align="char" char=".">804.24</td>
<td align="char" char=".">809.36</td>
<td align="char" char=".">0.0064</td>
<td align="char" char=".">760.59</td>
<td align="char" char=".">770.73</td>
<td align="char" char=".">0.0133</td>
</tr>
<tr>
<td align="left">21:00</td>
<td align="char" char=".">871.66</td>
<td align="char" char=".">880.29</td>
<td align="char" char=".">0.0099</td>
<td align="char" char=".">887.56</td>
<td align="char" char=".">883.48</td>
<td align="char" char=".">0.0046</td>
<td align="char" char=".">779.43</td>
<td align="char" char=".">786.43</td>
<td align="char" char=".">0.0090</td>
<td align="char" char=".">728.23</td>
<td align="char" char=".">741.39</td>
<td align="char" char=".">0.0181</td>
</tr>
<tr>
<td align="left">22:00</td>
<td align="char" char=".">828.78</td>
<td align="char" char=".">838.28</td>
<td align="char" char=".">0.0115</td>
<td align="char" char=".">824.59</td>
<td align="char" char=".">828.39</td>
<td align="char" char=".">0.0046</td>
<td align="char" char=".">760.20</td>
<td align="char" char=".">767.66</td>
<td align="char" char=".">0.0098</td>
<td align="char" char=".">707.18</td>
<td align="char" char=".">717.41</td>
<td align="char" char=".">0.0145</td>
</tr>
<tr>
<td align="left">23:00</td>
<td align="char" char=".">776.42</td>
<td align="char" char=".">788.16</td>
<td align="char" char=".">0.0151</td>
<td align="char" char=".">760.49</td>
<td align="char" char=".">764.49</td>
<td align="char" char=".">0.0053</td>
<td align="char" char=".">739.43</td>
<td align="char" char=".">751.64</td>
<td align="char" char=".">0.0165</td>
<td align="char" char=".">696.21</td>
<td align="char" char=".">707.82</td>
<td align="char" char=".">0.0167</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>In order to test the forecasting performance of the proposed model, the backpropagation (BP) neural network, support vector machine (SVM), GRNN, PSO-GRNN, FOA-GRNN, and DSFOA-GRNN are regarded as benchmark models to be compared with MAFOA-GRNN in short-term power load forecasting. The PSO was proposed by Kennedy and Eberhart in 1995, which was inspired by the swarm behavior of birds. The FOA proposed by Pan in 2012 was also used in this work. Since PSO and FOA are both classical optimization algorithms that have been widely utilized in research, we have chosen PSO-GRNN and FOA-GRNN as benchmark models. The DSFOA proposed by Hu et al. in 2017 is an improvement algorithm of FOA. With the decreasing step size in mind, the DSFOA performed well in optimizing the spread parameter of GRNN. The flight distance is updated referring to the sigmoid function. So, DSFOA-GRNN has also been compared with our proposed model. Besides, some other basic prediction models are also taken into account, such as the BP neural network and SVM. <xref ref-type="fig" rid="F5">Figure 5</xref> shows the relative error curves of the single models on January 31. <xref ref-type="fig" rid="F6">Figure 6</xref> shows the relative error curves of the hybrid models on January 31.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Relative errors of the single models.</p>
</caption>
<graphic xlink:href="fenvs-10-873939-g005.tif"/>
</fig>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Relative errors of the hybrid models.</p>
</caption>
<graphic xlink:href="fenvs-10-873939-g006.tif"/>
</fig>
<p>It can be seen from <xref ref-type="fig" rid="F5">Figure 5</xref> that, in the commonly applied forecasting methods, the GRNN has the best prediction ability. <xref ref-type="fig" rid="F6">Figure 6</xref> shows that the proposed method can accurately predict the overall trend of power load, and the fitting effect is very good. From the relative error curves, it can be seen that MAFOA-GRNN can offer a better predicting performance and higher precision than DSFOA-GRNN, FOA-GRNN, and GRNN. In addition, the relative errors of MAFOA-GRNN are more stable, and the majority are below 0.02, which demonstrates that the improved FOA is perceived as an ideal method in optimizing model parameters during GRNN training.</p>
<p>Then, the anti-normalization processing is carried out, and the comparison results of NRMSE, MAE, and MAPE evaluation criteria are shown in <xref ref-type="fig" rid="F7">Figures 7</xref>&#x2013;<xref ref-type="fig" rid="F9">9</xref>. <xref ref-type="table" rid="T5">Table 5</xref> shows the error analysis of the training set and test set.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Performance comparison of models in terms of NRMSE criteria.</p>
</caption>
<graphic xlink:href="fenvs-10-873939-g007.tif"/>
</fig>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Performance comparison of models in terms of MAE criteria.</p>
</caption>
<graphic xlink:href="fenvs-10-873939-g008.tif"/>
</fig>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Performance comparison of models in terms of MAPE criteria.</p>
</caption>
<graphic xlink:href="fenvs-10-873939-g009.tif"/>
</fig>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Error comparison between MAFOA-GRNN and the benchmark models.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Month</th>
<th align="center">Error type</th>
<th align="center">BP</th>
<th align="center">SVM</th>
<th align="center">GRNN</th>
<th align="center">PSO-GRNN</th>
<th align="center">FOA-GRNN</th>
<th align="center">DSFOA-GRNN</th>
<th align="center">MAFOA-GRNN</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="3" align="left">January</td>
<td align="left">NRMSE</td>
<td align="char" char=".">4.4106</td>
<td align="char" char=".">3.7301</td>
<td align="char" char=".">3.0477</td>
<td align="char" char=".">3.5618</td>
<td align="char" char=".">3.5189</td>
<td align="char" char=".">2.7762</td>
<td align="char" char=".">1.0415</td>
</tr>
<tr>
<td align="left">MAE</td>
<td align="char" char=".">27.6808</td>
<td align="char" char=".">23.1618</td>
<td align="char" char=".">18.6411</td>
<td align="char" char=".">23.4856</td>
<td align="char" char=".">23.5662</td>
<td align="char" char=".">18.4538</td>
<td align="char" char=".">6.5242</td>
</tr>
<tr>
<td align="left">MAPE</td>
<td align="char" char=".">0.0351</td>
<td align="char" char=".">0.0293</td>
<td align="char" char=".">0.0234</td>
<td align="char" char=".">0.0317</td>
<td align="char" char=".">0.0315</td>
<td align="char" char=".">0.0253</td>
<td align="char" char=".">0.0087</td>
</tr>
<tr>
<td rowspan="3" align="left">February</td>
<td align="left">NRMSE</td>
<td align="char" char=".">4.9501</td>
<td align="char" char=".">3.7416</td>
<td align="char" char=".">2.5321</td>
<td align="char" char=".">1.9097</td>
<td align="char" char=".">1.4507</td>
<td align="char" char=".">1.2274</td>
<td align="char" char=".">0.7050</td>
</tr>
<tr>
<td align="left">MAE</td>
<td align="char" char=".">31.1464</td>
<td align="char" char=".">23.7110</td>
<td align="char" char=".">16.2740</td>
<td align="char" char=".">11.7292</td>
<td align="char" char=".">8.7336</td>
<td align="char" char=".">7.4065</td>
<td align="char" char=".">4.3071</td>
</tr>
<tr>
<td align="left">MAPE</td>
<td align="char" char=".">0.0378</td>
<td align="char" char=".">0.0296</td>
<td align="char" char=".">0.0204</td>
<td align="char" char=".">0.0151</td>
<td align="char" char=".">0.0113</td>
<td align="char" char=".">0.0096</td>
<td align="char" char=".">0.0056</td>
</tr>
<tr>
<td rowspan="3" align="left">March</td>
<td align="left">NRMSE</td>
<td align="char" char=".">3.4144</td>
<td align="char" char=".">3.0825</td>
<td align="char" char=".">2.7506</td>
<td align="char" char=".">2.1027</td>
<td align="char" char=".">1.8578</td>
<td align="char" char=".">1.5972</td>
<td align="char" char=".">0.9859</td>
</tr>
<tr>
<td align="left">MAE</td>
<td align="char" char=".">22.2451</td>
<td align="char" char=".">19.4858</td>
<td align="char" char=".">16.7246</td>
<td align="char" char=".">12.6088</td>
<td align="char" char=".">10.8888</td>
<td align="char" char=".">9.2868</td>
<td align="char" char=".">5.5455</td>
</tr>
<tr>
<td align="left">MAPE</td>
<td align="char" char=".">0.0291</td>
<td align="char" char=".">0.0262</td>
<td align="char" char=".">0.0214</td>
<td align="char" char=".">0.0171</td>
<td align="char" char=".">0.0143</td>
<td align="char" char=".">0.0127</td>
<td align="char" char=".">0.0072</td>
</tr>
<tr>
<td rowspan="3" align="left">April</td>
<td align="left">NRMSE</td>
<td align="char" char=".">3.1352</td>
<td align="char" char=".">2.5490</td>
<td align="char" char=".">1.9609</td>
<td align="char" char=".">1.9380</td>
<td align="char" char=".">1.7843</td>
<td align="char" char=".">1.4344</td>
<td align="char" char=".">0.6178</td>
</tr>
<tr>
<td align="left">MAE</td>
<td align="char" char=".">18.3732</td>
<td align="char" char=".">14.9324</td>
<td align="char" char=".">11.4907</td>
<td align="char" char=".">10.9833</td>
<td align="char" char=".">9.9950</td>
<td align="char" char=".">9.0616</td>
<td align="char" char=".">6.8816</td>
</tr>
<tr>
<td align="left">MAPE</td>
<td align="char" char=".">0.0260</td>
<td align="char" char=".">0.0216</td>
<td align="char" char=".">0.0166</td>
<td align="char" char=".">0.0163</td>
<td align="char" char=".">0.0139</td>
<td align="char" char=".">0.0128</td>
<td align="char" char=".">0.0096</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Obviously, MAFOA-GRNN has the smallest NRMSE, MAE, and MAPE, followed by FOA-GRNN, but the BP neural network has the worst performance. Besides, the prediction error of the training set and test set has no obvious difference, which indicates that MAFOA-GRNN has high generalization performance. According to the comparison results, it can be concluded that MAFOA-GRNN outperforms other models in both accuracy and stability. <xref ref-type="table" rid="T5">Table 5</xref> demonstrates the same conclusions as above.</p>
<p>Although the NRMSE, MAE, and MAPE can be used as criteria to obtain model-predicted loss values, it cannot be verified whether the comparison result is statistically significant. To statistically compare the differences between the prediction accuracy of different models, the DM statistics test is carried out in this paper, and the results are shown in <xref ref-type="table" rid="T6">Table 6</xref>. For all the benchmark models, the values of the MAFOA-GRNN model proposed in this paper are below 0.05, which indicates that the predictive ability of the MAFOA-GRNN model is better than that of DSFOA-GRNN, DSFOA-GRNN, GRNN, SVM, and BP neural network under the confidence interval of 95%.</p>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>DM results of the different models.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th rowspan="2" align="left">Tested model</th>
<th colspan="6" align="center">Benchmark model (January)</th>
</tr>
<tr>
<th align="center">DSFOA-GRNN</th>
<th align="center">FOA-GRNN</th>
<th align="center">PSO-GRNN</th>
<th align="center">GRNN</th>
<th align="center">SVM</th>
<th align="center">BP</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">MAFOA-GRNN</td>
<td align="char" char="(">2.4083 (0.0036)</td>
<td align="char" char="(">4.9502 (0.0120)</td>
<td align="char" char="(">&#x2212;2.5780 (0.0073)</td>
<td align="char" char="(">2.8360 (0.0048)</td>
<td align="char" char="(">&#x2212;2.5430 (0.0160)</td>
<td align="char" char="(">&#x2212;3.4426 (0.0012)</td>
</tr>
<tr>
<td align="left">DSFOA-GRNN</td>
<td rowspan="5" align="left"/>
<td align="char" char="(">3.8311 (0.0280)</td>
<td align="char" char="(">&#x2212;3.7578 (0.0260)</td>
<td align="char" char="(">4.1183 (0.0000)</td>
<td align="char" char="(">&#x2212;3.5324 (0.0180)</td>
<td align="char" char="(">4.3981 (0.1802)</td>
</tr>
<tr>
<td align="left">FOA-GRNN</td>
<td rowspan="4" align="left"/>
<td align="char" char="(">&#x2212;1.1790 (0.0370)</td>
<td align="char" char="(">0.5811 (0.7165)</td>
<td align="char" char="(">&#x2212;3.5824 (0.0000)</td>
<td align="char" char="(">&#x2212;1.5424 (0.0686)</td>
</tr>
<tr>
<td align="left">PSO-GRNN</td>
<td rowspan="3" align="left"/>
<td align="char" char="(">4.4083 (0.0480)</td>
<td align="char" char="(">&#x2212;1.8246 (0.0190)</td>
<td align="char" char="(">3.2784 (0.0735)</td>
</tr>
<tr>
<td align="left">GRNN</td>
<td rowspan="2" align="left"/>
<td align="char" char="(">&#x2212;2.4083 (0.0370)</td>
<td align="char" char="(">&#x2212;2.6555 (0.0072)</td>
</tr>
<tr>
<td align="left">SVM</td>
<td align="left"/>
<td align="char" char="(">4.1736 (0.0078)</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>According to the above comparisons, the following three main conclusions can be summarized:<list list-type="simple">
<list-item>
<p>1) The proposed MAFOA-GRNN outperforms the GRNN, which indicates that the MAFOA can optimize the smoothing parameter of GRNN effectively.</p>
</list-item>
<list-item>
<p>2) The performance of MAFOA-GRNN is better than that of FOA-GRNN, which shows that the multivariate adaptive step can effectively improve the optimization ability of FOA.</p>
</list-item>
<list-item>
<p>3) From January to April 2014, MAFOA-GRNN has reached high prediction accuracy, which shows that the proposed algorithm is a stable and effective forecasting framework.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>Conclusion</title>
<p>In this paper, we have proposed MAFOA-GRNN and applied it to short-term load forecasting. Firstly, we discussed a number of external factors including weather types and date types as input variables of the GRNN, in order to optimize the structure of NNs. Then, we propose an efficient interval segmentation technique for temperature types and weather types. Finally, we use the MAFOA to obtain the optimal GRNN model instead of the ordinary FOA, which solves the problem of local optimum in the implementation of FOA. The hybrid model proposed in this paper has a higher accuracy than the BP neural network, SVM, GRNN, PSO-GRNN, FOA-GRNN, and DSFOA-GRNN, and the majority of relative errors are below 0.02.</p>
<p>The proposed models can accurately predict the load of the power system, especially in short-term load forecasting. Electric energy cannot be stored in large quantities, and its generation and consumption are almost completed at the same time. Therefore, in order to arrange the work of power plants economically and reasonably, short-term load forecasting is indispensable. Furthermore, the proposed model can also predict other time series by adjusting the input vector and parameters.</p>
<p>In addition to short-term load forecasting, the proposed MAFOA-GRNN can be applied to solve other complex multivariable problems, including solar radiation forecasting, crude oil price forecasting, and wind load forecasting. Furthermore, the factors considered in this article are limited, and the forecasting performance may be better if other valuable factors are taken into consideration. Finally, further research may improve the performance of proposed model such as training the data of weekdays and holidays separately.</p>
</sec>
</body>
<back>
<sec id="s6">
<title>Data Availability Statement</title>
<p>The raw data supporting the conclusion of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s7">
<title>Author Contributions</title>
<p>FJ contributed to conception and design of the study. WZ and ZP conducted the data analysis, wrote the original draft, and edited the paper. All authors have read and agreed to the published version of the manuscript.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>This work was supported by the National Natural Science Foundation of China, under grant number 61773401.</p>
</sec>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors, and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ack>
<p>The authors are grateful to the reviewers and the editor for their constructive comments and suggestions for this paper.</p>
</ack>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Abedinia</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Amjady</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Short-term Load Forecast of Electrical Power System by Radial Basis Function Neural Network and New Stochastic Search Algorithm</article-title>. <source>Int. Trans. Electr. Energ. Syst.</source> <volume>26</volume> (<issue>7</issue>), <fpage>1511</fpage>&#x2013;<lpage>1525</lpage>. <pub-id pub-id-type="doi">10.1002/etep.2160</pub-id> </citation>
</ref>
<ref id="B2">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Agarkar</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Hajare</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Bawane</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Optimization of Generalized Regression Neural Networks Using PSO and GA for Non-performer Particles</article-title>,&#x201d; in <conf-name>Proceeding of the 2016 IEEE International Conference on Recent Trends in Electronics, Information &#x26; Communication Technology (RTEICT)</conf-name>, <conf-loc>Bangalore, India</conf-loc>, <conf-date>May 2016</conf-date> (<publisher-name>IEEE</publisher-name>), <fpage>103</fpage>&#x2013;<lpage>107</lpage>. <pub-id pub-id-type="doi">10.1109/rteict.2016.7807792</pub-id> </citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cao</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Support Vector Regression with Fruit Fly Optimization Algorithm for Seasonal Electricity Consumption Forecasting</article-title>. <source>Energy</source> <volume>115</volume>, <fpage>734</fpage>&#x2013;<lpage>745</lpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2016.09.065</pub-id> </citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Das Goswami</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Mishra</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Patra</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Investigation of General Regression Neural Network Architecture for Grade Estimation of an Indian Iron Ore deposit</article-title>. <source>Arab J. Geosci.</source> <volume>10</volume> (<issue>4</issue>) <volume>80</volume>. <pub-id pub-id-type="doi">10.1007/s12517-017-2868-5</pub-id> </citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Diebold</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Mariano</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>1994</year>). <article-title>Comparing Predictive Accuracy</article-title>. <source>J. Business Econ. Stat.</source> <volume>20</volume> (<issue>1</issue>), <fpage>134</fpage>&#x2013;<lpage>144</lpage>. <pub-id pub-id-type="doi">10.3386/t0169</pub-id> </citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ding</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Benoit</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Foggia</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>B&#xe9;sanger</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wurtz</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Neural Network-Based Model Design for Short-Term Load Forecast in Distribution Systems</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>31</volume> (<issue>1</issue>), <fpage>72</fpage>&#x2013;<lpage>81</lpage>. <pub-id pub-id-type="doi">10.1109/TPWRS.2015.2390132</pub-id> </citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Du</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Niu</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A Novel Hybrid Model for Short-Term Wind Power Forecasting</article-title>. <source>Appl. Soft Comput.</source> <volume>80</volume>, <fpage>93</fpage>&#x2013;<lpage>106</lpage>. <pub-id pub-id-type="doi">10.1016/j.asoc.2019.03.035</pub-id> </citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dudek</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Pattern-based Local Linear Regression Models for Short-Term Load Forecasting</article-title>. <source>Electric Power Syst. Res.</source> <volume>130</volume>, <fpage>139</fpage>&#x2013;<lpage>147</lpage>. <pub-id pub-id-type="doi">10.1016/j.epsr.2015.09.001</pub-id> </citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Friedrich</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Afshari</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Short-term Forecasting of the Abu Dhabi Electricity Load Using Multiple Weather Variables</article-title>. <source>Energ. Proced.</source> <volume>75</volume>, <fpage>3014</fpage>&#x2013;<lpage>3026</lpage>. <pub-id pub-id-type="doi">10.1016/j.egypro.2015.07.616</pub-id> </citation>
</ref>
<ref id="B10">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>Sea Clutter Sequences Regression Prediction Based on PSO-GRNN Method</article-title>,&#x201d; in <conf-name>Proceeding of the 2015 8th International Symposium on Computational Intelligence and Design (ISCID)</conf-name>, <conf-loc>Hangzhou, China</conf-loc>, <conf-date>Dec. 2015</conf-date> (<publisher-name>IEEE</publisher-name>), <fpage>72</fpage>&#x2013;<lpage>75</lpage>. <pub-id pub-id-type="doi">10.1109/iscid.2015.249</pub-id> </citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hobbs</surname>
<given-names>B. F.</given-names>
</name>
<name>
<surname>Jitprapaikulsarn</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Konda</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Chankong</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Loparo</surname>
<given-names>K. A.</given-names>
</name>
<name>
<surname>Maratukulam</surname>
<given-names>D. J.</given-names>
</name>
</person-group> (<year>1999</year>). <article-title>Analysis of the Value for Unit Commitment of Improved Load Forecasts</article-title>. <source>IEEE Trans. Power Syst.</source> <volume>14</volume> (<issue>4</issue>), <fpage>1342</fpage>&#x2013;<lpage>1348</lpage>. <pub-id pub-id-type="doi">10.1109/59.801894</pub-id> </citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hu</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Wen</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zeng</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>A Short-Term Power Load Forecasting Model Based on the Generalized Regression Neural Network with Decreasing Step Fruit Fly Optimization Algorithm</article-title>. <source>Neurocomputing</source> <volume>221</volume>, <fpage>24</fpage>&#x2013;<lpage>31</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2016.09.027</pub-id> </citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jiang</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>On the Robustness of Global Exponential Stability for Hybrid Neural Networks with Noise and Delay Perturbations</article-title>. <source>Neural Comput. Applic</source> <volume>24</volume> (<issue>7</issue>), <fpage>1497</fpage>&#x2013;<lpage>1504</lpage>. <pub-id pub-id-type="doi">10.1007/s00521-013-1374-2</pub-id> </citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jiang</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Displacement Prediction of Landslide Based on Generalized Regression Neural Networks with K-fold Cross-Validation</article-title>. <source>Neurocomputing</source> <volume>198</volume>, <fpage>40</fpage>&#x2013;<lpage>47</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2015.08.118</pub-id> </citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jiang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Gong</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhong</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Holt-Winters Smoothing Enhanced by Fruit Fly Optimization Algorithm to Forecast Monthly Electricity Consumption</article-title>. <source>Energy</source> <volume>193</volume>, <fpage>116779</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2019.116779</pub-id> </citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jianzhou Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Research and Application of a Hybrid Forecasting Framework Based on Multi-Objective Optimization for Electrical Power System</article-title>. <source>Energy</source> <volume>148</volume>, <fpage>59</fpage>&#x2013;<lpage>78</lpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2018.01.112</pub-id> </citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kumar</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Malik</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Generalized Regression Neural Network Based Wind Speed Prediction Model for Western Region of India</article-title>. <source>Proced. Comp. Sci.</source> <volume>93</volume>, <fpage>26</fpage>&#x2013;<lpage>32</lpage>. <pub-id pub-id-type="doi">10.1016/j.procs.2016.07.177</pub-id> </citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Duan</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Sang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Duan</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>An Efficient Optimization Algorithm for Resource-Constrained Steelmaking Scheduling Problems</article-title>. <source>IEEE Access</source> <volume>6</volume>, <fpage>33883</fpage>&#x2013;<lpage>33894</lpage>. <pub-id pub-id-type="doi">10.1109/ACCESS.2018.2840512</pub-id> </citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Global Anti-synchronization of Complex-Valued Memristive Neural Networks with Time Delays</article-title>. <source>IEEE Trans. Cybern.</source> <volume>49</volume> (<issue>5</issue>), <fpage>1735</fpage>&#x2013;<lpage>1747</lpage>. <pub-id pub-id-type="doi">10.1109/TCYB.2018.2812708</pub-id> </citation>
</ref>
<ref id="B20">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Lu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Zeng</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Loo</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>An Improved RBF Neural Network for Short-Term Load Forecast in Smart Grids</article-title>,&#x201d; in <conf-name>Proceeding of the 2016 IEEE International Conference on Communication Systems (ICCS)</conf-name>, <conf-loc>Shenzhen, China</conf-loc>, <conf-date>Dec. 2016</conf-date> (<publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x2013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.1109/iccs.2016.7833643</pub-id> </citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Meng</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Pan</surname>
<given-names>Q.-K.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>An Improved Fruit Fly Optimization Algorithm for Solving the Multidimensional Knapsack Problem</article-title>. <source>Appl. Soft Comput.</source> <volume>50</volume>, <fpage>79</fpage>&#x2013;<lpage>93</lpage>. <pub-id pub-id-type="doi">10.1016/j.asoc.2016.11.023</pub-id> </citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Miti&#x107;</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Vukovi&#x107;</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Petrovi&#x107;</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Miljkovi&#x107;</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Chaotic Fruit Fly Optimization Algorithm</article-title>. <source>Knowledge-Based Syst.</source> <volume>89</volume>, <fpage>446</fpage>&#x2013;<lpage>458</lpage>. <pub-id pub-id-type="doi">10.1016/j.knosys.2015.08.010</pub-id> </citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ozturk</surname>
<given-names>A. U.</given-names>
</name>
<name>
<surname>Turan</surname>
<given-names>M. E.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Prediction of Effects of Microstructural Phases Using Generalized Regression Neural Network</article-title>. <source>Construction Building Mater.</source> <volume>29</volume>, <fpage>279</fpage>&#x2013;<lpage>283</lpage>. <pub-id pub-id-type="doi">10.1016/j.conbuildmat.2011.10.015</pub-id> </citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pan</surname>
<given-names>Q.-K.</given-names>
</name>
<name>
<surname>Sang</surname>
<given-names>H.-Y.</given-names>
</name>
<name>
<surname>Duan</surname>
<given-names>J.-H.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>An Improved Fruit Fly Optimization Algorithm for Continuous Function Optimization Problems</article-title>. <source>Knowledge-Based Syst.</source> <volume>62</volume>, <fpage>69</fpage>&#x2013;<lpage>83</lpage>. <pub-id pub-id-type="doi">10.1016/j.knosys.2014.02.021</pub-id> </citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pan</surname>
<given-names>W.-T.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>A New Fruit Fly Optimization Algorithm: Taking the Financial Distress Model as an Example</article-title>. <source>Knowledge-Based Syst.</source> <volume>26</volume>, <fpage>69</fpage>&#x2013;<lpage>74</lpage>. <pub-id pub-id-type="doi">10.1016/j.knosys.2011.07.001</pub-id> </citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Samadianfard</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Jarhan</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Salwana</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Mosavi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Shamshirband</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Akib</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Support Vector Regression Integrated with Fruit Fly Optimization Algorithm for River Flow Forecasting in Lake Urmia Basin</article-title>. <source>Water</source> <volume>11</volume> (<issue>9</issue>), <fpage>1934</fpage>. <pub-id pub-id-type="doi">10.3390/w11091934</pub-id> </citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sammen</surname>
<given-names>S. S.</given-names>
</name>
<name>
<surname>Mohamed</surname>
<given-names>T. A.</given-names>
</name>
<name>
<surname>Ghazali</surname>
<given-names>A. H.</given-names>
</name>
<name>
<surname>El-Shafie</surname>
<given-names>A. H.</given-names>
</name>
<name>
<surname>Sidek</surname>
<given-names>L. M.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Generalized Regression Neural Network for Prediction of Peak Outflow from Dam Breach</article-title>. <source>Water Resour. Manage.</source> <volume>31</volume> (<issue>1</issue>), <fpage>549</fpage>&#x2013;<lpage>562</lpage>. <pub-id pub-id-type="doi">10.1007/s11269-016-1547-8</pub-id> </citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Specht</surname>
<given-names>D. F.</given-names>
</name>
</person-group> (<year>1991</year>). <article-title>A General Regression Neural Network</article-title>. <source>IEEE Trans. Neural Netw.</source> <volume>2</volume> (<issue>6</issue>), <fpage>568</fpage>&#x2013;<lpage>576</lpage>. <pub-id pub-id-type="doi">10.1109/72.97934</pub-id> </citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Taghi Sattari</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Feizi</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Samadianfard</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Falsafian</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Salwana</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Estimation of Monthly and Seasonal Precipitation: A Comparative Study Using Data-Driven Methods versus Hybrid Approach</article-title>. <source>Measurement</source> <volume>173</volume>, <fpage>108512</fpage>. <pub-id pub-id-type="doi">10.1016/j.measurement.2020.108512</pub-id> </citation>
</ref>
<ref id="B30">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Talele</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Shirsat</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Uplenchwar</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Tuckley</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Facial Expression Recognition Using General Regression Neural Network</article-title>,&#x201d; in <conf-name>Proceeding of the 2016 IEEE Bombay Section Symposium (IBSS)</conf-name>, <conf-loc>Baramati, India</conf-loc>, <conf-date>Dec. 2016</conf-date> (<publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x2013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.1109/ibss.2016.7940203</pub-id> </citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>An Improved Fruit Fly Optimization Algorithm and its Application to Joint Replenishment Problems</article-title>. <source>Expert Syst. Appl.</source> <volume>42</volume> (<issue>9</issue>), <fpage>4310</fpage>&#x2013;<lpage>4323</lpage>. <pub-id pub-id-type="doi">10.1016/j.eswa.2015.01.048</pub-id> </citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Niu</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Outlier-robust Hybrid Electricity price Forecasting Model for Electricity Market Management</article-title>. <source>J. Clean. Prod.</source> <volume>249</volume>, <fpage>119318</fpage>. <pub-id pub-id-type="doi">10.1016/j.jclepro.2019.119318</pub-id> </citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xuan</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Si</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Multi-Model Fusion Short-Term Load Forecasting Based on Random Forest Feature Selection and Hybrid Neural Network</article-title>. <source>Ieee Access</source> <volume>9</volume>, <fpage>69002</fpage>&#x2013;<lpage>69009</lpage>. <pub-id pub-id-type="doi">10.1109/access.2021.3051337</pub-id> </citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Research and Application of a Novel Hybrid Model Based on Data Selection and Artificial Intelligence Algorithm for Short Term Load Forecasting</article-title>. <source>Entropy</source> <volume>19</volume> (<issue>2</issue>), <fpage>52</fpage>. <pub-id pub-id-type="doi">10.3390/e19020052</pub-id> </citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Hao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A Novel Machine Learning-Based Electricity price Forecasting Model Based on Optimal Model Selection Strategy</article-title>. <source>Energy</source> <volume>238</volume>, <fpage>121989</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2021.121989</pub-id> </citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Gu</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Self-adaptive Step Fruit Fly Algorithm Optimized Support Vector Regression Model for Dynamic Response Prediction of Magnetorheological Elastomer Base Isolator</article-title>. <source>Neurocomputing</source> <volume>211</volume>, <fpage>41</fpage>&#x2013;<lpage>52</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2016.02.074</pub-id> </citation>
</ref>
<ref id="B37">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Hong</surname>
<given-names>W.-C.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Electric Load Forecasting by Complete Ensemble Empirical Mode Decomposition Adaptive Noise and Support Vector Regression with Quantum-Based Dragonfly Algorithm</article-title>. <source>Nonlinear Dyn.</source> <volume>98</volume> (<issue>2</issue>), <fpage>1107</fpage>&#x2013;<lpage>1136</lpage>. <pub-id pub-id-type="doi">10.1007/s11071-019-05252-7</pub-id> </citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ji</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Wei</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Risk Prediction and Risk Factor Analysis of Urban Logistics to Public Security Based on PSO-GRNN Algorithm</article-title>. <source>Plos One</source> <volume>15</volume> (<issue>10</issue>), <fpage>e0238443</fpage>. <pub-id pub-id-type="doi">10.1371/journal.pone.0238443</pub-id> </citation>
</ref>
<ref id="B39">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Zhen Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Yin</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Flux Extraction Based on General Regression Neural Network for Two-Dimensional Spectral Image</article-title>,&#x201d; in <source>International Conference on Human-Computer Interaction</source> (<publisher-name>Springer</publisher-name>), <fpage>219</fpage>&#x2013;<lpage>226</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-92270-6_30</pub-id> </citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zheng</surname>
<given-names>X.-l.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A Knowledge-Guided Fruit Fly Optimization Algorithm for Dual Resource Constrained Flexible Job-Shop Scheduling Problem</article-title>. <source>Int. J. Prod. Res.</source> <volume>54</volume> (<issue>18</issue>), <fpage>5554</fpage>&#x2013;<lpage>5566</lpage>. <pub-id pub-id-type="doi">10.1080/00207543.2016.1170226</pub-id> </citation>
</ref>
<ref id="B41">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Lian</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wei</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Che</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>L.</given-names>
</name>
<etal/>
</person-group> (<year>2018</year>). <article-title>PM2.5 Forecasting Using SVR with PSOGSA Algorithm Based on CEEMD, GRNN and GCA Considering Meteorological Factors</article-title>. <source>Atmos. Environ.</source> <volume>183</volume>, <fpage>20</fpage>&#x2013;<lpage>32</lpage>. <pub-id pub-id-type="doi">10.1016/j.atmosenv.2018.04.004</pub-id> </citation>
</ref>
</ref-list>
</back>
</article>