<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Environ. Sci.</journal-id>
<journal-title>Frontiers in Environmental Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Environ. Sci.</abbrev-journal-title>
<issn pub-type="epub">2296-665X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1034536</article-id>
<article-id pub-id-type="doi">10.3389/fenvs.2022.1034536</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Environmental Science</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>A comprehensive wind speed forecast correction strategy with an artificial intelligence algorithm</article-title>
<alt-title alt-title-type="left-running-head">Zhao 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/fenvs.2022.1034536">10.3389/fenvs.2022.1034536</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Zhao</surname>
<given-names>Xueliang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Sun</surname>
<given-names>Qilong</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1987028/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Tang</surname>
<given-names>Wanru</given-names>
</name>
<xref ref-type="aff" rid="aff5">
<sup>5</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Yu</surname>
<given-names>Shuang</given-names>
</name>
<xref ref-type="aff" rid="aff5">
<sup>5</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Boyu</given-names>
</name>
<xref ref-type="aff" rid="aff5">
<sup>5</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Chengdu Institute of Computer Application, Chinese Academy of Sciences</institution>, <addr-line>Chengdu</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Chongqing Institute of Green and Intelligent Technology, Chinese Academy of Sciences</institution>, <addr-line>Chongqing</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>University of Chinese Academy of Sciences</institution>, <addr-line>Beijing</addr-line>, <country>China</country>
</aff>
<aff id="aff4">
<sup>4</sup>
<institution>Binzhou Institute of Technology</institution>, <addr-line>Binzhou</addr-line>, <country>China</country>
</aff>
<aff id="aff5">
<sup>5</sup>
<institution>China Merchants Fintech Company Ltd.</institution>, <addr-line>Shenzhen</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/1381900/overview">Yusen He</ext-link>, Grinnell College, United States</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/1848387/overview">Feezan Ahmad</ext-link>, Dalian University of Technology, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1209433/overview">Wenping He</ext-link>, Sun Yat-sen University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2003465/overview">Yi Zhang</ext-link>, Sichuan University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Qilong Sun, <email>sunqilong@cigit.ac.cn</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Environmental Informatics and Remote Sensing, a section of the journal Frontiers in Environmental Science</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>22</day>
<month>11</month>
<year>2022</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>10</volume>
<elocation-id>1034536</elocation-id>
<history>
<date date-type="received">
<day>01</day>
<month>09</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>31</day>
<month>10</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2022 Zhao, Sun, Tang, Yu and Wang.</copyright-statement>
<copyright-year>2022</copyright-year>
<copyright-holder>Zhao, Sun, Tang, Yu 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>Wind speed forecasting is critical to renewable energy generation, agriculture, and disaster prevention. Due to the uncertainty and intermittence of wind, conventional forecasting methods with numerical weather prediction (NWP) models fall short of achieving satisfactorily high accuracy. Post-processing of the predicted results is necessary for enhancing the prediction accuracy. The industry generally employs time-series prediction (TSP) methods for error correction, yet it is time-consuming since repeated modeling is needed if the location changes. Aiming at addressing this problem, this paper discusses the application of a deep learning algorithm in the post-processing period of wind speed prediction. NWP results are utilized as the forecasting basis, and deep learning algorithms are used for minimizing errors. An experimental study is conducted with industrial data. The functionality and performance of TSP-based algorithms including rolling mean, exponential smoothing, and autoregressive integrated moving average algorithms are compared with deep learning-based algorithms, including long-short term memory and convolutional neural network. From the numerical results, both TSP and deep-learning error-correction methods can effectively increase the accuracy of day-level NWP model prediction results, while deep-learning methods are data-driven, and no modeling process is needed. This work also poses an insight into the future development of wind speed prediction in meteorology.</p>
</abstract>
<kwd-group>
<kwd>wind speed</kwd>
<kwd>numerical weather prediction</kwd>
<kwd>forecast correction</kwd>
<kwd>deep learning</kwd>
<kwd>artificial intelligence</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Weather forecasting plays a profound role in daily human life as well as in economic and social activities since it is pivotal to agriculture, disaster prevention and control, power generation, etc. (<xref ref-type="bibr" rid="B6">Barbounis et al., 2006)</xref>. As a key indicator of the weather system, wind speed forecasting has particular value to a lot of engineering applications, e.g., meaningful for wind power generation. In particular, with the development of large-scale wind farms, more and more wind power is integrated into the power grid (<xref ref-type="bibr" rid="B28">Yang et al., 2014)</xref>, and the accuracy of wind speed directly affects the performance of wind power scheduling. However, due to the intermittence and uncertainty of wind, the high accuracy of wind speed forecasting is a challenge.</p>
<p>It is known that wind speed is pertinent to numerous factors, e.g., temperature, terrain, rainfall, pressure, etc., <xref ref-type="bibr" rid="B11">Hu et al. (2014)</xref>. Inspired by this idea, the numerical weather prediction (NWP) system is a commonly used physical model for weather forecasting and wind speed forecasting (<xref ref-type="bibr" rid="B5">Alexiadis et al., 1998)</xref>. However, this physical model is based on a meteorological system which is huge and complex, and with an experiment overhead, it is difficult to be constructed by individuals. With this drawback, the dominant proportion of existent forecast methodologies in the literature is generally data-driven models <xref ref-type="bibr" rid="B4">Al-Yahyai et al. (2010)</xref>. As the performance of computing devices has increased dramatically in the past decades, more advanced artificial intelligence (AI) algorithms are being applied to these data-driven models for wind speed forecasing. However, conventional data-driven methods are statistical models which can achieve good accuracy in short-term prediction but have bad performance in long-term prediction due to the error accumulation problem. Physical models, e.g., NWP, could realize the large time-scale prediction, but the forecasting results are rough and low-accurate. Combining these two methods, a useful way of improving the long-term forecasting accuracy is correction modeling which utilizes statistical models to correct the results of physical models (<xref ref-type="bibr" rid="B25">Voyant et al., 2012)</xref>. The mechanism of error correction methodologies is usually utilizing the current weather information as the input to further correct the predicted data (<xref ref-type="bibr" rid="B26">Wang et al., 2019)</xref>. It aims to minimize the prediction errors brought by the meteorological models.</p>
<p>To realize a correct model with higher accuracy in wind speed forecasting, this article proposes a kind of comprehensive correction strategy based on a deep learning algorithm. Compared with the conventional models, deep learning algorithms have a better feature representation ability to improve prediction accuracy. It provides a comprehensive model, while the customized meteorological model of the local information is not needed. It can significantly reduce the workload. This article also compares the performance of NWP models with various conventional models and deep-learning models. Experimental results show that deep learning models can significantly simplify the workflow, while the prediction accuracy is satisfied.</p>
<p>The layouts of the other sections are organized in the following way: <xref ref-type="sec" rid="s2">Section 2</xref> demonstrates the related work of conventional methodologies in wind speed prediction. <xref ref-type="sec" rid="s3">Section 3</xref> shows the design process of the error correction for wind speed forecasting with deep learning. A case study is given to validate the functionality of the proposed method in <xref ref-type="sec" rid="s4">Section 4</xref>. <xref ref-type="sec" rid="s5">Section 5</xref> concludes the whole paper and illustrates future work.</p>
</sec>
<sec id="s2">
<title>2 Related work</title>
<p>To increase the accuracy of wind speed forecasting, appreciable effort from academia and industry has been dedicated to the improvement of the models. Due to the intermittency and uncertainty of wind, as reported by <xref ref-type="bibr" rid="B15">Li (2022a)</xref>, and the observation errors of the model, the prediction inevitably introduces errors, particularly under the hourly scale.</p>
<p>A straightforward way to reduce forecasting errors is by improving the accuracy of the prediction model. The extensively applied methods can be categorized into two types: physical models and statistical models. Similar to NWPs, a physical model requires numerous meteorological information and a physical mechanism which makes the application and modeling complicated (<xref ref-type="bibr" rid="B18">Maria Grazia De Giorgi et al.</xref>,<xref ref-type="bibr" rid="B18">2011)</xref>. As mentioned earlier, multiple physical processes such as aerodynamics, thermodynamics, and hydromechanics are involved. Thus, the physical model of the meteorological system is generally complicated (<xref ref-type="bibr" rid="B18">Maria Grazia De Giorgi et al., 2011)</xref>. Statistical models require historical data such as wind speed and time stamps to conduct the forecasting. A classical method is the persistence method which utilizes the latest measured wind speed value as the forecast basis of the next point (<xref ref-type="bibr" rid="B7">Buhan et al., 2016)</xref>. Its major advantage is the straightforward working principle and low-computational overhead which enable it to be easy-implemented. <xref ref-type="bibr" rid="B15">Li (2022a)</xref> also built the model for the wind turbine generator for wind power generation forecast error correction. Various statistical learning algorithms are also applied in the wind speed forecasting industry, e.g., the autoregressive moving average (ARMA) model (<xref ref-type="bibr" rid="B9">Ergin Erdem, 2011)</xref> invented in the 1980s, the artificial neural network (ANN) (<xref ref-type="bibr" rid="B13">Li and Shi, 2010)</xref>, support vector machine (SVM) (<xref ref-type="bibr" rid="B20">Ren et al., 2014)</xref>, etc. Moreover, some hybrid methods combining several statistical learning algorithms are also proposed. Additionally, the physical model and data-driven model can also be blended to increase the accuracy of the prediction, as demonstrated in <xref ref-type="bibr" rid="B19">Nielsen et al. (2007)</xref>.</p>
<p>
<xref ref-type="bibr" rid="B17">Lima et al. (2020)</xref> compare the historical solar data with NWP model predicted results in Brazil, and they claim the predicted results have notable differences from the local data. Thus, due to prediction error existing in all forecasting methods, post-processing methods seem to be essential to correct the forecasting error. <xref ref-type="bibr" rid="B24">Vogelzang and Stoffelen (2011)</xref> proposed NWP model error structure functions with the scatterometer winds. Synthetic and model prediction methods are adopted. As a mighty tool for error correction, Kalman filtering has been employed in wind prediction (<xref ref-type="bibr" rid="B27">Wang et al., 2021</xref>; <xref ref-type="bibr" rid="B24">Vogelzang and Stoffelen, 2011)</xref>. The machine learning technology has superiorities in regard to self-adaptive and data-driven features which enable it to be extensively applied for data post-processing of NWP. <xref ref-type="bibr" rid="B14">Li et al. (2021)</xref> utilized bilinear transformation and the ICEEMDAN framework for short-term wind power prediction, while spatial-temporal analysis is applied in <xref ref-type="bibr" rid="B16">Li (2022b)</xref>.</p>
<p>In <xref ref-type="bibr" rid="B22">Sweeney et al. (2013)</xref>, different combined methods for wind speed forecasting were compared for error minimization. <xref ref-type="bibr" rid="B29">Zjavka (2015)</xref> proposed polynomial neural networks for on-line wind speed forecast correction. The multi-site model experimental study was conducted to validate the functionality of the proposed method. <xref ref-type="bibr" rid="B12">Jiang and Huang (2017)</xref> utilized hybrid methods of SVM and generalized the auto-regressive conditionally heteroscedastic model to correct the prediction error. Both the accuracy and stability of the model were satisfied. <xref ref-type="bibr" rid="B8">Du (2019)</xref> employed an ensemble-based method that incorporates three machine learning algorithms for NWP prediction result correction. By combining the three predicted results, it can enhance the prediction accuracy. <xref ref-type="bibr" rid="B10">Hossain and Mahmood (2020)</xref> used a long short-term memory model for minute-level solar energy forecasting, while <xref ref-type="bibr" rid="B28">Yang et al. (2014)</xref> used deep learning methods for day-ahead hour-level forecasting. <xref ref-type="bibr" rid="B23">Tang et al. (2022)</xref> used two shallow machine learning algorithms for medium- and long-term weather forecasting. Intelligent techniques are also employed for the underground projects of the Rockburst Hazard in <xref ref-type="bibr" rid="B2">Ahmad et al. (2021b)</xref> and <xref ref-type="bibr" rid="B3">Ahmad et al. (2022)</xref> and shallow foundation on cohesion-less soils in <xref ref-type="bibr" rid="B1">Ahmad et al. (2021a)</xref>.</p>
</sec>
<sec sec-type="materials|methods" id="s3">
<title>3 Materials and methods</title>
<sec id="s3-1">
<title>3.1 Forecasting setup</title>
<p>The prediction process is defined as <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>.</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the predicted 10&#xa0;m wind speed, and <italic>f</italic> (.) is the NWP model. The NWP models contain errors due in part to the quality of the data used to drive the model and in part to computational limitations. Some errors are systematic, and it is desired to be reduced by applying statistical post-processing methods.</p>
<p>The current NWP model predicts 10&#xa0;m wind speed data for every 12&#xa0;h over a 13&#x2013;48&#xa0;h period. In addition, the real measurements are collected hourly; thus, the prediction error <italic>e</italic>
<sub>
<italic>t</italic>
</sub> can be calculated, as given in <xref ref-type="disp-formula" rid="e1">Eq. 1</xref>, when the real measurements are collected.<disp-formula id="e1">
<mml:math id="m3">
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(1)</label>
</disp-formula>where <inline-formula id="inf3">
<mml:math id="m4">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is the NWP wind speed at time <italic>t</italic>; <italic>v</italic>
<sub>
<italic>t</italic>
</sub> is the measured 10&#xa0;min wind speed at time <italic>t</italic>. <xref ref-type="fig" rid="F1">Figure 1</xref> shows the heat map plot of prediction errors of one location.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>NWP prediction error of one location.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g001.tif"/>
</fig>
</sec>
<sec id="s3-2">
<title>3.2 Time series-based algorithms</title>
<p>Time-series prediction (TSP) algorithms predict the future value over a period of time by developing models based on previous data and applying them to conduct prediction. The future is estimated based on what has already happened. Following the principle of TSP, the historical errors are learned and modeled to predict the future error, as shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. Once the error is predicted, the NWP wind speed can be corrected easily by just adding the predicted error. This process is expressed by <xref ref-type="disp-formula" rid="e2">Eq. 2</xref> and <xref ref-type="disp-formula" rid="e3">Eq. 3</xref>:<disp-formula id="e2">
<mml:math id="m5">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">tsp</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(2)</label>
</disp-formula>
<disp-formula id="e3">
<mml:math id="m6">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(3)</label>
</disp-formula>where <inline-formula id="inf4">
<mml:math id="m7">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is the predicted error at time t and <inline-formula id="inf5">
<mml:math id="m8">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is the corrected NWP wind speed.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Time series prediction for correction.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g002.tif"/>
</fig>
</sec>
<sec id="s3-3">
<title>3.3 Deep learning-based algorithms</title>
<p>TSP-based algorithms only leverage historical error information, yet other features such as temperature and air pressure, are generally neglected. Moreover, for different locations and predicted periods, TSP-based algorithms need to be modeled separately. In other words, for an NWP system monitoring 50 locations over 13&#x2013;48&#xa0;h periods, 1800 models are needed separately in terms of learning parameters and prediction. The modeling process is time-consuming.</p>
<p>To generalize the application scenarios of the forecasting model, in this paper, deep learning algorithms are utilized since they are able to automatically learn arbitrary complex mappings from inputs to outputs, which have been widely used in time series prediction tasks recently. Deep learning-based time series prediction algorithms are able to take location patterns and prediction periods into consideration and thus can train a generalized model with location patterns and prediction periods as input features. For the sake of simplicity, deep learning-based TSP algorithms are verified to pose an optimal balance among multiple parallel prediction tasks such as wind speed prediction for various locations and prediction periods.</p>
<sec id="s3-3-1">
<title>3.3.1 Recurrent neural networks</title>
<p>Recurrent neural networks (RNNs) are appropriate for modeling time series data with the recurrent structure which uses neural networks to model the functional relationship between input features in the recent past to a target variable in the future.<xref ref-type="fig" rid="F3">Figure 3</xref> shows the structure of the RNN in which the transition of a hidden state from consecutive time slots is learnt from historical data. Specifically, the prediction of the output <italic>y</italic>
<sub>
<italic>t</italic>
</sub> depends not only on the input <italic>x</italic>
<sub>
<italic>t</italic>
</sub> but also on the hidden state <italic>w</italic>
<sub>
<italic>ht</italic>
</sub>, as shown in <xref ref-type="disp-formula" rid="e4">Eq. 4</xref>. <italic>w</italic>
<sub>
<italic>ht</italic>
</sub> plays the role of memorizing the previous information by weighting the previous output <italic>y</italic>
<sub>
<italic>t</italic>&#x2212;1</sub>. However, RNNs have the disadvantage of vanishing gradients due to the weight matrix multiplication at each time step. Thus, the RNN is not good at capturing non-stationary dependencies that occur over a long period of time.<disp-formula id="e4">
<mml:math id="m9">
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(4)</label>
</disp-formula>
</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>RNN model structure.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g003.tif"/>
</fig>
</sec>
<sec id="s3-3-2">
<title>3.3.2 Long short-term memory model</title>
<p>The long short-term memory (LSTM) model is a variant of the RNN first, as proposed by <xref ref-type="bibr" rid="B29">Zjavka (2015)</xref>, to overcome the gradient vanishing problem in the vanilla RNN. <xref ref-type="fig" rid="F4">Figure 4</xref> shows the structure of an LSTM cell in which a cell state <bold>c</bold> and three gates are imported to enable the storage and access of information over long periods of time. Gates are composed of a sigmoid neural net layer and a point-wise multiplication operation which are able to optionally let information through. First, the input gate weighs the current input <bold>x</bold>
<sub>
<italic>t</italic>
</sub> and previous output <bold>h</bold>
<sub>
<italic>t</italic>&#x2212;1</sub>, as shown in the following:<disp-formula id="e5">
<mml:math id="m10">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(5)</label>
</disp-formula>where <bold>W</bold>
<sub>
<italic>i</italic>
</sub> and <bold>b</bold>
<sub>
<italic>i</italic>
</sub> are the weight matrix and the bias vector of the input gate, respectively. The output of the input gate controls the selection of information in the cell state.<disp-formula id="e6">
<mml:math id="m11">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2254;</mml:mo>
<mml:mi>tanh</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(6)</label>
</disp-formula>where <bold>W</bold>
<sub>
<italic>c</italic>
</sub> and <bold>b</bold>
<sub>
<italic>c</italic>
</sub> are the weight matrix and bias vector of the input layer, respectively. Therefore, the selected information can be represented by <inline-formula id="inf6">
<mml:math id="m12">
<mml:msubsup>
<mml:mrow>
<mml:mtext>c</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2254;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2299;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>LSTM cell.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g004.tif"/>
</fig>
<p>Similarly, the forget gate controls the selection of information that should be dropped:<disp-formula id="e7">
<mml:math id="m13">
<mml:mtable class="array">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2299;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(7)</label>
</disp-formula>where <bold>W</bold>
<sub>
<italic>f</italic>
</sub> and <bold>b</bold>
<sub>
<italic>f</italic>
</sub> are the weight matrix and bias vector of the forget gate, respectively. Then, the new cell state is as follows:<disp-formula id="e8">
<mml:math id="m14">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>.</mml:mo>
</mml:math>
<label>(8)</label>
</disp-formula>The output gate decides which part of information should be the output, i.e.,<disp-formula id="e9">
<mml:math id="m15">
<mml:mtable class="array">
<mml:mtr>
<mml:mtd columnalign="left">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">W</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2299;</mml:mo>
<mml:mi>tanh</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(9)</label>
</disp-formula>where <bold>W</bold>
<sub>
<italic>o</italic>
</sub> and <bold>b</bold>
<sub>
<italic>o</italic>
</sub> are the weight matrix and bias vector of the forget gate, respectively.</p>
</sec>
</sec>
</sec>
<sec id="s4">
<title>4 Experimental study</title>
<p>In this section, the actual weather forecast data are utilized to evaluate the time series and deep learning-based strategies. The historical NWP output data are produced by Weather Research and Forecasting (WRF)-3.5 adopted by the Inner Mongolia Meteorology Bureau as one of their bases to deliver daily weather forecasts of that region. The WRF-out data are generated every 12&#xa0;h (at 00:00 UTC and 12:00 UTC) from June 2019 to March 2022, containing predictions in advance of 12&#xa0;h extending to 96&#xa0;h with an interval of 1&#xa0;h. The corresponding ground truth data are acquired from the China land surface data assimilation system, 2rd version (CLDAS-V2.0), which provide near-real-time reanalysis field data <italic>via</italic> integrating information from land surface stations, radars, and remote sensing of satellites.</p>
<p>The following experiments are implemented on a Linx PC with AMD Ryzen 5 3550H, 2.1&#xa0;GHz CPU, 16&#xa0;GB of RAM, and Python 3.8 with TenserFlow 2.8.0.</p>
<sec id="s4-1">
<title>4.1 Empirical evaluation</title>
<p>To verify the superiority of the proposed correction strategy, the original NWP wind speed error and corrected wind speed error are compared. For the TSP-based algorithms, the training data are the past original NWP wind speed errors for a specific location and a specific prediction period. In contrast, for the deep-learning-based algorithms, the past original NWP wind speed errors for all locations and all predicted periods are used to train a general model. The input is features that are created from the historical NWP wind speed errors and additional related information.</p>
<sec id="s4-1-1">
<title>4.1.1 Location-based evaluation</title>
<p>For the purpose of evaluating the correction and predicting the performance of the proposed strategy over all locations, the root mean square error (rmse) and the mean absolute error (mae) are used as the performance criteria. Obviously, the smaller the value, the better the performance of the proposed model is.<disp-formula id="e10">
<mml:math id="m16">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">r</mml:mi>
<mml:mi mathvariant="bold">m</mml:mi>
<mml:mi mathvariant="bold">s</mml:mi>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">loc</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2217;</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
<mml:mo>,</mml:mo>
</mml:math>
<label>(10)</label>
</disp-formula>where <inline-formula id="inf7">
<mml:math id="m17">
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> is the time slot for making prediction, and <inline-formula id="inf8">
<mml:math id="m18">
<mml:mi>n</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> is the prediction period. Thus, <bold>rmse</bold>
<sub>
<bold>loc</bold>
</sub> evaluates the overall prediction performance for location <bold>loc</bold>. Similarly,<disp-formula id="e11">
<mml:math id="m19">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">m</mml:mi>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">loc</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo stretchy="false">&#x7c;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2217;</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:math>
<label>(11)</label>
</disp-formula>The overall forecasting performance is evaluated in <xref ref-type="fig" rid="F5">Figure 5</xref> and <xref ref-type="fig" rid="F6">Figure 6</xref>. The boxplot is used to compare the overall performance based on locations. The curve of NWP, i.e., the blue one on the left, shows the predicted results without correction. Rolling mean, ETS, and ARIMA denote the predicted results of the NWP model with conventional data correction models, while LSTM and CNN are the predicted results corrected with deep learning algorithms. From the result, without forecast correction, the rmse and mae are apparently higher than those with correction. Both TSP-based algorithms and deep-learning-based forecast correction algorithms are able to reduce the prediction error. Specifically, rolling mean methods and LSTM show the best comprehensive performance. Thus, forecast correction is necessary since it can significantly increase the prediction accuracy. However, as demonstrated earlier, the rolling mean, exponential smoothing (ETS), and autoregressive integrated moving average (ARIMA) methods all need to build the local NWP model. This means the model is no longer applicable if the location changes. The deep learning model does not need to be trained repeatedly by location patterns and predicted period data which enables it to be more universal. Also, <xref ref-type="fig" rid="F5">Figure 5</xref> and <xref ref-type="fig" rid="F6">Figure 6</xref> show that the CNN algorithm has a reduced upper limit and lower limit of RMSE over the LSTM algorithm, but the LSTM algorithm has a lower average RMSE. Reliability has the highest priority in terms of weather forecasting. Therefore, LSTM is still the most recommended algorithm for NWP forecast correction.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Overall rmse results based on the location.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g005.tif"/>
</fig>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Overall mae results based on the location.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g006.tif"/>
</fig>
</sec>
<sec id="s4-1-2">
<title>4.1.2 Prediction period-based evaluation</title>
<p>Similarly, rmse and mae for different prediction periods are also learnt to evaluate the correction and predicting the performance of the proposed strategies.<disp-formula id="e12">
<mml:math id="m20">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">r</mml:mi>
<mml:mi mathvariant="bold">m</mml:mi>
<mml:mi mathvariant="bold">s</mml:mi>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2217;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
<mml:mo>,</mml:mo>
</mml:math>
<label>(12)</label>
</disp-formula>
<disp-formula id="e13">
<mml:math id="m21">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">r</mml:mi>
<mml:mi mathvariant="bold">m</mml:mi>
<mml:mi mathvariant="bold">s</mml:mi>
<mml:mi mathvariant="bold">e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">&#x302;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2217;</mml:mo>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
</mml:math>
<label>(13)</label>
</disp-formula>where <inline-formula id="inf9">
<mml:math id="m22">
<mml:mi>l</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> is the location set. Thus, <bold>rmse</bold>
<sub>
<bold>n</bold>
</sub> and <bold>mae</bold>
<sub>
<bold>n</bold>
</sub> represent the overall predicting performance at the prediction period <italic>n</italic>.</p>
<p>To validate the application of the aforementioned algorithm in the short-term weather forecast, the predicted results over 48&#xa0;h are plotted, as shown in <xref ref-type="fig" rid="F7">Figures 7</xref>, <xref ref-type="fig" rid="F8">8</xref>. From the plots, without forecast correction, the <bold>rmse</bold>
<sub>
<bold>n</bold>
</sub> is 2.05 and the <bold>mae</bold>
<sub>
<bold>n</bold>
</sub> is 1.65. With forecast correction, the <bold>rmse</bold>
<sub>
<bold>n</bold>
</sub> is reduced to be lower than 1.7 and the <bold>mae</bold>
<sub>
<bold>n</bold>
</sub> is reduced to be lower than 1.4. It should be noted that the error of the CNN algorithm is high in the first 20&#xa0;h and then falls down and stays stable in the following period. The NWP with the LSTM forecast correction model shows superior comprehensive performance over the other algorithms.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Overall rmse results based on the prediction period.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g007.tif"/>
</fig>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Overall mae results based on the prediction period.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g008.tif"/>
</fig>
</sec>
<sec id="s4-1-3">
<title>4.1.3 Clustering method-based evaluation</title>
<p>Different locations have different geographical features, i.e., some locations are on the highland, while some may be near the waters. Instead of treating them equally, clustering them into different groups may enhance the model representation ability. To verify this, three clustering methods based on the global position system (GPS) data are used to take advantage of the geographical information. The clustering results are further input to the LSTM model as additional features. <xref ref-type="fig" rid="F9">Figure 9</xref>, <xref ref-type="fig" rid="F10">Figure 10</xref> and <xref ref-type="fig" rid="F11">Figure 11</xref> show the clustering of GPS data by different algorithms, where the locations are categorized into different groups.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Clustering of the global positioning system (GPS) location by k-means.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g009.tif"/>
</fig>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Clustering of the GPS location by density-based spatial clustering of applications with noise (DBSCAN).</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g010.tif"/>
</fig>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Clustering of the GPS location by agglomerative clustering.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g011.tif"/>
</fig>
<p>The comparison results are shown in <xref ref-type="fig" rid="F12">Figure 12</xref> and <xref ref-type="fig" rid="F13">Figure 13</xref>. From the plots, all the clustering methods can further reduce the rmse and mae. Among these clustering methods, agglomerative clustering has the best performance on reducing the rmse, while k means showed a better effect than others in terms of the mae.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Overall rmse results for different clustering methods based on the location.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g012.tif"/>
</fig>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Overall mae results for different clustering methods based on the location.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g013.tif"/>
</fig>
</sec>
<sec id="s4-1-4">
<title>4.1.4 Multi-step prediction evaluation</title>
<p>Previously, all results are one-step predictions, where historical data are used to predict the next time slot. In this subsection, multi-step prediction performance is learned. <xref ref-type="fig" rid="F14">Figure 14</xref> and <xref ref-type="fig" rid="F15">Figure 15</xref> show the rmse and mae results of the different step prediction performances, respectively. From the results, the predicting performance drops slightly as the prediction step increases.</p>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption>
<p>Overall rmse results for different prediction steps based on the location.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g014.tif"/>
</fig>
<fig id="F15" position="float">
<label>FIGURE 15</label>
<caption>
<p>Overall mae results for different prediction steps based on the location.</p>
</caption>
<graphic xlink:href="fenvs-10-1034536-g015.tif"/>
</fig>
</sec>
</sec>
</sec>
<sec sec-type="discussion" id="s5">
<title>5 Discussion</title>
<p>With the rapidly increasing demand for wind energy, the fluctuation and intermittence pose challenges to power dispatch. Thus, it is desired to have an accurate prediction of the wind speed. From the experimental results presented in <xref ref-type="sec" rid="s4">Section 4</xref>, the NWP model shows considerable prediction errors, and this is also reported by <xref ref-type="bibr" rid="B17">Lima et al. (2020)</xref>. Therefore, forecasting correction is necessary. In industry applications, how to minimize prediction error is still a major challenge. This study presents the application of deep learning algorithms on the forecasting correction for the NWP prediction results. Several conventional methodologies including rolling mean, ETS, and ARIMA are compared with deep learning methodologies such as LSTM and CNN. Both methodologies show superiority in terms of prediction accuracy enhancement. Based on the analysis demonstrated in this article, the accuracy of the wind speed prediction can be enhanced from the following perspectives.</p>
<sec id="s5-1">
<title>5.1 Improved NWP model</title>
<p>Wind speed is an important output of the NWP model, which is utilized to describe meteorological evolution. Its accuracy can significantly increase prediction accuracy. The modeling of the local information is comprehensive progress. Generally, the accuracy of the model is impacted by multiple factors, such as the time step. However, with higher resolution, the computational load increases dramatically. Thus, the NWP model should consider the tradeoff between the computational load and accuracy.</p>
</sec>
<sec id="s5-2">
<title>5.2 Application of the deep learning-based error correction algorithm</title>
<p>From the analysis of this paper, both TSP-based and deep-learning-based error correction algorithms can effectively reduce prediction error. The experimental study shows that both methodologies can realize the same effect in terms of prediction error minimization. TSP algorithms are generally easier to be implemented when the computational load is lower. However, repeated modeling is needed if the location information changes. Also, the selection of the TSP algorithm can have a great impact on the prediction. Hence, the TSP algorithm should be estimated prior to using it.</p>
<p>The deep learning algorithm is data-driven, and it just needs the local weather information to train the algorithm. It can save time in mathematical modeling. Therefore, the penetration of deep learning-based methods is increasing in the industry. The experimental study is conducted to compare the accuracy of the proposed method with ARIMA, ETS, and LSTM. LSTM shows the best overall performance among the listed methods. It should be noted that clustering does not show critical improvement to prediction accuracy. However, it can increase the computational speed, which makes it still necessary.</p>
</sec>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The data analyzed in this study are subject to the following licenses/restrictions: confidential meteorological data which are not published. Requests to access these datasets should be directed to <ext-link ext-link-type="uri" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://sunqilong@cigit.ac.cn">sunqilong@cigit.ac.cn</ext-link>.</p>
</sec>
<sec id="s7">
<title>Author contributions</title>
<p>XZ proposed the idea and finished this article. QS provided the original data for the experimental study and wrote the code of the algorithms. WT, SY, and BW assisted in deep learning algorithm training and running the algorithm.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>This work was funded partially by the Chinese Academy of Sciences (No. KFJ-STS-QYZD-2021-01-001) and the Inner Mongolia Meteorological Observatory (No. QXT21111102).</p>
</sec>
<sec id="s9">
<title>Conflict of interest</title>
<p>Authors WT, SY, and BW are employed by China Merchants Fintech Company Ltd.</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="s10">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors, and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ahmad</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ahmad</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Wr&#xf3;blewski</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Al-Mansob</surname>
<given-names>R. A.</given-names>
</name>
<name>
<surname>Olczak</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Kami&#x144;ski</surname>
<given-names>P.</given-names>
</name>
<etal/>
</person-group> (<year>2021a</year>). <article-title>Prediction of ultimate bearing capacity of shallow foundations on cohesionless soils: A Gaussian process regression approach</article-title>. <source>Appl. Sci.</source> <volume>11</volume>, <fpage>10317</fpage>. <pub-id pub-id-type="doi">10.3390/app112110317</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ahmad</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>J.-L.</given-names>
</name>
<name>
<surname>Hadzima-Nyarko</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ahmad</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>X.-W.</given-names>
</name>
<name>
<surname>Ur Rahman</surname>
<given-names>Z.</given-names>
</name>
<etal/>
</person-group> (<year>2021b</year>). <article-title>Rockburst hazard prediction in underground projects using two intelligent classification techniques: A comparative study</article-title>. <source>Symmetry</source> <volume>13</volume>, <fpage>632</fpage>. <pub-id pub-id-type="doi">10.3390/sym13040632</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ahmad</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Katman</surname>
<given-names>H. Y.</given-names>
</name>
<name>
<surname>Al-Mansob</surname>
<given-names>A. F.</given-names>
</name>
<name>
<surname>Ramez</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Safdar</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Alguno</surname>
<given-names>A. C.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Prediction of rockburst intensity grade in deep underground excavation using adaptive boosting classifier</article-title>. <source>Complexity</source> <volume>2022</volume>, <fpage>1</fpage>&#x2013;<lpage>10</lpage>. <pub-id pub-id-type="doi">10.1155/2022/6156210</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Al-Yahyai</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Charabi</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Gastli</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Review of the use of numerical weather prediction (nwp) models for wind energy assessment</article-title>. <source>Renew. Sustain. Energy Rev.</source> <volume>14</volume>, <fpage>3192</fpage>&#x2013;<lpage>3198</lpage>. <pub-id pub-id-type="doi">10.1016/j.rser.2010.07.001</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Alexiadis</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Dokopoulos</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Sahsamanoglou</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Manousaridisa</surname>
<given-names>I.</given-names>
</name>
</person-group> (<year>1998</year>). <article-title>Short term forecasting of wind speed and related electrical power</article-title>. <source>Sol. Energy</source> <volume>63</volume>, <fpage>61</fpage>&#x2013;<lpage>68</lpage>. <pub-id pub-id-type="doi">10.1016/S0038-092X(98)00032-2</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Barbounis</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Theocharis</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Alexiadis</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Dokopoulos</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>Long-term wind speed and power forecasting using local recurrent neural network models</article-title>. <source>IEEE Trans. Energy Convers.</source> <volume>21</volume>, <fpage>273</fpage>&#x2013;<lpage>284</lpage>. <pub-id pub-id-type="doi">10.1109/TEC.2005.847954</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Buhan</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>&#xd6;zkazan&#xe7;</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>&#xc7;ad&#x131;rc&#x131;</surname>
<given-names>I.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Wind pattern recognition and reference wind mast data correlations with nwp for improved wind-electric power forecasts</article-title>. <source>IEEE Trans. Ind. Inf.</source> <volume>12</volume>, <fpage>991</fpage>&#x2013;<lpage>1004</lpage>. <pub-id pub-id-type="doi">10.1109/tii.2016.2543004</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Du</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Ensemble machine learning-based wind forecasting to combine nwp output with data from weather station</article-title>. <source>IEEE Trans. Sustain. Energy</source> <volume>10</volume>, <fpage>2133</fpage>&#x2013;<lpage>2141</lpage>. <pub-id pub-id-type="doi">10.1109/tste.2018.2880615</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ergin Erdem</surname>
<given-names>J. S.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Arma based approaches for forecasting the tuple of wind speed and direction</article-title>. <source>Appl. Energy</source> <volume>88</volume>, <fpage>1405</fpage>&#x2013;<lpage>1414</lpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2010.10.031</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hossain</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Mahmood</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Short-term photovoltaic power forecasting using an lstm neural network and synthetic weather forecast</article-title>. <source>IEEE Access</source> <volume>8</volume>, <fpage>172524</fpage>&#x2013;<lpage>172533</lpage>. <pub-id pub-id-type="doi">10.1109/access.2020.3024901</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Su</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Pattern-based wind speed prediction based on generalized principal component analysis</article-title>. <source>IEEE Trans. Sustain. Energy</source> <volume>5</volume>, <fpage>866</fpage>&#x2013;<lpage>874</lpage>. <pub-id pub-id-type="doi">10.1109/TSTE.2013.2295402</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jiang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Short-term wind speed prediction: Hybrid of ensemble empirical mode decomposition, feature selection and error correction</article-title>. <source>Energy Convers. Manag.</source> <volume>144</volume>, <fpage>340</fpage>&#x2013;<lpage>350</lpage>. <pub-id pub-id-type="doi">10.1016/j.enconman.2017.04.064</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>On comparing three artificial neural networks for wind speed forecasting</article-title>. <source>Appl. Energy</source> <volume>87</volume>, <fpage>2313</fpage>&#x2013;<lpage>2320</lpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2009.12.013</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Deng</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Pu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Arachchige</surname>
<given-names>D. D. K.</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>Q.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Short-term nacelle orientation forecasting using bilinear transformation and iceemdan framework</article-title>. <source>Front. Energy Res.</source> <volume>9</volume>, <fpage>780928</fpage>. <pub-id pub-id-type="doi">10.3389/fenrg.2021.780928</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2022a</year>). <article-title>Scada data based wind power interval prediction using lube-based deep residual networks</article-title>. <source>Front. Energy Res.</source> <volume>10</volume>, <fpage>920837</fpage>. <pub-id pub-id-type="doi">10.3389/fenrg.2022.920837</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2022b</year>). <article-title>Short-term wind power prediction via spatial temporal analysis and deep residual networks</article-title>. <source>Front. Energy Res.</source> <volume>10</volume>, <fpage>920407</fpage>. <pub-id pub-id-type="doi">10.3389/fenrg.2022.920407</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lima</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Costa</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Goncalves</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Pes</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Pereira</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Martins</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Comparing solar data from nwp models for brazilian territory</article-title>. <source>IEEE Lat. Am. Trans</source> <volume>18</volume>, <fpage>899</fpage>&#x2013;<lpage>906</lpage>. <pub-id pub-id-type="doi">10.1109/tla.2020.9082918</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Maria Grazia De Giorgi</surname>
<given-names>M. T.</given-names>
</name>
<name>
<surname>Ficarella</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Tarantino</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Error analysis of short term wind power prediction models</article-title>. <source>Appl. Energy</source> <volume>88</volume>, <fpage>1298</fpage>&#x2013;<lpage>1311</lpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2010.10.035</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nielsen</surname>
<given-names>H. A.</given-names>
</name>
<name>
<surname>Nielsen</surname>
<given-names>T. S.</given-names>
</name>
<name>
<surname>Madsen</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Pindado</surname>
<given-names>M. J. S. I.</given-names>
</name>
<name>
<surname>Marti</surname>
<given-names>I.</given-names>
</name>
</person-group> (<year>2007</year>). <article-title>Optimal combination of wind power forecasts</article-title>. <source>Wind Energy (Chichester).</source> <volume>10</volume>, <fpage>471</fpage>&#x2013;<lpage>482</lpage>. <pub-id pub-id-type="doi">10.1002/we.237</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ren</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Suganthan</surname>
<given-names>P. N.</given-names>
</name>
<name>
<surname>Srikanth</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>A novel empirical mode decomposition with support vector regression for wind speed forecasting</article-title>. <source>IEEE Trans. Neural Netw. Learn. Syst.</source> <volume>27</volume>, <fpage>1793</fpage>&#x2013;<lpage>1798</lpage>. <pub-id pub-id-type="doi">10.1109/tnnls.2014.2351391</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sweeney</surname>
<given-names>C. P.</given-names>
</name>
<name>
<surname>Lynch</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Nolan</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Reducing errors of wind speed forecasts by an optimal combination of post-processing methods</article-title>. <source>Mater. Apps.</source> <volume>20</volume>, <fpage>32</fpage>&#x2013;<lpage>40</lpage>. <pub-id pub-id-type="doi">10.1002/met.294</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tang</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Jiao</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Gui</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Medium- and long-term precipitation forecasting method based on data augmentation and machine learning algorithms</article-title>. <source>IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens.</source> <volume>15</volume>, <fpage>1000</fpage>&#x2013;<lpage>1011</lpage>. <pub-id pub-id-type="doi">10.1109/jstars.2022.3140442</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Vogelzang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Stoffelen</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Nwp model error structure functions obtained from scatterometer winds</article-title>. <source>IEEE Trans. Geosci. Remote Sens.</source> <volume>50</volume>, <fpage>2525</fpage>&#x2013;<lpage>2533</lpage>. <pub-id pub-id-type="doi">10.1109/tgrs.2011.2168407</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Voyant</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Muselli</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Paoli</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Nivet</surname>
<given-names>M.-L.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Numerical weather prediction (nwp) and hybrid arma/ann model to predict global radiation</article-title>. <source>Energy</source> <volume>39</volume>, <fpage>341</fpage>&#x2013;<lpage>355</lpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2012.01.006</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Han</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yan</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Sequence transfer correction algorithm for numerical weather prediction wind speed and its application in a wind power forecasting system</article-title>. <source>Appl. Energy</source> <volume>237</volume>, <fpage>1</fpage>&#x2013;<lpage>10</lpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2018.12.076</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Adaptive extended kalman filter based dynamic equivalent method of pmsg wind farm cluster</article-title>. <source>IEEE Trans. Ind. Appl.</source> <volume>57</volume>, <fpage>2908</fpage>&#x2013;<lpage>2917</lpage>. <pub-id pub-id-type="doi">10.1109/TIA.2021.3055749</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>H.-T.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>C.-M.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>Y.-C.</given-names>
</name>
<name>
<surname>Pai</surname>
<given-names>Y.-S.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>A weather-based hybrid method for 1-day ahead hourly forecasting of pv power output</article-title>. <source>IEEE Trans. Sustain. Energy</source> <volume>5</volume>, <fpage>917</fpage>&#x2013;<lpage>926</lpage>. <pub-id pub-id-type="doi">10.1109/TSTE.2014.2313600</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zjavka</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Wind speed forecast correction models using polynomial neural networks</article-title>. <source>Renew. Energy</source> <volume>83</volume>, <fpage>998</fpage>&#x2013;<lpage>1006</lpage>. <pub-id pub-id-type="doi">10.1016/j.renene.2015.04.054</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>