<?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. Energy Res.</journal-id>
<journal-title>Frontiers in Energy Research</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Energy Res.</abbrev-journal-title>
<issn pub-type="epub">2296-598X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1135741</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2023.1135741</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>An improved ELM-WOA&#x2013;based fault diagnosis for electric power</article-title>
<alt-title alt-title-type="left-running-head">Xu et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2023.1135741">10.3389/fenrg.2023.1135741</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Xu</surname>
<given-names>Feifei</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Liu</surname>
<given-names>Yang</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2145210/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Lei</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Department of Marketing</institution>, <institution>State Grid Yantai Fushan Power Supply Company</institution>, <addr-line>Yantai</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Teaching and Research Support Center</institution>, <institution>Naval University of Engineering</institution>, <addr-line>Wuhan</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>College of Weaponry Engineering</institution>, <institution>Naval University of Engineering</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/1304266/overview">Xin Ning</ext-link>, Institute of Semiconductors (CAS), 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/2074387/overview">Sahraoui Dhelim</ext-link>, University College Dublin, Ireland</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2163912/overview">Luyang Hou</ext-link>, Beijing University of Posts and Telecommunications (BUPT), China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2163765/overview">Achyut Shankar</ext-link>, University of Warwick, United Kingdom</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Yang Liu, <email>liuyang42467452@163.com</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Smart Grids, a section of the journal Frontiers in Energy Research</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>15</day>
<month>02</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>11</volume>
<elocation-id>1135741</elocation-id>
<history>
<date date-type="received">
<day>01</day>
<month>01</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>30</day>
<month>01</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Xu, Liu and Wang.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Xu, Liu and Wang</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>Due to its fast learning speed, the extreme learning machine (ELM) plays a very important role in the real-time monitoring of electric power. However, the initial weights and thresholds of the ELM are randomly selected, therefore it is difficult to achieve an optimal network performance; in addition, there is a lack of distance selection when detecting faults using artificial intelligence algorithms. To solve the abovementioned problem, we present a fault diagnosis method for microgrids on the basis of the whale algorithm optimization&#x2013;extreme learning machine (WOA-ELM). First, the wavelet packet decomposition is used to analyze the three-phase fault voltage, and the energy entropy of the wavelet packet is calculated to form the eigenvector as the data sample; then, we use the original ELM model coupled with the theory of distance selection to locate faults and compared it with the SVM method; finally, the whale algorithm is used to optimize the input weight and hidden layer neuron threshold of the ELM, i.e., the WOA-ELM model, which solves the problem of the random initialization of the input weight and hidden layer neuron threshold that easily affects the network performance, further improves the learning speed and generalization ability of the network, and is conducive to the overall optimization. The results show that 1) the accuracy of selecting the data according to the fault distance is twice that of not selecting data according to it; 2) compared with the BP neural network, RBF neural network, and ELM, the fault diagnosis model based on the WOA-ELM has a faster learning speed, stronger generalization ability, and higher recognition accuracy; and 3) after optimization of the WOA, the WOA-ELM can improve 22.5% accuracy in fault detection when compared to the traditional ELM method. Our results are of great significance in improving the security of smart grid.</p>
</abstract>
<kwd-group>
<kwd>smart grid</kwd>
<kwd>ELM</kwd>
<kwd>fault diagnosis</kwd>
<kwd>support vector machine</kwd>
<kwd>wavelet transform</kwd>
<kwd>WOA-ELM</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>With the rapid development of modern economy, the consumption of energy is increasing high (<xref ref-type="bibr" rid="B31">Zhang et al., 2023</xref>). The direct consumption and waste of non-renewable energy are particularly serious. The direct consumption and waste of non-renewable energy are particularly serious. People&#x2019;s demand for the energy, power quality, and power company services are growing (<xref ref-type="bibr" rid="B2">Chang et al., 2023</xref>). For the traditional power grid, with the continuous extension of transmission lines, the occurrence rate of faults is also constantly improving (<xref ref-type="bibr" rid="B13">Lei et al., 2022</xref>). There are many reasons for the large-scale blackout of the power grid due to fault in transmission, for example, extreme weather events and aggravating anthropogenic activities (<xref ref-type="bibr" rid="B13">Lei et al., 2022</xref>; <xref ref-type="bibr" rid="B15">Liu et al., 2022</xref>). However, faults cannot be completely avoided, as they are not only affected by human factors, but also by nature. Therefore, it is very meaningful to detect, classify, and locate faults in smart grid (<xref ref-type="bibr" rid="B15">Liu et al., 2022</xref>; <xref ref-type="bibr" rid="B22">Waldrigues et al., 2022</xref>).</p>
<p>Unified power fault detection methods bring huge costs (<xref ref-type="bibr" rid="B4">Chen et al., 2022a</xref>; <xref ref-type="bibr" rid="B24">Wang, 2022</xref>; <xref ref-type="bibr" rid="B28">Yan et al., 2022</xref>), so now, many works use artificial intelligence methods to detect, classify, and locate power faults (<xref ref-type="bibr" rid="B8">Hou et al., 2022</xref>; <xref ref-type="bibr" rid="B14">Li et al., 2022</xref>; <xref ref-type="bibr" rid="B18">Ma et al., 2022</xref>). For example, <xref ref-type="bibr" rid="B30">Yuvaraja et al. (2022)</xref> examined the effect of smart grid systems by implementing the artificial intelligence technique with application of renewable energy sources (<xref ref-type="bibr" rid="B30">Yuvaraja et al., 2022</xref>). <xref ref-type="bibr" rid="B4">Chen et al. (2022a)</xref> used the CNN-LSTM model to solve the problem of the slow transmission rate of high-frequency information in smart grid and improve the efficiency of information transmission (<xref ref-type="bibr" rid="B25">Xin, 2022</xref>). Because the distance of the transmission line is relatively long, the probability of failure of the transmission line is increased (<xref ref-type="bibr" rid="B1">Ayushi et al., 2022</xref>; <xref ref-type="bibr" rid="B25">Xin, 2022</xref>; <xref ref-type="bibr" rid="B30">Yuvaraja et al., 2022</xref>). Some scholars use neural networks to detect whether there is a current that is directly grounded (<xref ref-type="bibr" rid="B25">Xin, 2022</xref>). In their results, the decision tree and neural network have a good effect in the fault classification and location of electric wires (<xref ref-type="bibr" rid="B1">Ayushi et al., 2022</xref>). Moreover, some studies have used the neural network coupled with wavelet transforms to detect faults&#x2014;specifically, some signals of the layer are extracted through wavelet transforms to judge whether there is a fault and then the neural network or regression decision tree is used to judge what the fault is (<xref ref-type="bibr" rid="B1">Ayushi et al., 2022</xref>; <xref ref-type="bibr" rid="B21">Singhal et al., 2022</xref>; <xref ref-type="bibr" rid="B25">Xin, 2022</xref>). Generally, the collected data are trained and located by simulating the fault type and fault location of the wire (<xref ref-type="bibr" rid="B3">Chen et al., 2022b</xref>; <xref ref-type="bibr" rid="B21">Singhal et al., 2022</xref>). Furthermore, a complex neural network is specially designed for the complex of power grid data.</p>
<p>The data used in fault detection are divided into two categories: one, the data that are collected at only one end and the other, the data that are collected at both ends (<xref ref-type="bibr" rid="B3">Chen et al., 2022b</xref>). If data from only one end is used, it will be easier to collect than when collecting data from both the ends at the same time. However, data from only one end usually show either poor accuracy or incomplete detection. Some researchers have suggested using the K-nearest neighbor (KNN) to solve the above problem (<xref ref-type="bibr" rid="B6">Fang et al., 2022</xref>). For KNN, Euclidean distance was calculated, and the smaller one as the similar standard. Also, the KNN when combined with the wavelet transform can classify and locate wire faults more efficiently, with the data at one end being used to calculate the wavelet transform before classification and location. In the past, some scholars have compared the data only used at one end with that from both ends (<xref ref-type="bibr" rid="B20">Shafiullah et al., 2022</xref>). In these two cases, the accuracy of fault location estimation is similar. However, since it is more difficult to collect data to measure the data at both ends, it has been recommended to use only the data at one end (<xref ref-type="bibr" rid="B6">Fang et al., 2022</xref>; <xref ref-type="bibr" rid="B10">Jia et al., 2022</xref>; <xref ref-type="bibr" rid="B20">Shafiullah et al., 2022</xref>). Data collection at both ends has certain requirements for data collection instruments. Because the data at both ends have to be synchronized, GPS satellites are now used for synchronization (<xref ref-type="bibr" rid="B10">Jia et al., 2022</xref>). However, there are also some researchers who have recommended using the data at both ends that can to some extent obtain good performance in fault detection (<xref ref-type="bibr" rid="B29">You et al., 2021</xref>; <xref ref-type="bibr" rid="B5">Dac and Trung, 2023</xref>; <xref ref-type="bibr" rid="B19">Ma et al., 2023</xref>).</p>
<p>The ELM is the new type of neural network proposed by Professor Huang Guangbin of Nanyang University of Technology in Singapore in 2004. It has been widely used in many fields in recent years. The limit learning machine randomly selects hidden node parameters (such as input weights and deviations) and analyzes and judges the output weights of the single hidden layer feedforward neural network (SLFN). In this way, when the minimum training error is reached, the training burden can be significantly reduced. It is a simple and effective SLFN learning algorithm. It not only has the characteristics of a simple mathematical model and fast learning speed but also a good generalization performance. At present, it is being successfully applied to handwritten font recognition, weather prediction, voice and image recognition, and other fields. However, since the initial weights and thresholds of the traditional ELM are randomly selected, the best network performance is difficult to achieve. Furthermore, the fault location would be affected by the compensation equipment, but due to the uncertainty of these models, there would be some deviation when estimating the error. These shortcomings have currently not been solved by researchers.</p>
<p>In this article, therefore, a method is proposed to roughly judge whether the fault may be in the first half or second half with regard to the data at both ends and then locate the fault with the data at the end close to the fault. We also use the learning method of artificial intelligence (the extreme learning machine, ELM) to locate the fault location. Then, a smart grid fault diagnosis method based on the whale optimization algorithm (WOA) and extreme learning machine (ELM) is proposed to improve the ELM method in fault detection. If the data at the far end is used, the artificial intelligence method cannot locate the fault location well. This is because the data collected at the detection data end must pass through more power components at the end farther from the fault location. These components have an impact on the transmission of electrical signals. In order to reduce the unnecessary effects, the data collected at the nearest end can be selected as the input feature of the classifier. The methodology in this article is to first use the data at both ends of the classifier to determine the end at which the fault is likely to occur and then select the data at the nearest end to locate fault. Furthermore, because the initial weights and thresholds of the ELM are randomly selected, it is difficult to reach the optimum network performance. In order to overcome the abovementioned shortcomings, a fault diagnosis model is established by using the whale algorithm optimized&#x2013;extreme learning machine (WOA-ELM). The whale algorithm has the characteristics of a simple parameter setting, fast learning speed, high optimization accuracy, and strong global optimization ability. It can solve the problem of manually setting the initial weights and hidden layer thresholds of the limit learning machine and is conducive to further improve the recognition accuracy.</p>
<p>Therefore, we 1) first use the ELM to define the fault line and then analyze its results. At the same time, the support vector machine classifier and wavelet transforms are used to process the signal for location; 2) analyze the three-phase fault voltage by wavelet packet decomposition, and the energy entropy of wavelet packet is calculated to form the eigenvector as the data sample; 3) finally, use the whale algorithm to optimize the input weight and hidden neuron threshold of the ELM, which solves the problem of random initialization of the input weights and hidden neuron thresholds that easily affect network performance, which can further improve the learning speed and generalization ability of the network and is conducive to global optimization. Some data of these simulated wire faults are obtained as samples for experimental learning.</p>
<p>This study is organized as follows. We summarize the related works in <xref ref-type="sec" rid="s2">Section 2</xref>; then, we introduce the ELM methodology, WOA approach, and data process in <xref ref-type="sec" rid="s3">Section 3</xref>; in <xref ref-type="sec" rid="s4">Section 4</xref>, a model of the high-voltage transmission system is established; and in the Results section, the ELM, WOA-ELM, and SVM are used to locate the fault line, and the results are analyzed.</p>
</sec>
<sec id="s2">
<title>2 Related works</title>
<p>Compared with the traditional fault diagnosis method, the fault diagnosis method based on AI technology has a higher diagnosis accuracy and faster diagnosis speed. Many experts and scholars have proposed a large number of fault diagnosis methods on the basis of the AI algorithm, such as the expert system method, method based on the optimization model, method based on the graph theory model (such as the Petri net, Bayesian network, spike neural network (SNP) system, and artificial neural network (ANN).</p>
<p>The method based on the expert system is the earliest AI method to be applied for power grid fault diagnosis. This method establishes an expert rule base by simulating the logical experience of experts when dealing with faults. During diagnosis, the current fault information is compared with the rules of the expert base, and the diagnosis results are obtained according to the matching situation. Due to its good reasoning ability and fault interpretation ability, this method has become the most widely adopted and applied method in the field of power grid fault diagnosis in the early stages. <xref ref-type="bibr" rid="B7">Fukui and Kawakami (1986)</xref> proposed for the first time applying the expert system to the field of power grid fault diagnosis, using concepts and simplified information to estimate fault components and realizing smart grid fault diagnosis. However, due to the simple rule base, it can deal only with simple fault situations. The essence of this method based on the analytical model is a mathematical model built according to the power grid protection configuration and the action rules of protection and circuit breaker in case of faults. This method represents the fault diagnosis problem as a 0-1 integer programming problem and then uses the intelligent optimization algorithm to find out the fault hypothesis that can best explain the fault information. Because the theoretical basis is rigorous and has a mathematical basis, and the diagnosis process has explanatory power and is concise and clear, a large number of optimization algorithms are applied for power grid fault diagnosis. <xref ref-type="bibr" rid="B26">Xiong et al. (2018)</xref> proposed a brainstorming algorithm for binary coding optimization, established a fast fault diagnosis for large power grids, and solved the 0-1 integer programming problem using binary vector coding instead of the algorithm, thus improving the efficiency of the diagnosis model. The power grid fault diagnosis method based on the graph theory has strong explanatory power. The general process of such algorithms is to first establish a causal model, directly representing the causal relationship between protection and the circuit breaker through a clear and intuitive graphical process and then use their respective reasoning methods to diagnose the fault components. The graphical process makes it unnecessary to extract the representative fault samples, while the &#x201c;transparent&#x201d; diagnosis process (the diagnosis process conforms to logical reasoning) enables dispatchers to understand the whole fault diagnosis process in a very short time, which is conducive to the subsequent power recovery. The method based on Petri net is the most widely studied graphical fault diagnosis model. This method uses the repository/transition of weighted directed network to clearly restore the knowledge logic in fault diagnosis. The reverse reasoning process is simple and clear and the speed is fast, but the ability to deal with complex problems is low. Since then, researches in terms of diagnosis detection are mainly concentrated in high level high&#x2010;level Petri net (<xref ref-type="bibr" rid="B12">Lcfcbvre, 2014</xref>). The method is based on the Bayesian network and conditional probability reasoning to realize power grid fault diagnosis. The diagnosis model is intuitive and can diagnose effectively even when the alarm information is wrong, but it is difficult to obtain the prior probability of component fault in a complex power grid (<xref ref-type="bibr" rid="B9">Ji et al., 2022</xref>). The SNP system is essentially a directed graph composed of multiple neurons and synapses connecting the neurons, in which the neurons are the nodes and synapses are the directed arcs of the graph (<xref ref-type="bibr" rid="B23">Wang et al., 2011</xref>). In the SNP system, the transmission of data information is realized through the excitation of pulse potentials in the neurons. All pulses are represented by characters and considered undifferentiated. The data information in the SNP system can be transferred from the presynaptic neurons to postsynaptic neurons according to specific excitation rules. According to the excitation rules, new pulses are generated after the consumption of a part of the pulses. These new pulses are transmitted to all the neurons connected after the synapse. The fault diagnosis method based on the neural network has the characteristics of distributed storage, adaptive learning, high fault tolerance rate, and fast diagnosis speed and a certain development prospect in the field of power grid fault diagnosis (<xref ref-type="bibr" rid="B17">Luo et al., 2014</xref>). At present, there are three types of fault diagnosis methods based on the neural network: one is the centralized diagnosis method that takes the whole power grid as a whole and directly diagnoses; the second is the partition diagnosis method which divides the large-scale power grid into several regions for diagnosis; and the third is the component-oriented diagnosis method of establishing diagnosis network for faults of various power grid components (lines, buses, and transformers).</p>
<p>
<xref ref-type="bibr" rid="B2">Chang et al. (2023)</xref> proposed a fault identification method on the basis of a unified inverse-time characteristic equation to aim at the problems of large setting workload and easy mis-operation of the inverse-time overcurrent relay after distributed generation access (<xref ref-type="bibr" rid="B2">Chang et al., 2023</xref>); <xref ref-type="bibr" rid="B13">Lei et al. (2022)</xref> proposed the multi-population particle swarm optimization algorithm and compared it with single-population particle swarm algorithm on the IEEE 69-node model, they proved that the new algorithm can find fault locations faster; meanwhile, they verified the effectiveness of the algorithm in a variety of distribution network fault location scenarios (<xref ref-type="bibr" rid="B13">Lei et al., 2022</xref>). <xref ref-type="bibr" rid="B15">Liu et al. (2022)</xref> considered the randomness and uncertainty of the output of the solar and wind power, as well as the bidirectional characteristic of current flow and because the faults in the microgrids being difficult to identify using the traditional fault detection methods, they proposed a machine learning&#x2013;based fault identification method for microgrids. <xref ref-type="bibr" rid="B22">Waldrigues et al. (2022)</xref> proposed an improved method after Brazil (2020) to verify the feasibility of using time-series forecasting models for fault prediction; they also evaluated the long short-term memory (LSTM) model to obtain a forecast result that an electric power utility can use to organize maintenance teams. <xref ref-type="bibr" rid="B24">Wang (2022)</xref> presented a fault line selection approach on the basis of the modified artificial bee colony optimization&#x2013;deep neural network (ACB-DNN) to address the difficulties in choosing a fault line in electric current grounding systems for small electric currents. <xref ref-type="bibr" rid="B4">Chen et al. (2022a)</xref> put forward a novel fault recovery method for Automatic driving network (ADN) on the basis of an improved binary particle swarm optimization (BPSO) algorithm, and the topology constraints were specially considered to accelerate the recovery operation.</p>
<p>The extreme learning machine (ELM) is a single implicit feedforward network learning method derived from the neural network (NN). Because the weight value between the input and hidden layer and the hidden layer threshold of the algorithm are randomly generated without adjustments and training and the output can be obtained only by setting the number of hidden layer neurons, the algorithm has a good learning efficiency and high generalization (<xref ref-type="bibr" rid="B16">Luo et al., 2017</xref>). However, the ELM has the following shortcomings: the ELM uses the least squares method to learn, only considers the empirical risk of the model, and is prone to over-fitting. Especially, when the training data cannot express the characteristics of the learning data set, the over-fitting phenomenon is particularly serious. The accuracy of the ELM is significantly affected by the number of neurons in the hidden layer. The calculation error of the ELM depends heavily on the large number of hidden layers and easily causes dimension disaster, seriously affecting the practical application of the ELM (<xref ref-type="bibr" rid="B11">Kasun et al., 2013</xref>).</p>
<p>In order to overcome the abovementioned shortcomings, a fault diagnosis model is established by using the whale algorithm optimized&#x2013;extreme learning machine (WOA-ELM). The whale algorithm has the characteristics of simple parameter setting, fast learning speed, high optimization accuracy, and strong global optimization ability. It can solve the problem of manually setting the initial weight and hidden layer threshold of the limit learning machine and is conducive to further improve the recognition accuracy.</p>
</sec>
<sec id="s3">
<title>3 Methods and data</title>
<sec id="s3-1">
<title>3.1 ELM and WOA-ELM</title>
<p>In the single hidden layer feedforward networks (SLFNs), many parameters have to be adjusted because the weights of the neurons in the different layers are interdependent. In the past few decades, the gradient-based learning algorithm has been generally used in feedforward neural networks. The method is slow and easy to fall into the local minimum. Different from the traditional feedforward neural network, the extreme learning machine (ELM) has to adjust all the parameters of the feedforward neural network (for the structure of the ELM, see <xref ref-type="fig" rid="F1">Figure 1</xref>). This method randomly gives the input weight and threshold value of the neuron weight and then calculates the output weight by solving the generalized inverse (<xref ref-type="bibr" rid="B5">Dac and Trung, 2023</xref>). It has been proved that random selection of the node parameters of the feedforward neural network of a single hidden layer does not affect the convergence ability of the neural network, which makes the network training speed of the ELM thousands of times higher than that of the traditional network (<xref ref-type="bibr" rid="B19">Ma et al., 2023</xref>). Therefore, we first let SLFN have one hidden node. For the feedforward neural network with a single hidden layer, its standard model is<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mover accent="true">
<mml:mi>N</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
</mml:munderover>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2219;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>o</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2,3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where <inline-formula id="inf1">
<mml:math id="m2">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2219;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the inner product of vector <inline-formula id="inf2">
<mml:math id="m3">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">n</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, N is the training sample, <inline-formula id="inf3">
<mml:math id="m4">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>N</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the number of hidden layer units, <inline-formula id="inf4">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi>o</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the actual input value. <inline-formula id="inf5">
<mml:math id="m6">
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the activation function. Using sigmoid function as the activation function, if let Eq. <xref ref-type="disp-formula" rid="e2">2</xref> is the infinite approximation at 0 with existing <inline-formula id="inf6">
<mml:math id="m7">
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>:<disp-formula id="e2">
<mml:math id="m8">
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<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:mo>&#x2225;</mml:mo>
<mml:msub>
<mml:mi>o</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
<disp-formula id="e3">
<mml:math id="m9">
<mml:mrow>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mover accent="true">
<mml:mi>N</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
</mml:munderover>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2219;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2,3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>Eq. <xref ref-type="disp-formula" rid="e3">3</xref> can be written compactly as<disp-formula id="e4">
<mml:math id="m10">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>where <inline-formula id="inf7">
<mml:math id="m11">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf8">
<mml:math id="m12">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>.<disp-formula id="e5">
<mml:math id="m13">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mover accent="true">
<mml:mi>N</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>where <inline-formula id="inf9">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2219;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, and <italic>H</italic> is the output matrix of the hidden layer of the neural network. When the number of hidden layer elements is the same as the total number of training samples, and the matrix is invertible, Eq. <xref ref-type="disp-formula" rid="e4">4</xref> has a unique solution. That is, Eq. <xref ref-type="disp-formula" rid="e2">2</xref> is satisfied. However, in many cases, when the number of hidden layer elements is far less than the total number of training samples, H is a rectangular matrix at this time and <inline-formula id="inf12">
<mml:math id="m17">
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> does not necessarily exist and makes Eq. <xref ref-type="disp-formula" rid="e2">2</xref> hold, so it can be equivalent to finding the minimum value of Eq. <xref ref-type="disp-formula" rid="e5">5</xref> as the solution of Eq. <xref ref-type="disp-formula" rid="e2">2</xref>.<disp-formula id="e6">
<mml:math id="m18">
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<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:msup>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mover accent="true">
<mml:mi>N</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
</mml:munderover>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2219;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2225;</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Structure of extreme learning machine. W is input weight, <inline-formula id="inf13">
<mml:math id="m19">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is output weight.</p>
</caption>
<graphic xlink:href="fenrg-11-1135741-g001.tif"/>
</fig>
<p>If Eq. <xref ref-type="disp-formula" rid="e5">5</xref> is solved by the gradient learning method, it can be used to represent all parameters, and the iteration can be written as given in Eq. <xref ref-type="disp-formula" rid="e7">7</xref>.<disp-formula id="e7">
<mml:math id="m20">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b8;</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b7;</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2202;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2202;</mml:mo>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>where <inline-formula id="inf14">
<mml:math id="m21">
<mml:mrow>
<mml:mi>&#x3b7;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the learning efficiency. For feedforward neural networks, back-propagation neural networks are generally used. The neural network is a multilayer feedforward network trained according to error (<xref ref-type="bibr" rid="B29">You et al., 2021</xref>). The neural network includes input layer nodes, output layer nodes, and one or more hidden layer nodes. First, the input signal reaches the hidden layer node, where it passes through the excitation function and the output signal of the hidden layer node is then transmitted to the output node to finally get the output result. (<xref ref-type="bibr" rid="B7">Fukui and Kawakami, 1986</xref>). The learning process is that the neural network constantly changes the connection weight of its own network in the case of external input samples, so as to make the output result of the network closest to the expected output value (<xref ref-type="bibr" rid="B26">Xiong et al., 2018</xref>). If the output results differ greatly from the expected values, backpropagation can be carried out, and then the weights of each neuron can be modified again, and finally, a good classifier can be trained through continuous iteration. If the learning rate is too small, the learning speed is very slow. If the selection is too large, it is difficult to obtain network convergence. If Eq. <xref ref-type="disp-formula" rid="e6">6</xref> is a non-convex function, it is easy to fall into a local minimum by continuously iterating and adjusting parameters. Repeated iteration is not only time consuming but also easily falls into the situation of learning and fitting (<xref ref-type="bibr" rid="B12">Lcfcbvre, 2014</xref>).</p>
<p>In SLFNs, <italic>W</italic> and <italic>b</italic> are given at the beginning of the algorithm and can be arbitrarily specified. Then, <italic>H</italic> is calculated, while the value remains unchanged. In this way, only the parameter <inline-formula id="inf15">
<mml:math id="m22">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> that can be changed is left, and this shows that the given <italic>W</italic> and <italic>b</italic> do not affect the results.</p>
<p>When <italic>W</italic> and <italic>b</italic> are fixed, Eq. <xref ref-type="disp-formula" rid="e4">4</xref> is solved by replacing it with Eq. <xref ref-type="disp-formula" rid="e8">8</xref>:<disp-formula id="e8">
<mml:math id="m23">
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>H</mml:mi>
<mml:mover accent="true">
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>&#x2225;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="italic">min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>H</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>&#x2225;</mml:mo>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
</p>
<p>The least squares solution can be obtained by solving the Eq. <xref ref-type="disp-formula" rid="e4">8</xref>.</p>
<p>In some large-scale projects, the learning process usually uses all the data and these learning times are very long. If new samples are added at this time, they have to learn together with the original data. In this way, it is a waste of time to relearn all the data. The online sequential learning neural network (OS-LNN) does not have to learn the previous data, but only has to add the new data to the learned network. However, the OS-LNN has to set network weights, and the training speed is also very slow. Although the training is completed, the online sequential learning&#x2013;extreme learning machine (OS-ELM) can not only learn data one by one but also learn them batch by batch. The least squares solution of <inline-formula id="inf16">
<mml:math id="m24">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <italic>is</italic> <inline-formula id="inf17">
<mml:math id="m25">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>H</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<italic>,</italic> and we considered that <inline-formula id="inf18">
<mml:math id="m26">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>k</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mover accent="true">
<mml:mi>N</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the number of hidden layer units, and <inline-formula id="inf19">
<mml:math id="m27">
<mml:mrow>
<mml:msup>
<mml:mi>H</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the left pseudo inverse of <italic>H</italic>, <inline-formula id="inf20">
<mml:math id="m28">
<mml:mrow>
<mml:msup>
<mml:mi>H</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:mi>H</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mi>N</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.<disp-formula id="e9">
<mml:math id="m29">
<mml:mrow>
<mml:msup>
<mml:mi>H</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close="" separators="|">
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mi>H</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi>H</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>By substituting equation <xref ref-type="disp-formula" rid="e9">(9)</xref> into equation <xref ref-type="disp-formula" rid="e8">(8)</xref>, we get<disp-formula id="e10">
<mml:math id="m30">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mi>H</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mi>H</mml:mi>
<mml:mi>T</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
<p>According to previous studies (<xref ref-type="bibr" rid="B5">Dac and Trung, 2023</xref>; <xref ref-type="bibr" rid="B19">Ma et al., 2023</xref>), the least square root is <inline-formula id="inf24">
<mml:math id="m34">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf25">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mn>0</mml:mn>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. When adding the new data (k &#x2b; 1), <inline-formula id="inf26">
<mml:math id="m36">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>)</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf27">
<mml:math id="m37">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is (k&#x2b;1)<sup>th</sup> data, <inline-formula id="inf28">
<mml:math id="m38">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and<disp-formula id="e11">
<mml:math id="m39">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>With the help of the Sherman-Morrison-Woodbury (SMW) equation, <inline-formula id="inf29">
<mml:math id="m40">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> can be calculated by<disp-formula id="e12">
<mml:math id="m41">
<mml:mrow>
<mml:msup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>where <inline-formula id="inf30">
<mml:math id="m42">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>K</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>I</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:msubsup>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>When the OS-ELM faces the new data, it does not have to relearn the old data, which makes it faster than the other neural network methods. When selecting the network parameters, it becomes only necessary to determine the number of neural units in the hidden layer, which also reduces the dependence on the network layers.</p>
<p>The whale optimization algorithm is mainly divided into three steps: surround prey, spiral bubble net attack method, and randomly search for prey.</p>
<p>Surround prey: because the location of the target prey is unknown <italic>a priori</italic>, the WOA algorithm treats the location of the best candidate in the current whale group as the location of the target prey, and the other individuals in the whale group update the location according to the location of the best candidate:<disp-formula id="e13">
<mml:math id="m43">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>&#x2219;</mml:mo>
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
<disp-formula id="e14">
<mml:math id="m44">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo>&#x2219;</mml:mo>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>
<disp-formula id="e15">
<mml:math id="m45">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>
<disp-formula id="e16">
<mml:math id="m46">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>where <italic>X</italic> is the position vector of the current solution; <italic>t</italic> is the number of iterations; <italic>A</italic> and <italic>C</italic> are coefficient vectors; <inline-formula id="inf31">
<mml:math id="m47">
<mml:mrow>
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the position vector of the optimal solution in the current whale population. <italic>a</italic> decreases linearly from 2 to 0 as the number of iterations increases; <italic>r</italic> is an arbitrary vector between 0 and 1.</p>
<p>Spiral bubble net attack method: the WOA algorithm first calculates the distance between the individual whale and the target prey, and then simulates the spiral movement of humpback whales for hunting behavior:<disp-formula id="e17">
<mml:math id="m48">
<mml:mrow>
<mml:msup>
<mml:mi>D</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>
<disp-formula id="e18">
<mml:math id="m49">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>D</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:msup>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>cos</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>where <italic>b</italic> is the constant coefficient defining the spiral shape, and <italic>l</italic> is a random number in the interval [&#x2212;1, 1].</p>
<p>Randomly search for prey: in the process of predation, when <italic>A</italic> is greater than 1 or less than &#x2212;1, the individuals in the whale group randomly select a prey with reference to each other&#x2019;s position to improve the global search ability of the algorithm, namely,<disp-formula id="e19">
<mml:math id="m50">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mi>C</mml:mi>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>
<disp-formula id="e20">
<mml:math id="m51">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>A</mml:mi>
<mml:mi>D</mml:mi>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>where <inline-formula id="inf32">
<mml:math id="m52">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a randomly selected position vector for the current whale group.</p>
<p>The steps for WOA to optimize the ELM are as follows:<list list-type="simple">
<list-item>
<p>(1) Parameter initialization. Set the WOA parameters, namely, the number of whales, maximum iterations, variable dimensions, and upper and lower limits of variables;</p>
</list-item>
<list-item>
<p>(2) Population initialization. Randomly initialize the position values of each dimension of all whale individuals, and the position values of each dimension of each whale individual representing the input weights or thresholds;</p>
</list-item>
<list-item>
<p>(3) Calculate the fitness value. Select the objective function to calculate the fitness value of each whale individual;</p>
</list-item>
<list-item>
<p>(4) Update the optimal solution. According to the fitness value of each whale individual, find the position of the optimal solution in all solutions and update the position of each whale individual according to the position of the optimal solution;</p>
</list-item>
<list-item>
<p>(5) The position of each individual whale is updated. When the probability <italic>p</italic> &#x3c; 0.5 and &#x7c; A &#x7c;&#x3c;1, the location is updated according to Equation <xref ref-type="disp-formula" rid="e16">16</xref>. If &#x7c; A &#x7c; &#x2265; 1, a location vector <italic>X</italic>
<sub>
<italic>rand</italic>
</sub> is randomly selected and the location is updated according to Equation <xref ref-type="disp-formula" rid="e19">19</xref>. when the probability <italic>p</italic> &#x2265; 0.5, the location is updated through Equation <xref ref-type="disp-formula" rid="e20">20</xref>.</p>
</list-item>
</list>
</p>
</sec>
<sec id="s3-2">
<title>3.2 Wavelet packet energy entropy extraction</title>
<p>The structure of the wind solar storage microgrid system is shown in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Structure of microgrid system. L<sub>1</sub>, L<sub>2</sub>, and L<sub>3</sub> are filter inductances; C<sub>1</sub>, C<sub>2</sub>, and C<sub>3</sub> are filter capacitors; Load1, Load2, Load3, and Load4 are electrical loads; r is line resistance; x is line reactance.</p>
</caption>
<graphic xlink:href="fenrg-11-1135741-g002.tif"/>
</fig>
<p>The internal line faults of the microgrid can be divided into single-phase ground short circuit (AG, BG, and CG), two-phase short circuit (AB, AC, and BC), two-phase ground short circuit (ABG, ACG, and BCG), three-phase short circuit (ABC), and three-phase ground short circuit (ABCG) faults.</p>
<p>When processing the signal, wavelet packet decomposition can decompose the low-frequency component and high-frequency component of the signal at the same time; higher the resolution, more detailed the decomposition and better the effect. The square-integrable function <italic>f(t)</italic> can be decomposed into a scaling function <inline-formula id="inf33">
<mml:math id="m53">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and wavelet function <inline-formula id="inf34">
<mml:math id="m54">
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>; <inline-formula id="inf35">
<mml:math id="m55">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is low frequency of <italic>f(t)</italic>, <inline-formula id="inf36">
<mml:math id="m56">
<mml:mrow>
<mml:mi>&#x3c6;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> <italic>i</italic>s high frequency of <italic>f(t)</italic>, and their relationship includes<disp-formula id="e21">
<mml:math id="m57">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mn>2</mml:mn>
</mml:msqrt>
<mml:mrow>
<mml:munder>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mn>2</mml:mn>
</mml:msqrt>
<mml:mrow>
<mml:munder>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>where <inline-formula id="inf37">
<mml:math id="m58">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is low pass filter coefficient, and <inline-formula id="inf38">
<mml:math id="m59">
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is high pass filter coefficient.</p>
<p>When <inline-formula id="inf39">
<mml:math id="m60">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3d5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c6;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> the set of functions defined above {<inline-formula id="inf40">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>} (n &#x3d; 0,1,2,...) is determined by <inline-formula id="inf41">
<mml:math id="m62">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3d5;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> determined wavelet packet. According to the fast algorithm of orthogonal wavelet transform, the recursive formula of wavelet packet coefficients can be obtained as follows:<disp-formula id="e22">
<mml:math id="m63">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:munder>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:munder>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>where <inline-formula id="inf42">
<mml:math id="m64">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the <italic>kth</italic> coefficient corresponding to the <italic>jth</italic> node of layer <italic>i</italic> after wavelet packet decomposition.</p>
<p>Wavelet packet energy entropy is a description of signal uncertainty, which can reflect the degree of random change of signals. When a fault occurs in the internal lines of the microgrid, because the voltage signal contains non-stationary signal components, the wavelet packet voltage reconstruction signal waveform will immediately fluctuate at the time of the fault. The wavelet packet decomposition and reconstruction technology can make accurate and rapid localization analysis of the voltage signal, which is reflected in the wavelet packet energy entropy, so the wavelet packet energy entropy can well reflect the fault characteristics of the voltage signal. According to information entropy theory, wavelet packet energy entropy can be defined as<disp-formula id="e23">
<mml:math id="m65">
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mi>P</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<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>L</mml:mi>
</mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">log</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>where <italic>L</italic> is the original signal length; <italic>X</italic>
<sub>
<italic>i, j</italic>
</sub> is the <italic>jth</italic> decomposition signal of layer <italic>i</italic>; <italic>P</italic> (<italic>X</italic>
<sub>
<italic>i, j</italic>
</sub>) is the frequency band energy probability density, and the mathematical expression is<disp-formula id="e24">
<mml:math id="m66">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:msubsup>
<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:msup>
<mml:mn>2</mml:mn>
<mml:mi>i</mml:mi>
</mml:msup>
</mml:msubsup>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>where <italic>E</italic>
<sub>
<italic>i,j</italic>
</sub> is the energy of the <italic>jth</italic> decomposed signal of the <italic>ith</italic> layer, defined as<disp-formula id="e25">
<mml:math id="m67">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mstyle displaystyle="true">
<mml:mo>&#x2211;</mml:mo>
</mml:mstyle>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
<mml:msup>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>where N is the length of the <italic>j</italic>th frequency band.</p>
</sec>
<sec id="s3-3">
<title>3.3 Data</title>
<p>According to <xref ref-type="fig" rid="F2">Figure 2</xref>, a microgrid model that includes wind turbine (10&#xa0;kW), photovoltaic cell (10&#xa0;kW), and battery (10&#xa0;Ah) is built in the MATLAB simulink environment. The filter inductances L<sub>1</sub>, L<sub>2</sub>, and L<sub>3</sub> are 3.6e<sup>&#x2212;3</sup>&#xa0;H; the filter capacitors C<sub>1</sub>, C<sub>2</sub>, and C<sub>3</sub> are 200e<sup>&#x2212;6</sup>&#xa0;F; the electrical loads Load1, Load2, Load3, and Load4 are 10&#xa0;kVA, 10&#xa0;kVA, 5&#xa0;kVA, and 15&#xa0;kVA, respectively; the line resistance <italic>r</italic> is 0.175&#xa0;&#x3a9;/km; and the line reactance <italic>x</italic> is 0.070&#xa0;&#x3a9;/km. Simulate each type of line fault at 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, and 90% of the lines between <italic>P</italic>
<sub>
<italic>1</italic>
</sub> and <italic>P</italic>
<sub>
<italic>2</italic>
</sub> on the microgrid side. The db6 wavelet is selected as the wavelet base, and the simulated A-phase fault voltage is analyzed by three-layer wavelet packets to obtain 2<sup>3</sup> sub signals in different frequency bands, which are reordered from low frequency to high frequency. The wavelet packet signal reconstruction is carried out for each frequency band, and a total of eight wavelet packet reconstruction signals are obtained. The energy entropy of the reconstructed signal of each wavelet packet is calculated, and a set of eigenvectors are constructed from the energy entropy of eight wavelet packets. By the same processing of phase B and phase C voltage signals, a eigenvector containing 24 wavelet packet energy entropy can be obtained <inline-formula id="inf43">
<mml:math id="m68">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>24</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. Taking <inline-formula id="inf44">
<mml:math id="m69">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>24</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> as the input sample of the network, and the output sample of the network is <inline-formula id="inf45">
<mml:math id="m70">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>4</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, t<sub>1</sub>, t<sub>2</sub> and t<sub>3</sub>, respectively, representing the line status of phase A, phase B, and phase C, and t<sub>4</sub> representing whether the fault phase is grounded when the line fails. When it is 0, it means there is no fault or the fault phase is not grounded at this time; when the output is 1, it means the fault phase is grounded.</p>
<p>The data samples at 10%, 20%, 40%, 60%, 80%, and 90% of the line positions are taken as training samples, and the data samples at 30%, 50%, and 70% are taken as test samples. The number of neurons in the input layer of ELM is 24, the number of neurons in the output layer is 4, the number of neurons in the hidden layer is determined to be 35 according to the trial and error method, the number of whales in WOA is 30, the maximum number of iterations is 200, and the variable dimension is 875.</p>
</sec>
</sec>
<sec sec-type="results|discussion" id="s4">
<title>4 Results and discussion</title>
<sec id="s4-1">
<title>4.1 Fault detection based on original ELM coupled with distance selection</title>
<p>As shown in <xref ref-type="table" rid="T1">Table 1</xref>, the method proposed in this article is nearly twice (mean error is 0.47%) as good as the method using B2 data only (mean error is 1.48%). The performance based on B2 only is better than that based on B1 (4.58%), it should be noted that the performance using combined B1B2 data (4.0%) is the poorest among the all methods.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Test error in the experiments (%).</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Number</th>
<th align="left">B1</th>
<th align="left">B2</th>
<th align="left">B1B2</th>
<th align="left">Present study</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">1</td>
<td align="char" char=".">3.96</td>
<td align="char" char=".">1.85</td>
<td align="char" char=".">6.83</td>
<td align="char" char=".">0.59</td>
</tr>
<tr>
<td align="left">2</td>
<td align="char" char=".">4.76</td>
<td align="char" char=".">0.95</td>
<td align="char" char=".">1.78</td>
<td align="char" char=".">0.31</td>
</tr>
<tr>
<td align="left">3</td>
<td align="char" char=".">4.73</td>
<td align="char" char=".">1.20</td>
<td align="char" char=".">1.61</td>
<td align="char" char=".">0.50</td>
</tr>
<tr>
<td align="left">4</td>
<td align="char" char=".">4.99</td>
<td align="char" char=".">1.68</td>
<td align="char" char=".">4.06</td>
<td align="char" char=".">0.36</td>
</tr>
<tr>
<td align="left">5</td>
<td align="char" char=".">4.74</td>
<td align="char" char=".">1.39</td>
<td align="char" char=".">2.53</td>
<td align="char" char=".">0.67</td>
</tr>
<tr>
<td align="left">6</td>
<td align="char" char=".">4.46</td>
<td align="char" char=".">1.38</td>
<td align="char" char=".">2.28</td>
<td align="char" char=".">0.27</td>
</tr>
<tr>
<td align="left">7</td>
<td align="char" char=".">4.73</td>
<td align="char" char=".">1.98</td>
<td align="char" char=".">8.17</td>
<td align="char" char=".">0.59</td>
</tr>
<tr>
<td align="left">8</td>
<td align="char" char=".">4.77</td>
<td align="char" char=".">1.60</td>
<td align="char" char=".">1.76</td>
<td align="char" char=".">0.66</td>
</tr>
<tr>
<td align="left">9</td>
<td align="char" char=".">4.65</td>
<td align="char" char=".">1.44</td>
<td align="char" char=".">4.18</td>
<td align="char" char=".">0.51</td>
</tr>
<tr>
<td align="left">10</td>
<td align="char" char=".">4.11</td>
<td align="char" char=".">1.30</td>
<td align="char" char=".">6.78</td>
<td align="char" char=".">0.29</td>
</tr>
<tr>
<td align="left">Average</td>
<td align="char" char=".">4.59</td>
<td align="char" char=".">1.48</td>
<td align="char" char=".">4.01</td>
<td align="char" char=".">0.48</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>We compared the results between actual and predictive in <xref ref-type="fig" rid="F3">Figure 3</xref>, a total of samples of 209 are used for testing. Only 21 samples is not completely positioned accurately, that is, 10% samples have positioning errors, and the predicted values of the remaining test samples are identical to the actual values. The maximum error is that the actual value is 85% of the fault point that away from B1 and the predicted value is 92% of the fault point, with 7% error.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Comparison between actual values and predictive value.</p>
</caption>
<graphic xlink:href="fenrg-11-1135741-g003.tif"/>
</fig>
<p>We did a comparative experiment, and the results are presented in <xref ref-type="fig" rid="F4">Figure 4</xref>, when the B1 fault occurs, the data of B1 and B2 are used to locate the fault location. Through comparison, it can be found that the data on the B1 side should be accurate to the data on the B2 side. <xref ref-type="table" rid="T2">Table 2</xref> divides the fault distance into three sections: 0%&#x2013;33%, 33%&#x2013;66%, and 66%&#x2013;100%, respectively. Then, only the data of B1 is used to locate the fault, and it is found that the farther away from B1, the greater the test error. We demonstrated that it is more effective to use data close to the fault point. From the experimental results, it is shown that using the data points at the near end has better results. The farther the signal is transmitted, the greater is the resistance affected by various electrical components.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Comparison of experimental values with B1 and B2 data when fault is close to B1 end.</p>
</caption>
<graphic xlink:href="fenrg-11-1135741-g004.tif"/>
</fig>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Distance interval testing error through B1 data.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Experiment</th>
<th align="left">0%&#x2013;33%</th>
<th align="left">33%&#x2013;66%</th>
<th align="left">66%&#x2013;100%</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">1</td>
<td align="char" char=".">0.0021</td>
<td align="char" char=".">0.0046</td>
<td align="char" char=".">0.045</td>
</tr>
<tr>
<td align="left">2</td>
<td align="char" char=".">0.0027</td>
<td align="char" char=".">0.0072</td>
<td align="char" char=".">0.039</td>
</tr>
<tr>
<td align="left">3</td>
<td align="char" char=".">0.0021</td>
<td align="char" char=".">0.0173</td>
<td align="char" char=".">0.042</td>
</tr>
<tr>
<td align="left">4</td>
<td align="char" char=".">0.0002</td>
<td align="char" char=".">0.0173</td>
<td align="char" char=".">0.035</td>
</tr>
<tr>
<td align="left">5</td>
<td align="char" char=".">0.0006</td>
<td align="char" char=".">0.0042</td>
<td align="char" char=".">0.039</td>
</tr>
<tr>
<td align="left">6</td>
<td align="char" char=".">0.0017</td>
<td align="char" char=".">0.0144</td>
<td align="char" char=".">0.032</td>
</tr>
<tr>
<td align="left">7</td>
<td align="char" char=".">0.0007</td>
<td align="char" char=".">0.0081</td>
<td align="char" char=".">0.0344</td>
</tr>
<tr>
<td align="left">8</td>
<td align="char" char=".">0.0025</td>
<td align="char" char=".">0.0088</td>
<td align="char" char=".">0.0356</td>
</tr>
<tr>
<td align="left">9</td>
<td align="char" char=".">0.0017</td>
<td align="char" char=".">0.0094</td>
<td align="char" char=".">0.0401</td>
</tr>
<tr>
<td align="left">10</td>
<td align="char" char=".">0.0017</td>
<td align="char" char=".">0.0103</td>
<td align="char" char=".">0.0395</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The experiment in <xref ref-type="table" rid="T3">Table 3</xref> uses the SVM classifier, random forest (RF), and recurrent neural network (RNN) to test the method proposed in this article. Moreover, we choose to use libsvm and genetic the algorithm to optimize C and gamma parameters. The range of C is 0&#x2013;1,000, the range of gamma is 0&#x2013;1,000, the maximum evolutionary algebra is 200, and the maximum data of the population is 20. We can see that, in our methods, the selection of data based on the fault distance coupled with SVM can improve the accuracy of detection of fault in smart grids, with an average error of 0.86%, followed by RF with a mean error of 0.91% and B1B2-SVM with a mean error of 0.98%. Keeping the results of <xref ref-type="fig" rid="F4">Figure 4</xref> in mind when coupling with the SVM algorithm, the B1B2 method can obtain substantial accuracy with an average error of 0.98%, B1&#x2b;SVM has the poorest performance with a mean error of 3.87%, B2&#x2b;SVM has a moderate performance with a mean error of 1.61% (ranking of performance in <xref ref-type="fig" rid="F4">Figure 4</xref> is B2 &#x3e; B1B2 &#x3e; B1), which means that the artificial intelligence algorithm (SVM here) can substantially improve the detection of fault in the smart grid. the SVM can improve accuracy of fault detection more robustly than RF and RNN, for example, B1&#x2b;RF has an error of 4.3%, followed by B1&#x2b;RNN with 3.8%, and 1.9% and 2.0% for B2&#x2b;RF and B2&#x2b;RNN, respectively; 1.4% and 1.1% for B1B2&#x2b;RF and B1B2&#x2b;RNN, respectively. Fault distance&#x2013;based data selection can substantially improve accuracy of fault detection on the basis of not only SVM but also RF and RNN, for example, 0.8%, 0.9%, and 1.2% for SVM, RF, and RNN, respectively, which means the fault distance&#x2013;based data selection is useful for fault diagnoses.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Experimental results of SVM (%).</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Number</th>
<th align="left">B1&#x2b;SVM</th>
<th align="left">B1&#x2b;RF</th>
<th align="left">B1&#x2b;RNN</th>
<th align="left">B2&#x2b;SVM</th>
<th align="left">B2&#x2b;RF</th>
<th align="left">B2&#x2b;RNN</th>
<th align="left">B1B2&#x2b;SVM</th>
<th align="left">B1B2&#x2b;RF</th>
<th align="left">B1B2&#x2b;RNN</th>
<th align="left">Our method &#x2b; SVM</th>
<th align="left">Our method &#x2b; RF</th>
<th align="left">Our method &#x2b; RNN</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">1</td>
<td align="char" char=".">4.1</td>
<td align="char" char=".">5.2</td>
<td align="char" char=".">4.2</td>
<td align="char" char=".">1.7</td>
<td align="char" char=".">2.3</td>
<td align="char" char=".">2.1</td>
<td align="char" char=".">0.9</td>
<td align="char" char=".">1.5</td>
<td align="char" char=".">1.2</td>
<td align="char" char=".">0.8</td>
<td align="char" char=".">1.0</td>
<td align="char" char=".">0.9</td>
</tr>
<tr>
<td align="left">2</td>
<td align="char" char=".">3.06</td>
<td align="char" char=".">2.1</td>
<td align="char" char=".">4.0</td>
<td align="char" char=".">1.5</td>
<td align="char" char=".">2.0</td>
<td align="char" char=".">1.9</td>
<td align="char" char=".">0.9</td>
<td align="char" char=".">1.2</td>
<td align="char" char=".">1.0</td>
<td align="char" char=".">0.8</td>
<td align="char" char=".">1.2</td>
<td align="char" char=".">1.1</td>
</tr>
<tr>
<td align="left">3</td>
<td align="char" char=".">4.2</td>
<td align="char" char=".">5.3</td>
<td align="char" char=".">5.6</td>
<td align="char" char=".">1.7</td>
<td align="char" char=".">1.6</td>
<td align="char" char=".">1.8</td>
<td align="char" char=".">1.1</td>
<td align="char" char=".">1.1</td>
<td align="char" char=".">1.1</td>
<td align="char" char=".">1.0</td>
<td align="char" char=".">0.9</td>
<td align="char" char=".">1.2</td>
</tr>
<tr>
<td align="left">4</td>
<td align="char" char=".">4.3</td>
<td align="char" char=".">5.4</td>
<td align="char" char=".">5.2</td>
<td align="char" char=".">1.8</td>
<td align="char" char=".">1.9</td>
<td align="char" char=".">1.9</td>
<td align="char" char=".">1.1</td>
<td align="char" char=".">1.0</td>
<td align="char" char=".">0.8</td>
<td align="char" char=".">0.8</td>
<td align="char" char=".">0.8</td>
<td align="char" char=".">1.1</td>
</tr>
<tr>
<td align="left">5</td>
<td align="char" char=".">3.6</td>
<td align="char" char=".">4.2</td>
<td align="char" char=".">4.8</td>
<td align="char" char=".">1.6</td>
<td align="char" char=".">2.5</td>
<td align="char" char=".">1.9</td>
<td align="char" char=".">0.9</td>
<td align="char" char=".">1.6</td>
<td align="char" char=".">0.8</td>
<td align="char" char=".">0.7</td>
<td align="char" char=".">0.8</td>
<td align="char" char=".">1.0</td>
</tr>
<tr>
<td align="left">6</td>
<td align="char" char=".">3.7</td>
<td align="char" char=".">4.3</td>
<td align="char" char=".">3.6</td>
<td align="char" char=".">1.4</td>
<td align="char" char=".">1.0</td>
<td align="char" char=".">0.9</td>
<td align="char" char=".">0.8</td>
<td align="char" char=".">1.6</td>
<td align="char" char=".">0.9</td>
<td align="char" char=".">0.9</td>
<td align="char" char=".">1.3</td>
<td align="char" char=".">0.8</td>
</tr>
<tr>
<td align="left">7</td>
<td align="char" char=".">3.7</td>
<td align="char" char=".">4.0</td>
<td align="char" char=".">3.2</td>
<td align="char" char=".">1.9</td>
<td align="char" char=".">1.8</td>
<td align="char" char=".">2.1</td>
<td align="char" char=".">1.1</td>
<td align="char" char=".">0.8</td>
<td align="char" char=".">2.0</td>
<td align="char" char=".">0.8</td>
<td align="char" char=".">1.0</td>
<td align="char" char=".">0.8</td>
</tr>
<tr>
<td align="left">8</td>
<td align="char" char=".">4.3</td>
<td align="char" char=".">4.8</td>
<td align="char" char=".">3.9</td>
<td align="char" char=".">1.4</td>
<td align="char" char=".">2.3</td>
<td align="char" char=".">2.3</td>
<td align="char" char=".">0.9</td>
<td align="char" char=".">0.8</td>
<td align="char" char=".">1.0</td>
<td align="char" char=".">0.7</td>
<td align="char" char=".">0.7</td>
<td align="char" char=".">1.5</td>
</tr>
<tr>
<td align="left">9</td>
<td align="char" char=".">3.4</td>
<td align="char" char=".">3.6</td>
<td align="char" char=".">3.3</td>
<td align="char" char=".">1.7</td>
<td align="char" char=".">2.2</td>
<td align="char" char=".">2.5</td>
<td align="char" char=".">1.0</td>
<td align="char" char=".">2.1</td>
<td align="char" char=".">1.2</td>
<td align="char" char=".">0.8</td>
<td align="char" char=".">0.7</td>
<td align="char" char=".">1.5</td>
</tr>
<tr>
<td align="left">10</td>
<td align="char" char=".">3.4</td>
<td align="char" char=".">3.9</td>
<td align="char" char=".">4.0</td>
<td align="char" char=".">1.5</td>
<td align="char" char=".">1.8</td>
<td align="char" char=".">2.2</td>
<td align="char" char=".">0.9</td>
<td align="char" char=".">2.1</td>
<td align="char" char=".">1.3</td>
<td align="char" char=".">0.7</td>
<td align="char" char=".">0.6</td>
<td align="char" char=".">1.6</td>
</tr>
<tr>
<td align="left">Average</td>
<td align="char" char=".">3.9</td>
<td align="char" char=".">4.3</td>
<td align="char" char=".">3.8</td>
<td align="char" char=".">1.6</td>
<td align="char" char=".">1.9</td>
<td align="char" char=".">2.0</td>
<td align="char" char=".">0.9</td>
<td align="char" char=".">1.4</td>
<td align="char" char=".">1.1</td>
<td align="char" char=".">0.8</td>
<td align="char" char=".">0.9</td>
<td align="char" char=".">1.2</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>After processing the data with Daubechies wavelet, the data output of the first layer is selected as the feature of the input classifier. The results obtained after positioning with ELM and with SVM, RF, and RNN are shown in <xref ref-type="fig" rid="F5">Figures 5</xref>, <xref ref-type="fig" rid="F6">6</xref>, respectively. It can be seen that the method proposed in this article still has a good effect, with an average error of 0.66%. The method of B1&#x2b;ELM after wavelet transform is the poorest with a mean error of 5.12%, followed by B1B2&#x2b;ELM with of mean error of 4.93% and B2&#x2b;ELM with a mean error of 3.72. Performance of the SVM, RF, and RNN methods after wavelet transform is better than that of the ELM method, and the SVM has the best performance. As we can see in <xref ref-type="fig" rid="F6">Figure 6</xref>, B1&#x2b;SVM, B2&#x2b;SVM, or B1B2&#x2b;SVM has smaller errors in fault detection, specifically, B1&#x2b;SVM has the poorest performance with a mean error of 4.7%, followed by B2&#x2b;SVM (1.98%), B1B2&#x2b;SVM (1.14%), and our method, i.e., fault distance&#x2013;based data selection &#x2b; SVM (0.96%), which means that our fault distance&#x2013;based method to detect faults is robust. The methods of both RF and RNN are poorer than SVM; B1&#x2b;RF and B1&#x2b;RNN are the poorest with a mean 5.04% and 3.9%, respectively. However, RF and RNN substantially improve the accuracy of fault detection, which is still poorer than SVM, for example, a mean error of 1.099% and 1.26% for the fault distance&#x2013;based data selection &#x2b; RNN and fault distance&#x2013;based data selection &#x2b; RF, respectively, while the mean error was 0.959% for our method, which means that improvement of SVM is robust.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Data are located by ELM after wavelet transform.</p>
</caption>
<graphic xlink:href="fenrg-11-1135741-g005.tif"/>
</fig>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Data are located by SVM, RF, and RNN after wavelet transform.</p>
</caption>
<graphic xlink:href="fenrg-11-1135741-g006.tif"/>
</fig>
</sec>
<sec id="s4-2">
<title>4.2 Fault detection based on WOA-ELM method</title>
<p>In order to verify the superiority of the WOA-ELM diagnostic model and improve the recognition accuracy, the WOA-ELM diagnostic model is compared with the traditional ELM diagnostic model and optimized ELM by Quantum PSO, i.e., PSO-ELM. The results are shown in <xref ref-type="fig" rid="F7">Figure 7</xref>. The error of WOA-ELM and WOA-ELM diagnostic faults are nearly 8.5% and 8.9%; separately, they are higher than the traditional ELM model with an error of 11%. We further compared the results of the three models using the mean square error (MSE), root mean square error (RMSE), and mean absolute error (MAE) (<xref ref-type="table" rid="T4">Table 4</xref>). The WOA-ELM model is largely better than the PSO-ELM and ELM models both in the training and testing data sets in fault detection. The WOA-ELM model uses WOA algorithm to optimize the input weight and hidden layer node threshold of the ELM, overcomes the shortcomings of random initialization of the input weight and hidden layer node threshold of the ELM, improves the global search ability of the network, and makes the network have better recognition accuracy.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Comparative results of WOA-ELM, PSO-ELM, and traditional ELM models.</p>
</caption>
<graphic xlink:href="fenrg-11-1135741-g007.tif"/>
</fig>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Error between ELM and WOA-ELM methods in training and testing data sets.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left"/>
<th colspan="3" align="center">Training set</th>
<th colspan="3" align="center">Testing set</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Error</td>
<td align="left">ELM</td>
<td align="left">WOA-ELM</td>
<td align="left">PSO-ELM</td>
<td align="left">ELM</td>
<td align="left">WOA-ELM</td>
<td align="left">PSO-ELM</td>
</tr>
<tr>
<td align="left">MSE</td>
<td align="left">
<inline-formula id="inf46">
<mml:math id="m71">
<mml:mrow>
<mml:mn>6.374</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf47">
<mml:math id="m72">
<mml:mrow>
<mml:mn>7.615</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf48">
<mml:math id="m73">
<mml:mrow>
<mml:mn>8.96</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf49">
<mml:math id="m74">
<mml:mrow>
<mml:mn>4.215</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf50">
<mml:math id="m75">
<mml:mrow>
<mml:mn>8.759</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>8</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf51">
<mml:math id="m76">
<mml:mrow>
<mml:mn>9.65</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>7</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">RMSE</td>
<td align="left">0.0052</td>
<td align="left">0.00210</td>
<td align="left">0.0039</td>
<td align="left">0.0079</td>
<td align="left">0.0035</td>
<td align="left">0.0045</td>
</tr>
<tr>
<td align="left">MAE</td>
<td align="left">0.0096</td>
<td align="left">0.0017</td>
<td align="left">0.0041</td>
<td align="left">0.017</td>
<td align="left">0.021</td>
<td align="left">0.036</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Compared with the research results of others, the literature (<xref ref-type="bibr" rid="B9">Ji et al., 2022</xref>) proposes a basic network architecture design, using a simplified residual connection technology, using focal loss as the objective function for supervised training, adding a BatchNormalization layer to the network for optimization, reducing parameters based on ShuffleNet network, and improving accuracy on the basis of the attention mechanism, a process that can automatically determine the appropriate CNN architecture for fault diagnosis problems. <xref ref-type="bibr" rid="B23">Wang et al. (2011)</xref> proposed a new method for fault identification on the basis of parameter optimized variational mode decomposition (VMD) and convolutional neural network (CNN). <xref ref-type="bibr" rid="B17">Luo et al. (2014)</xref> proposed a real-time deep learning algorithm to classify and localize the faults that occurred in the system based on measured data. <xref ref-type="bibr" rid="B16">Luo et al. (2017)</xref> presented a method on the basis of gated graph neural network for automatic fault localization on distribution networks. The method aggregates problem data in a graph where the feeder topology is represented by the graph links and nodes attributes that can encapsulate any selected information such as operated devices, electrical characteristics, and measurements at the point. <xref ref-type="bibr" rid="B11">Kasun et al. (2013)</xref>, <xref ref-type="bibr" rid="B32">Zhibin et al. (2019)</xref>, and <xref ref-type="bibr" rid="B27">Xue and Dola (2022)</xref> proposed a multi-fault diagnosis model of distribution network on the basis of the fuzzy optimal convolutional neural network. In order to compare their results with ours, we used the RBF neural network and BP neural network to detect fault location in the smart grid and used indicators of MSE, RMSE, and MAE to evaluate accuracy; the results are provided in <xref ref-type="table" rid="T5">Table 5</xref>.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Error between BP and RBF methods in training and testing data sets.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left"/>
<th colspan="2" align="center">Training set</th>
<th colspan="2" align="center">Testing set</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Error</td>
<td align="left">BP</td>
<td align="left">RBF</td>
<td align="left">BP</td>
<td align="left">RBF</td>
</tr>
<tr>
<td align="left">MSE</td>
<td align="left">
<inline-formula id="inf52">
<mml:math id="m77">
<mml:mrow>
<mml:mn>9.110</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf53">
<mml:math id="m78">
<mml:mrow>
<mml:mn>4.392</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>17</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">
<inline-formula id="inf54">
<mml:math id="m79">
<mml:mrow>
<mml:mn>7.889</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">0.0321</td>
</tr>
<tr>
<td align="left">RMSE</td>
<td align="left">0.0302</td>
<td align="left">
<inline-formula id="inf55">
<mml:math id="m80">
<mml:mrow>
<mml:mn>2.001</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">0.0285</td>
<td align="left">0.0512</td>
</tr>
<tr>
<td align="left">MAE</td>
<td align="left">0.0181</td>
<td align="left">
<inline-formula id="inf56">
<mml:math id="m81">
<mml:mrow>
<mml:mn>1.401</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">0.0190</td>
<td align="left">0.021</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The three training errors of the WOA-ELM model are about one order of magnitude smaller than those of the BP neural network model and ELM model, while the three training errors of the RBF neural network model are 6&#x2013;13 orders of magnitude smaller than those of the WOA-ELM model. The training effect of RBF neural network is the best. However, it can be seen from <xref ref-type="table" rid="T6">Table 6</xref> that the three test errors of the WOA-ELM model are significantly smaller than those of the RBF neural network model. It shows that the RBF neural network model has a phenomenon of over-fitting, and its generalization ability is weak and cannot accurately identify the untrained fault types.</p>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>Fault diagnosis results of test samples at 50% of line.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Types of faults</th>
<th align="left">Expected output</th>
<th align="left">Actual output</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Normal</td>
<td align="right">(0,0,0,0)</td>
<td align="left">(&#x2212;0.001 1, 0.008 6, &#x2212;0.000 5, 0.001 1)</td>
</tr>
<tr>
<td align="left">AG</td>
<td align="right">(1,0,0,1)</td>
<td align="left">(0.995 6, &#x2212;0.002 5, 0.002 0, 0.987 4)</td>
</tr>
<tr>
<td align="left">BG</td>
<td align="right">(0,1,0,1)</td>
<td align="left">(&#x2212;0.001 0, 0.997 5, &#x2212;0.002 6, 0.998 0)</td>
</tr>
<tr>
<td align="left">CG</td>
<td align="right">(0,0,1,1)</td>
<td align="left">(&#x2212;0.002 1, 0.001 5, 0.998 3, 0.996 5)</td>
</tr>
<tr>
<td align="left">AB</td>
<td align="right">(1,1,0,0)</td>
<td align="left">(1.004 2, 0.995 7, 0.002 3, 0.009 1)</td>
</tr>
<tr>
<td align="left">AC</td>
<td align="right">(1,0,1,0)</td>
<td align="left">(1.002 5, &#x2212;0.007 9, 0.995 7, 0.002 3)</td>
</tr>
<tr>
<td align="left">BC</td>
<td align="right">(0,1,1,0)</td>
<td align="left">(0.001 7, 0.988 4, 0.993 8, &#x2212;0.003 6)</td>
</tr>
<tr>
<td align="left">ABG</td>
<td align="right">(1,1,0,1)</td>
<td align="left">(1.000 2, 0.995 9, &#x2212;0.010 7, 0.989 4)</td>
</tr>
<tr>
<td align="left">ACG</td>
<td align="right">(1,0,1,1)</td>
<td align="left">(1.004 6, 0.000 4, 0.992 4, 1.001 3)</td>
</tr>
<tr>
<td align="left">BCG</td>
<td align="right">(0,1,1,1)</td>
<td align="left">(&#x2212;0.006 6, 0.994 9, 1.010 3, 1.004 8)</td>
</tr>
<tr>
<td align="left">ABC</td>
<td align="right">(1,1,1,0)</td>
<td align="left">(1.004 8, 1.004 5, 0.999 1, 0.000 1)</td>
</tr>
<tr>
<td align="left">ABCG</td>
<td align="right">(1,1,1,1)</td>
<td align="left">(1.014 8, 1.012 5, 0.994 2, 1.004 4)</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4-3">
<title>4.3 WOA-ELM performance in microgrid fault diagnoses</title>
<p>In substituting the data samples into the WOA-ELM fault diagnosis model for training and testing, the line fault diagnosis results of the test samples at 50% of the line position are shown in <xref ref-type="table" rid="T6">Table 6</xref>.</p>
<p>It can be seen from <xref ref-type="table" rid="T6">Table 6</xref> that the absolute value of the error between the expected output and the actual output of the WOA-ELM fault diagnosis model does not exceed 0.015 at the most. The error is small, the accuracy is high, and the approximation ability is strong. It can accurately identify the fault types of microgrid lines.</p>
<p>In order to verify that WOA-ELM diagnostic model has better performance and higher recognition accuracy than the other models, the BP neural network, RBF neural network, and ELM were selected to establish the diagnostic models for comparative analysis. The expected output and actual output results of all training samples (72) are shown in <xref ref-type="fig" rid="F8">Figure 8A</xref>. It can be seen from <xref ref-type="fig" rid="F8">Figure 8A</xref> that the training error of the BP neural network model is large; the training results of the other three models can well approximate the expected output; the error between the actual value and expected value is small; and the training accuracy is high.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Desired output and actual output of 72 training samples <bold>(A)</bold> and testing samples <bold>(B)</bold>.</p>
</caption>
<graphic xlink:href="fenrg-11-1135741-g008.tif"/>
</fig>
<p>The expected output and actual output results of all test samples (36) are shown in <xref ref-type="fig" rid="F8">Figure 8B</xref>. It can be seen from <xref ref-type="fig" rid="F8">Figure 8B</xref> that the test results of the BP neural network model, RBF neural network model, and the non-optimized ELM model have large errors, while the test accuracy of the WOA-ELM model is the highest.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>In this article, a microgrid fault diagnosis method based on the whale algorithm optimization limit learning machine was proposed. The whale algorithm has the characteristics of fast convergence speed and strong global optimization ability. It optimizes the input weights and hidden layer neuron threshold of the ELM, effectively avoids the shortage of random initialization of network input weights and hidden layer threshold, enhances the approximation ability of the model, and significantly improves the recognition accuracy of the network. The results show that the selection of data based on the fault distance is twice as effective as the useless real data. The ELM method was proved to have a good location result by using the support vector machine classifier and wavelet transform to process the signal. After the ELM is improved by the WOA algorithm, the accuracy of fault detection is improved by nearly 22.5%. The simulation results show that the WOA-ELM model has a higher recognition accuracy than the BP neural network model, RBF neural network model, and ELM model and can more accurately identify the fault types of internal lines in the microgrid, which verifies the effectiveness and reliability of the WOA-ELM model.</p>
<p>The power system simulated in this article may be different from the complex power grid in reality. The actual power system wires are more complex, and the accuracy of the detection data may not be as high. Now, the method proposed in this article is to choose which end of the data to use on the basis of the distance. In fact, in the power system model, the information of the power components on both sides is not equal, which leads to a worse situation when using only the B1 end data than when using only the B2 end data. In this article, we use distance 1:1 to select data. Next, we can select data at B1 or B2 on the basis of a certain proportion, such that the effect of adding distance to power components is equivalent to 1:1. In fault location, many articles use wavelet transform to analyze because when a fault just occurs, the power system will produce transient signals, which is also one of the directions of future research. How to select data for fault location? Is it a half cycle or one cycle after fault? How long to choose is also something that can be further studied in the future.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary Material; further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s7">
<title>Author contributions</title>
<p>Conceptualization: FX and YL; methodology: YL; software: FX; validation: FX and YL; formal analysis: LW; investigation: LW; resources: FX; data curation: LW; writing&#x2014;original draft preparation: FX; writing&#x2014;review and editing: YL; visualization: FX; supervision: FX; project administration: YL; funding acquisition: YL; all authors have read and agreed to the published version of the manuscript.</p>
</sec>
<ack>
<p>The authors of the present study thank the reviewers for their contribution in improving the study.</p>
</ack>
<sec id="s8">
<title>Conflict of interest</title>
<p>Author FX was employed by State Grid Yantai Fushan Power Supply Company.</p>
<p>The remaining 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="s9">
<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, editors, and 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>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ayushi</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Preeti</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Singh</surname>
<given-names>G. N.</given-names>
</name>
<name>
<surname>Moy</surname>
<given-names>C. J.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Performance analysis of an optimized ANN model to predict the stability of smart grid</article-title>. <source>Complexity</source> <volume>2022</volume>, <fpage>1</fpage>&#x2013;<lpage>13</lpage>. <pub-id pub-id-type="doi">10.1155/2022/7319010</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chang</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Song</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Hou</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Chang</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Fault identification method based on unified inverse-time characteristic equation for distribution network</article-title>. <source>Int. J. Electr. Power Energy Syst.</source> <volume>20</volume>, <fpage>213</fpage>&#x2013;<lpage>223</lpage>. <pub-id pub-id-type="doi">10.1016/J.IJEPES.2022.108734</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Tan</surname>
<given-names>H.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>Hybrid tree model for root cause analysis of wireless network fault localization</article-title>. <source>Web Intell.</source> <volume>20</volume> (<issue>3</issue>), <fpage>213</fpage>&#x2013;<lpage>223</lpage>. <pub-id pub-id-type="doi">10.3233/web-220016</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Deng</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A novel fault recovery method of active distribution networks oriented to improving resilience</article-title>. <source>Energy Rep.</source> <volume>8</volume> (<issue>S15</issue>), <fpage>456</fpage>&#x2013;<lpage>466</lpage>. <pub-id pub-id-type="doi">10.1016/j.egyr.2022.10.152</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dac</surname>
<given-names>Q. H.</given-names>
</name>
<name>
<surname>Trung</surname>
<given-names>H. H.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Solving partial differential equation based on extreme learning machine</article-title>. <source>Math. Comput. Simul.</source> <volume>205</volume>, <fpage>697</fpage>&#x2013;<lpage>708</lpage>. <pub-id pub-id-type="doi">10.1016/j.matcom.2022.10.018</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Yin</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A failure prediction method of power distribution network based on PSO and XGBoost</article-title>. <source>Aust. J. Electr. Electron. Eng.</source> <volume>19</volume> (<issue>4</issue>), <fpage>371</fpage>&#x2013;<lpage>378</lpage>. <pub-id pub-id-type="doi">10.1080/1448837x.2022.2072447</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fukui</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Kawakami</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>1986</year>). <article-title>An expert system for fault section estimation using information from protective relays and circuit breakers information from protective relays and circuit breakers</article-title>. <source>IEEE Trans. Power Deliv.</source> <volume>PER-6</volume> (<issue>04</issue>), <fpage>83</fpage>&#x2013;<lpage>90</lpage>. <pub-id pub-id-type="doi">10.1109/tpwrd.1986.4308033</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hou</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Distribution network fault-line selection method based on MICEEMDAN&#x2013;recurrence plot&#x2013;yolov5</article-title>. <source>Processes</source> <volume>10</volume> (<issue>10</issue>), <fpage>2127</fpage>. <pub-id pub-id-type="doi">10.3390/pr10102127</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ji</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Fault Diagnosis algorithms of distribution network based on convolutional neural network</article-title>. <source>J. Phys. Conf. Ser.</source> <volume>2301</volume> (<issue>1</issue>), <fpage>012009</fpage>. <pub-id pub-id-type="doi">10.1088/1742-6596/2301/1/012009</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jia</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Power network fault location with exact distributed parameter line model and sparse estimation</article-title>. <source>Electr. Power Syst. Res.</source> <volume>212</volume>, <fpage>108137</fpage>. <pub-id pub-id-type="doi">10.1016/j.epsr.2022.108137</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kasun</surname>
<given-names>L. L. C.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Vong</surname>
<given-names>C.-M.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Representational learning with extreme learning machine for big data</article-title>. <source>IEEE Intell. Syst.</source> <volume>28</volume> (<issue>06</issue>), <fpage>31</fpage>&#x2013;<lpage>34</lpage>.</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lcfcbvre</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>On-line Fault Diagnosis with partially observed Petri ncts</article-title>. <source>IEEE Transaction Automatic Control</source> <volume>59</volume> (<issue>07</issue>), <fpage>1919</fpage>&#x2013;<lpage>1924</lpage>. <pub-id pub-id-type="doi">10.1504/IJISE.2018.10016217</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lei</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Fault Location of distribution network based on multi-population particle swarm optimization algorithm</article-title>. <source>J. Phy. Conf. Ser.</source> <volume>2360</volume> (<issue>1</issue>), <fpage>012024</fpage>. <pub-id pub-id-type="doi">10.1088/1742-6596/2360/1/012024</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Qiao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yin</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A faulty section location method for distribution grid based on grounding fault transfer device</article-title>. <source>Energy Rep.</source> <volume>8</volume> (<issue>S8</issue>), <fpage>81</fpage>&#x2013;<lpage>89</lpage>. <pub-id pub-id-type="doi">10.1016/j.egyr.2022.09.088</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>H.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>A machine learning-based fault identification method for microgrids with distributed generations</article-title>. <source>J. Phy. Conf. Ser.</source> <volume>2360</volume> (<issue>1</issue>), <fpage>012019</fpage>. <pub-id pub-id-type="doi">10.1088/1742-6596/2360/1/012019</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Vong</surname>
<given-names>C. M.</given-names>
</name>
<name>
<surname>Wong</surname>
<given-names>P. K.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Sparse bayesian extreme learning machine for multiclassification</article-title>. <source>IEEE Trans. Neural Netw. Learn. Syst.</source> <volume>25</volume> (<issue>04</issue>), <fpage>836</fpage>&#x2013;<lpage>843</lpage>. <pub-id pub-id-type="doi">10.1109/TNNLS.2013.2281839</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ling</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Fault diagnosis of electric power grid based on improved RBF neural network</article-title>. <source>TELKOMNIKA Indonesian J. Electr. Eng.</source> <volume>12</volume> (<issue>09</issue>), <fpage>4777</fpage>&#x2013;<lpage>4784</lpage>. <pub-id pub-id-type="doi">10.11591/telkomnika.v12i9.4642</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ma</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Dong</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>fault location based on comprehensive grey correlation degree analysis for flexible DC distribution network</article-title>. <source>Energies</source> <volume>15</volume> (<issue>20</issue>), <fpage>7820</fpage>. <pub-id pub-id-type="doi">10.3390/en15207820</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ma</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Hao</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Development and application of a hybrid forecasting framework based on improved extreme learning machine for enterprise financing risk</article-title>. <source>Expert Syst. Appl.</source> <volume>215</volume>, <fpage>119373</fpage>. <pub-id pub-id-type="doi">10.1016/j.eswa.2022.119373</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shafiullah</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>AlShumayri Khalid</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Alam</surname>
<given-names>M. S.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Machine learning tools for active distribution grid fault diagnosis</article-title>. <source>Adv. Eng. Softw.</source> <volume>173</volume>, <fpage>2022</fpage>. <pub-id pub-id-type="doi">10.1016/J.ADVENGSOFT.2022.103279</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Singhal</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Ahuja</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Seth</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>An insight into combating security attacks for smart grid</article-title>. <source>Int. J. Perform. Eng.</source> <volume>18</volume> (<issue>7</issue>), <fpage>512</fpage>. <pub-id pub-id-type="doi">10.23940/ijpe.22.07.p6.512520</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Waldrigues</surname>
<given-names>B. N.</given-names>
</name>
<name>
<surname>Matos</surname>
<given-names>C. M. S.</given-names>
</name>
<name>
<surname>Frizzo</surname>
<given-names>S. S.</given-names>
</name>
<name>
<surname>Quietinho</surname>
<given-names>L. V. R.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Wavelet LSTM for fault forecasting in electrical power grids</article-title>. <source>Sensors</source> <volume>22</volume> (<issue>21</issue>), <fpage>8323</fpage>. <pub-id pub-id-type="doi">10.3390/s22218323</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Hong</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>G. X.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>An extended spiking neural P system for fuzzy knowledge representation</article-title>. <source>Int. J. Innovative Comput. Inf. Control</source> <volume>7</volume> (<issue>7A</issue>), <fpage>3709</fpage>&#x2013;<lpage>3724</lpage>. <pub-id pub-id-type="doi">10.1049/iet-cta.2010.0325</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Fault line selection of power distribution system via improved bee colony algorithm based deep neural network</article-title>. <source>Energy Rep.</source> <volume>8</volume> (<issue>S12</issue>), <fpage>43</fpage>&#x2013;<lpage>53</lpage>. <pub-id pub-id-type="doi">10.1016/j.egyr.2022.10.070</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xin</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Research on high-frequency information-transmission method of smart grid based on CNN-LSTM model</article-title>. <source>Information</source> <volume>13</volume> (<issue>8</issue>), <fpage>375</fpage>. <pub-id pub-id-type="doi">10.3390/info13080375</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xiong</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A binary coded brain storm optimization for fault section diagnosis of power systems for fault section diagnosis of power systems</article-title>. <source>Electr. Power Syst. Res.</source> <volume>163</volume> (<issue>01</issue>), <fpage>441</fpage>&#x2013;<lpage>451</lpage>. <pub-id pub-id-type="doi">10.1016/j.epsr.2018.07.009</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Xue</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Dola</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2022</year>). &#x201c;<article-title>KNEW: Key generation using NEural networks from wireless channels</article-title>,&#x201d; in <conf-name>Proceedings of the 2022 ACM Workshop on Wireless Security and Machine Learning (WiseML &#x27;22)</conf-name> (<publisher-loc>New York, NY, USA</publisher-loc>: <publisher-name>Association for Computing Machinery</publisher-name>), <fpage>45</fpage>&#x2013;<lpage>50</lpage>.</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yan</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Tu</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Xing</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Research on fault location of distribution network with DG based on HHO</article-title>. <source>Sci. Discov.</source> <volume>10</volume> (<issue>5</issue>). <pub-id pub-id-type="doi">10.11648/J.SD.20221005.19</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>You</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Qi</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Tian</surname>
<given-names>L.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Fast neural network control of a pseudo-driven wheel on deformable terrain</article-title>. <source>Mech. Syst. Signal Process.</source> <volume>152</volume>, <fpage>107478</fpage>. <pub-id pub-id-type="doi">10.1016/j.ymssp.2020.107478</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yuvaraja</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Irina</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Hariprasath</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ramya</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Ravi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Ramesh</surname>
<given-names>T. A.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Diminution of smart grid with renewable sources using support vector machines for identification of regression losses in large-scale systems</article-title>. <source>Wirel. Commun. Mob. Comput.</source> <volume>2022</volume>, <fpage>1</fpage>&#x2013;<lpage>11</lpage>. <pub-id pub-id-type="doi">10.1155/2022/6942029</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Wei</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Power grid fault diagnosis model based on the time series density distribution of warning information</article-title>. <source>Int. J. Electr. Power Energy Syst.</source>, <fpage>146</fpage>. <pub-id pub-id-type="doi">10.1016/J.IJEPES.2022.108774</pub-id>
</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhibin</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Liping</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Xuan</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Labeled box-particle CPHD filter for multiple extended targets tracking</article-title>. <source>J. Syst. Eng. Electron.</source> <volume>30</volume> (<issue>1</issue>), <fpage>57</fpage>&#x2013;<lpage>67</lpage>. <pub-id pub-id-type="doi">10.21629/JSEE.2019.01.06</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>