<?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">1474969</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2024.1474969</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>A study of short-term wind power segmentation forecasting method considering weather on ramp segments</article-title>
<alt-title alt-title-type="left-running-head">Yang 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.2024.1474969">10.3389/fenrg.2024.1474969</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Yang</surname>
<given-names>Chunxiang</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wu</surname>
<given-names>Guodong</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Yongrui</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/resources/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Bao</surname>
<given-names>Guangqing</given-names>
</name>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Jianhui</given-names>
</name>
<xref ref-type="aff" rid="aff5">
<sup>5</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2807850/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Power Dispatch Center of State Grid Gansu Electric Power Company</institution>, <addr-line>Lanzhou</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Department of Electrical Engineering and Information Engineering</institution>, <institution>Lanzhou University of Technology</institution>, <addr-line>Lanzhou</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>Electric Power Science Research Institute of State Grid Gansu Electric Power Company</institution>, <addr-line>Lanzhou</addr-line>, <country>China</country>
</aff>
<aff id="aff4">
<sup>4</sup>
<institution>School of Electronics and Information Engineering Southwest Petroleum University</institution>, <addr-line>Chengdu</addr-line>, <country>China</country>
</aff>
<aff id="aff5">
<sup>5</sup>
<institution>School of Electrical Engineering</institution>, <institution>Northwest University for Nationalities</institution>, <addr-line>Lanzhou</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/2341258/overview">Yang Yu</ext-link>, Nanjing University of Posts and Telecommunications, 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/507713/overview">Minh Quan Duong</ext-link>, The University of Danang, Vietnam</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1408940/overview">Lefeng Cheng</ext-link>, Guangzhou University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Chunxiang Yang, <email>2071763385@qq.com</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>16</day>
<month>10</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>12</volume>
<elocation-id>1474969</elocation-id>
<history>
<date date-type="received">
<day>02</day>
<month>08</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>25</day>
<month>09</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Yang, Wu, Zhang, Bao and Wang.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Yang, Wu, Zhang, Bao 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>The short-term fluctuation of wind power can affect its prediction accuracy. Thus, a short-term segmentation prediction method of wind power based on ramp segment division is proposed. A time-series trend extraction method based on moving average iteration is proposed on the full-time period to analyze the real-time change characteristics of power time-series initially; secondly, a ramp segment extraction method based on its definition and identification technique is proposed based on the results of the trend extraction; and a segmentation prediction scheme is proposed to lean the power prediction under different time-series: the LightGBM-LSTM is proposed for the non-ramping segment using point prediction, and the CNN-BiGRU-KDE is proposed for probabilistic prediction of ramp segments. From the results, this ramp segment definition and identification technique can effectively identify the ramp process of wind power, which makes up for the misidentification and omission of the classical climbing event definition; meanwhile, the segment prediction scheme not only meets the prediction accuracy requirements of the non-ramping segment, but also provides the effective robust information for the prediction of the ramping period, which offers reliable reference information for the actual wind farms. In particular, it is well adapted to wind power prediction under extreme working conditions caused by ramping weather, which is a useful addition to short-term wind power prediction research.</p>
</abstract>
<kwd-group>
<kwd>ramp segment</kwd>
<kwd>wind power</kwd>
<kwd>trend identification</kwd>
<kwd>probabilistic fitting</kwd>
<kwd>segmental prediction</kwd>
</kwd-group>
<contract-num rid="cn001">SGGSKY00WYJS2310221</contract-num>
<contract-sponsor id="cn001">Science and Technology Project of State Grid<named-content content-type="fundref-id">10.13039/501100013096</named-content>
</contract-sponsor>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Smart Grids</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>In 2020, with the deepening understanding of the &#x201c;dual-carbon&#x201d; goal by all parties in society, China has put forward the goal of &#x201c;2030 carbon peak, 2060 carbon neutral&#x201d; (<xref ref-type="bibr" rid="B31">State Grid, 2021</xref>), and wind power is ushering in rapid development. Wind power is difficult to predict due to its unique stochasticity and instability, which poses a great challenge to the reliable operation of wind farms and smart energy systems. With the development of China&#x2019;s power marketization, accurate and efficient short-term wind power prediction is especially important to enhance the capacity of wind power consumption and promote the efficient interaction of source, grid, and load (<xref ref-type="bibr" rid="B22">Lefeng et al., 2022</xref>; <xref ref-type="bibr" rid="B21">Lefeng et al., 2021</xref>; <xref ref-type="bibr" rid="B20">Lefeng et al., 2020</xref>). Currently, there is a lack of in-depth research on the short-term power prediction method for wind power over the whole period considering the weather in the climbing segment (<xref ref-type="bibr" rid="B3">Cheng and Yu, 2019</xref>).</p>
<p>Existing short-term power prediction methods for wind power can be divided into two kinds: the physical method (<xref ref-type="bibr" rid="B8">Ernst et al., 2007</xref>) and the data-driven method (<xref ref-type="bibr" rid="B35">Wang et al., 2022</xref>). Among them, the former is built based on the atmospheric motion portrayal, according to the meteorological environment, geographic factors, and other information, the use of hydrodynamics and other physical laws to establish a model, focusing on the optimization of the boundary conditions and physical solution rules, with the characteristics of modeling difficulties, large computational volume, and therefore poor timeliness, is generally suitable for medium- and long-term forecasting (<xref ref-type="bibr" rid="B1">Cassola and Burlando, 2012</xref>). The latter takes the establishment of linear or nonlinear mapping between relevant meteorological features and power time series as the main means, emphasizes the search for intrinsic laws from multi-source, multi-dimensional, and multi-modal data, and has been widely used because of its better prediction accuracy (<xref ref-type="bibr" rid="B40">Zhou et al., 2021</xref>).</p>
<p>Existing studies usually categorize data-driven methods into deterministic forecasting and uncertainty forecasting based on the result presentation. Among them, the existing deterministic wind power prediction methods mainly include Auto-regressive and moving average (ARMA) (<xref ref-type="bibr" rid="B7">Erdem and Shi, 2011</xref>), Convolutional Neural Networks (CNN) (<xref ref-type="bibr" rid="B25">Men et al., 2016</xref>), and vector machines (<xref ref-type="bibr" rid="B14">Hu et al., 2014</xref>). Deterministic methods can form a mathematical abstract mapping relationship between inputs and outputs through data mining and machine learning and are suitable for power time series with gentle curve fluctuations. Specifically, literature (<xref ref-type="bibr" rid="B26">Meng et al., 2021</xref>) proposes a parameter optimization-based attention mechanism for accelerating the early prediction model to mine the temporal correlation of the input series-gated recurrent unit (GRU) short-term wind power prediction model; literature (<xref ref-type="bibr" rid="B40">Zhou et al., 2021</xref>) proposes a wind power prediction model that introduces the volatility hierarchical error correction model, which is based on the improvement of long-term recurrent convolutional neural network. All of the above literature has improved the prediction accuracy to a certain extent, and better prediction results can be achieved under normal fluctuating power hours. However, in the face of the ramping section of the weather under the fluctuating power, a single use of the above deterministic prediction methods will not be able to quantify the prediction error, and the stability of the prediction results is poor, and the combination of prediction techniques is applied and born (<xref ref-type="bibr" rid="B11">Gao et al., 2016</xref>; <xref ref-type="bibr" rid="B24">Liu et al., 2024</xref>). At the same time, due to the more complex and variable wind power scenarios, it poses a more serious challenge to the prediction methods. For this reason, we have carried out an in-depth study of the problems and difficulties existing in the current wind power prediction work.</p>
<p>Uncertainty prediction is a probabilistic interval prediction method represented by kernel density estimation (KDE) (<xref ref-type="bibr" rid="B34">Wang et al., 2024</xref>; <xref ref-type="bibr" rid="B13">Haoyi et al., 2023</xref>). Uncertainty prediction considers the randomness of the results, quantifies the prediction error, provides more information compared to the traditional point estimation, and can significantly improve the effectiveness of power hour prediction under weather in the climbing section (<xref ref-type="bibr" rid="B16">Jianhou et al., 2024</xref>). Specifically, literature (<xref ref-type="bibr" rid="B34">Wang et al., 2024</xref>) introduces a new offshore wind speed point and interval prediction model that combines an innovative two-layer decomposition technique, GRU and KDE. However, the lack of a typical power scenario delineation leads to a low prediction accuracy of the model for some power periods. Literature (<xref ref-type="bibr" rid="B36">Zareipour et al., 2011a</xref>; <xref ref-type="bibr" rid="B5">Cui et al., 2019</xref>) proposes data-driven probabilistic wind power ramp prediction methods based on massive simulated scenarios, but such models have yet to improve their robustness under weather in the ramp section. Literature (<xref ref-type="bibr" rid="B28">Ouyang et al., 2019</xref>) proposes an integrated learning method to generate probabilistic prediction results, but the method does not take into account the interference of power timing pseudo-inflection points on the complete extraction of the ramp segment period and does not highlight the improvement of the model&#x2019;s accuracy under ramp segment weather. The above uncertainty prediction method improves the performance of wind power prediction under complex meteorological conditions to a certain extent, but there are still the following shortcomings: first, the lack of targeted optimization of the ramp segment of the extreme weather caused by the sudden change of power scenarios, which affects the prediction accuracy; second, the deterministic prediction method of the gentle power period is sufficient to meet the demand for prediction accuracy and stability, and the uncertain prediction takes up a large number of computing resources and the prediction interval under the gentle power period is too long to meet the prediction accuracy and stability requirements. Second, the deterministic prediction method is sufficient to meet the demand for prediction accuracy and stability in the gentle power period, while the uncertainty prediction takes up a lot of computing resources and the prediction interval is too large in the gentle power period, which affects the reasonableness and intuition of prediction.</p>
<p>The basis of ramp prediction is its identification technology. There have been in-depth studies on the research of wind power ramp events abroad, but the definition of it by various research institutions has not yet formed a unified standard. Literature (<xref ref-type="bibr" rid="B30">Potter et al., 2009</xref>; <xref ref-type="bibr" rid="B9">Ferreira et al., 2011</xref>) summarized four different definitions of ramp events by considering several factors such as power amplitude change, duration, and ramping rate. According to <xref ref-type="bibr" rid="B32">Truewind (2008)</xref>, the occurrence of a &#x201c;ramp event&#x201d; is accompanied by a large change in wind speed in a short period, and the larger the amplitude change, the smaller the duration, and the faster the ramping rate, the more serious the ramp event is. Common studies set the minimum threshold of climb duration at 1&#xa0;h, but ramp events of less than 1&#xa0;h are also possible (<xref ref-type="bibr" rid="B18">Kamath, 2010</xref>; <xref ref-type="bibr" rid="B19">Kamath, 2011</xref>). Further, the literature (<xref ref-type="bibr" rid="B39">Zheng and Kusiak, 2009</xref>; <xref ref-type="bibr" rid="B37">Zareipour et al., 2011b</xref>) used a mean clustering algorithm and support vector machine to classify the ramp events in the historical data, respectively, and analyzed the characteristics and hazards of different types of ramp events.</p>
<p>The recognition technology of ramp events in China is not mature, and it is based on power prediction. Literature (<xref ref-type="bibr" rid="B12">Greaves et al., 2009</xref>) used a numerical weather prediction system to identify possible future wind power&#x2019;s ramp events by obtaining meteorological background information. In literature (<xref ref-type="bibr" rid="B4">Cui et al., 2014</xref>; <xref ref-type="bibr" rid="B15">Huang et al., 2016</xref>; <xref ref-type="bibr" rid="B29">Ouyang et al., 2017</xref>), ARMA, Kalman, and neural network models were used to predict the power first, and then the predicted power was used for ramp recognition. Due to the lack of consideration of the characteristics of ramp events, the effectiveness of these methods in the identification of ramp events is very limited, which makes the identification of ramp events one of the urgent problems to be solved in the grid connection of wind power.</p>
<p>Aiming at the above deficiencies, a short-term wind power segmentation prediction method based on ramp period division is proposed in this paper. Specifically, a trend extraction model based on the moving average sensitivity method (MASM) is first proposed for the whole period to characterize the real-time change of power time series preliminarily; furthermore, a hill-ramp segment definition and identification method is proposed to extract the hill-ramp power period for the sub-time period; finally, a segmented prediction method is proposed to make lean prediction of wind power for the whole period: a light gradient boosting machine (LightGBM) - Long short-term memory (LSTM) is proposed for the non-hill-ramp segment period. Finally, a segmented prediction method is proposed to make a lean prediction of wind power for the whole period: a LightGBM-LSTM combination prediction method is proposed for the non-ramp period; a probabilistic prediction method based on CNN-BiGRU-KDE is proposed for the ramp period. The experimental results show that the prediction accuracy of the method proposed in this paper is greatly improved compared with the existing methods, providing new ideas for short-term wind power prediction.</p>
</sec>
<sec id="s2">
<title>2 Basic idea</title>
<p>Changes in meteorological parameters under ramp segment weather are characterized by instantaneous sudden changes and drastic amplitude, which leads to many problems in wind power prediction under ramp segment weather conditions.</p>
<p>The main problems are as follows:<list list-type="simple">
<list-item>
<p>(1) As the weather in the ramp segment has various changes in meteorological patterns in a short period, it is easy to cause misjudgment of the trend, which affects the accuracy of power extraction in the ramp segment.</p>
</list-item>
<list-item>
<p>(2) Due to the strong stochasticity and complexity of the weather mutation period in the ramp segment, it is difficult to accurately and completely extract the power mutation period in the ramp segment by the power mutation period extraction method with the fixed characteristics as the extraction factor.</p>
</list-item>
<list-item>
<p>(3) Different meteorological models correspond to different time series characteristics in the ramp weather period. To fully utilize the performance advantages of deterministic and uncertainty prediction methods, it is one of the urgent problems to propose a segmented prediction strategy to match different weather patterns.</p>
</list-item>
</list>
</p>
<p>To address the above issues specifically, this paper proposes a segmented prediction method based on ramp segment identification and recognition technology. The specific method flow is shown in <xref ref-type="fig" rid="F1">Figure 1</xref>. Firstly, the MASM model is used to extract the trend components in the time series, smoothing transitions and capturing trend changes. Subsequently, the power mutation sensitivity factor (PMSF) is employed to calculate specific power points of sudden changes, identify key changes in the time series, and obtain the exponential moving average (EMA) sequence. On this basis, ramp segments in EMA are identified and extracted by defining ramp segments and setting ramp thresholds (ramp amplitude, ramp rate), i.e., periods of significant changes in weather conditions, to analyze their impact on electricity demand. In the prediction phase, a segmented prediction method is adopted, processing the time series according to different characteristics or patterns.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Method flow chart.</p>
</caption>
<graphic xlink:href="fenrg-12-1474969-g001.tif"/>
</fig>
<p>For non-ramp segments, the LightGBM-LSTM model is used for point prediction, combining the advantages of gradient boosting and long short-term memory networks to capture complex patterns and temporal dependencies. For ramp segments, the CNN-BiGRU-KDE model is employed for probabilistic prediction, generating predictive probability distributions. Finally, the results of point prediction and probabilistic prediction are integrated to form the final segmented prediction. This method not only considers the accuracy of prediction but also incorporates prediction uncertainty, providing more comprehensive and reliable prediction results.</p>
</sec>
<sec id="s3">
<title>3 Time-series trend extraction</title>
<p>Under the weather of the ramp segment, the wind power shows drastic changes, to accurately identify the ramp power period, the first step is to extract the time series trend of the whole period. The traditional method of recognizing the time series mutation is to extract the index parameters such as mutation amplitude and mutation duration as the basis of identification. This method is only applicable to a single time-sequence mutation scenario, and it is easy to cause insufficient extraction of the mutation period for the complex and variable time-sequence mutation scenarios of the ramp segment. To establish an ideal early warning mechanism for weather periods in the ramp segment, this paper proposes a novel method of describing the time-sequence trend by taking the historical time-sequence characteristics into full consideration. Different from the traditional trend extraction method that directly takes the original time series as the feature extraction object, this method takes the moving average as the trend research object. It not only avoids the trend misjudgment caused by the raw power time series noise but also retains the timeliness of the time series change trend. This method extracts the time-series trend from the power curve 1&#xa0;h before the point in time to be predicted.</p>
<p>MASM is a technical indicator that utilizes the aggregation and separation conditions between short-term averages and raw data combined with the time series characteristics of the averages themselves to investigate and judge the highs and lows of the prediction object (<xref ref-type="bibr" rid="B23">Li, 2013</xref>). The principle of MASM is to use the EMA that characterizes the short-term trend of the raw data and to compute the PMSF of the current instantaneous rate of change of the EMA. The PMSF can better project the inflection point of the trend after the comprehensive evaluation of the mutation sensitivity. The specific steps of MASM are as follows:</p>
<p>Find the N-day smoothed moving average <italic>X</italic> of <italic>t</italic> if <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the <italic>N</italic>-1 day smoothed moving average:<disp-formula id="e1">
<mml:math id="m2">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>EMA</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>Where: <italic>t</italic> is the current time point; <italic>X</italic> is the N-day smoothed moving average of the time series at moment <italic>t</italic>; <inline-formula id="inf2">
<mml:math id="m3">
<mml:mrow>
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is the <italic>N</italic>-1 day smoothed moving average of the time series.</p>
<p>The EMA curve obtained above is smoothed by the Gaussian window method, and the rate of change of each moment in the time sequence is further calculated as PMSF. The specific calculation is as follows:<disp-formula id="e2">
<mml:math id="m4">
<mml:mrow>
<mml:mtext>PMSF</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mtext>smooth</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mtext>smooth</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2192;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>Where: <inline-formula id="inf3">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mtext>smooth</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the smoothed EMA value at the time <inline-formula id="inf4">
<mml:math id="m6">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>; <inline-formula id="inf5">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mtext>smooth</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the smoothed EMA value at time <inline-formula id="inf6">
<mml:math id="m8">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. The effect of EMA and PMSF applications is shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. The EMA and PMSF are calculated using <xref ref-type="disp-formula" rid="e1">Equations 1</xref>, <xref ref-type="disp-formula" rid="e2">2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Schematic diagram of the effect of EMA and PMSF. <bold>(A)</bold> Raw power data. <bold>(B)</bold> 60&#xa0;min Expontial Movieng Average (EMA). <bold>(C)</bold> Extreme Point detection.</p>
</caption>
<graphic xlink:href="fenrg-12-1474969-g002.tif"/>
</fig>
</sec>
<sec id="s4">
<title>4 Ramp segment identification</title>
<p>Considering that a ramp event is a large change in wind power over a short period, the wind power ramp event can be redefined by the ramp amplitude and ramp rate. In this paper, we will first find the extreme points of historical wind power sequences, and analyze and identify the ramp events based on the sequence of extreme points to avoid the identification of ramps under different definition criteria.</p>
<p>The current wind power ramp is generally studied as an &#x201c;event&#x201d;, and the complete ramp event consists of multiple ramp segments, so this paper will take the &#x201c;ramp segment&#x201d; as an object to study, and put forward a new approach to identify the ramp segment, the basic idea is shown in <xref ref-type="fig" rid="F3">Figure 3</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Basic flow of ramp segment recognition.</p>
</caption>
<graphic xlink:href="fenrg-12-1474969-g003.tif"/>
</fig>
<p>As can be seen in <xref ref-type="fig" rid="F3">Figure 3</xref>, on the one hand, the original wind power sequence is extracted from the extreme point to find out the extreme sequence; on the other hand, the new definition is determined by the typical definition of ramp events; the magnitude threshold and rate threshold are set in combination with the above two aspects to identify the ramp segment; finally, the feature analysis is carried out to determine the ramp segments in a specific region.</p>
<sec id="s4-1">
<title>4.1 Extreme extraction process</title>
<p>The extreme extraction method achieves the effect of feature extraction by extracting the extreme values of the original sequence, by searching the local extreme points of the numerical sequence. Assuming that the original information matrix is <bold>
<italic>X</italic>
</bold>, <bold>
<italic>X</italic>
</bold> can be expressed as.<disp-formula id="e3">
<mml:math id="m9">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>Where: <bold>
<italic>X</italic>
</bold> is the original data matrix; <inline-formula id="inf7">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf8">
<mml:math id="m11">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf9">
<mml:math id="m12">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the 1st, <italic>I</italic>, and <italic>m</italic>th data moments, respectively; <inline-formula id="inf10">
<mml:math id="m13">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf11">
<mml:math id="m14">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf12">
<mml:math id="m15">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the 1st, <italic>i</italic>, and <italic>m</italic>th power data, respectively; <italic>i</italic> is the counting point; <italic>m</italic> is the amount of original data. Extracting the extreme sequence from <bold>
<italic>X</italic>
</bold>, the specific process is as follows:<list list-type="simple">
<list-item>
<p>1) Initialize the beginning and end of <bold>
<italic>E</italic>
</bold> as the beginning and end of <bold>
<italic>X</italic>
</bold>:</p>
</list-item>
</list>
<disp-formula id="e4">
<mml:math id="m16">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>m</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>Where: <bold>
<italic>E</italic>
</bold> is the extreme matrix; <italic>d</italic> is the number of extreme points.<list list-type="simple">
<list-item>
<p>2) Give the discriminant of the extreme point:</p>
</list-item>
</list>
<disp-formula id="e5">
<mml:math id="m17">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2460;</mml:mo>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2461;</mml:mo>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>If condition &#x2460; is met, it is a point of minimal value; if &#x2461; is met, it is a point of maximum value. Store <inline-formula id="inf13">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>&#x3001; <inline-formula id="inf14">
<mml:math id="m19">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> to <bold>
<italic>E</italic>
</bold> at the extreme point.<list list-type="simple">
<list-item>
<p>3) Correction for the beginning of the polar matrix.</p>
</list-item>
</list>
<disp-formula id="e6">
<mml:math id="m20">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mtext>bin</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
<disp-formula id="e7">
<mml:math id="m21">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mtext>bin</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mtext>bin</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>Where: <inline-formula id="inf15">
<mml:math id="m22">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mtext>bin</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the magnitude of the ramp, from the start to the end; <inline-formula id="inf16">
<mml:math id="m23">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mtext>bin</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the first and last of the positive correction. The first and last of <bold>
<italic>E</italic>
</bold> are corrected using (<xref ref-type="disp-formula" rid="e6">Equations 6</xref>, <xref ref-type="disp-formula" rid="e7">7</xref>).<list list-type="simple">
<list-item>
<p>(4) Extreme matrix terminal correction.</p>
</list-item>
</list>
<disp-formula id="e8">
<mml:math id="m24">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mtext>end</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
<disp-formula id="e9">
<mml:math id="m25">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mtext>end</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mtext>end</mml:mtext>
</mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
</mml:mrow>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>Where: <inline-formula id="inf17">
<mml:math id="m26">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mtext>end</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the terminal ramp; <inline-formula id="inf18">
<mml:math id="m27">
<mml:mrow>
<mml:msub>
<mml:mi>L</mml:mi>
<mml:mtext>end</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the terminal correction value. The terminal of <italic>E</italic> is corrected using (<xref ref-type="disp-formula" rid="e8">Equations 8</xref>, <xref ref-type="disp-formula" rid="e9">9</xref>).</p>
<p>The above content provides a detailed introduction to the basic principles of the extreme extraction method and practical operation steps. We utilize the wind power data measured at a wind farm to verify the reliability of the extreme extraction method every 15&#xa0;min, and the verification results are shown in <xref ref-type="fig" rid="F2">Figure 2C</xref>.</p>
<p>The solid line in <xref ref-type="fig" rid="F2">Figure 2C</xref> is the characteristic line of the extracted extreme points. From <xref ref-type="fig" rid="F2">Figure 2C</xref>, it can be seen that the extreme extraction method can effectively extract the extreme points in the power series, and less extreme data can be used in the presentation of the change characteristics of the original series, to achieve the effect of data compression and achieve the purpose of feature extraction.</p>
<p>To facilitate the analysis of the following article, the extreme points are called temporary ramp points (TRP), and the <bold>
<italic>E</italic>
</bold> is called TRP series <bold>
<italic>Y</italic>
</bold>, that is:<disp-formula id="e10">
<mml:math id="m28">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">Y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>Where: <bold>
<italic>Y</italic>
</bold> is the TRP matrix; <inline-formula id="inf19">
<mml:math id="m29">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>&#x3001; <inline-formula id="inf20">
<mml:math id="m30">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are the TRP moments with power; <italic>j</italic> is the number of counts of temporary ramps; <italic>n</italic> is the number of temporary ramps.</p>
</sec>
<sec id="s4-2">
<title>4.2 Definition of the ramp segment and threshold setting</title>
<sec id="s4-2-1">
<title>4.2.1 Definition of a ramp segment</title>
<p>
<list list-type="simple">
<list-item>
<p>1) The classical definition of a ramp event.</p>
</list-item>
</list>
</p>
<p>Literature (<xref ref-type="bibr" rid="B38">Zhang et al., 2018</xref>; <xref ref-type="bibr" rid="B10">Freedman et al., 2008</xref>; <xref ref-type="bibr" rid="B6">Cutler et al., 2011</xref>) summarizes several typical definitions of ramp events.</p>
<p>
<statement content-type="definition" id="defination_1">
<label>Definition I</label>
<p>The condition is met if the difference between the power at the cutoff time and the power at the start time exceeds a set threshold <italic>&#x3bb;</italic> within a given period [<italic>t</italic>, <italic>t&#x2b;&#x2206;t</italic>].<disp-formula id="e11">
<mml:math id="m31">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>Then the power ramp event is considered to occur in this time frame, where <italic>&#x3bb;</italic> is the threshold of the ramp amplitude.</p>
<p>The literature (<xref ref-type="bibr" rid="B38">Zhang et al., 2018</xref>) recommends that a change in amplitude greater than about 15%&#x2013;20% of the total installed capacity is recognized as a ramp event. The threshold of ramp magnitude for wind farms is used for the test, which results in an average value of about 30&#x2013;40&#xa0;MW. <xref ref-type="fig" rid="F4">Figure 4</xref> shows the ramp identification plot according to Definition I (<xref ref-type="disp-formula" rid="e11">Equation 11</xref>), taking <italic>&#x3bb;</italic> &#x3d; 35&#xa0;MW.</p>
<p>From <xref ref-type="fig" rid="F4">Figure 4</xref>, this definition recognizes simple ramp events in the power sequence. However, only the ramp amplitude is considered, and the ramp rate (the change characteristics of the power in the ramp process) is not considered, resulting in the loss of power characteristics. In addition, the ramp amplitude threshold set only based on the installed wind farm cannot effectively reflect the actual power amplitude change of the wind farm, which is easy to causes the omission of identification.</p>
</statement>
</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Ramp segments identified according to Definition I.</p>
</caption>
<graphic xlink:href="fenrg-12-1474969-g004.tif"/>
</fig>
<p>
<statement content-type="definition" id="defination_2">
<label>Definition II</label>
<p>Firstly, a time range [<italic>t</italic>, <italic>t&#x2b;&#x2206;t</italic>] is circled, and then the maximum and minimum values are searched in this time range to find their extreme difference which is larger than <italic>&#x3bb;</italic>, that is<disp-formula id="e12">
<mml:math id="m32">
<mml:mrow>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>min</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
</p>
<p>Then the power ramp event is considered to occur in this time interval. Definition II considers the power amplitude in the time interval, while the rate of change is not characterized.</p>
</statement>
</p>
<p>
<statement content-type="definition" id="definiation_3">
<label>Definition III</label>
<p>Circle a certain time range [<italic>t</italic>, <italic>t&#x2b;&#x2206;t</italic>], and when the power rate is greater than the value of <italic>&#x3b2;</italic>, it is the ramp rate in that time range:<disp-formula id="e13">
<mml:math id="m33">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<p>Then the power ramp event is considered to occur within this time frame, where the <italic>&#x3b2;</italic> is the threshold for ramp rate. This definition is simultaneously able to determine the up-ramping and down-ramping situations. <xref ref-type="disp-formula" rid="e13">Equation 13</xref> defines an up-ramp event when <inline-formula id="inf21">
<mml:math id="m34">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and a down-ramp event when <inline-formula id="inf22">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>According to the literature (<xref ref-type="bibr" rid="B32">Truewind, 2008</xref>; <xref ref-type="bibr" rid="B6">Cutler et al., 2011</xref>), only when the power change of the wind farm reaches at least 50% of the installed capacity within 4&#xa0;h is recognized as a ramp event, so the corresponding rate threshold can be calculated according to 0.417&#xa0;MW/min. Combined with <xref ref-type="disp-formula" rid="e13">Equation 13</xref>, the ramp diagram identified by Definition III is drawn, as shown in <xref ref-type="fig" rid="F5">Figure 5</xref>.</p>
<p>As can be seen in <xref ref-type="fig" rid="F5">Figure 5</xref>, although the dynamics can be accurately depicted based on the ramp rate, the information redundancy of the ramp events is also increased by the extraction points with small change amplitude, leading to an unclear identification of the ramp events.</p>
<p>The definition of the above ramp event method identifies different results, which is not popularized in practical applications. And for the ramp events with complex processes and long periods, they are often interspersed with non-ramp intervals which cause ramp misrecognition. In the following segment, we will take a segmented approach, and based on the definition of a typical ramp event, we will define the ramp segment, and discuss and find the method of setting the ramp threshold.<list list-type="simple">
<list-item>
<p>2) A new type of ramp segment definition.</p>
</list-item>
</list>
</p>
<p>As can be seen from <xref ref-type="fig" rid="F4">Figures 4</xref>, <xref ref-type="fig" rid="F5">5</xref>, it is difficult to recognize the complex process of ramp events by using Definitions I&#x2013;III alone. In this paper, the ramp event is segmented, and Definitions I&#x2013;III are combined and refined to redefine the ramp segment by combining (<xref ref-type="disp-formula" rid="e3">Equations 3</xref>&#x2013;<xref ref-type="disp-formula" rid="e9">9</xref>) with the <bold>
<italic>Y</italic>
</bold>, as follows:<disp-formula id="e14">
<mml:math id="m36">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtext>ramp&#x2009;points</mml:mtext>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="&#x7c;">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>and</mml:mtext>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="&#x7c;">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi mathvariant="normal">C</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtext>stationary&#x2009;point</mml:mtext>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="&#x7c;">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mtext>&#x2009;or&#x2009;</mml:mtext>
<mml:mfrac>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="&#x7c;">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>where <inline-formula id="inf23">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mi>max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the highest value of the rate of change of the incoming power determined by the wind farm installation and the grid, with the specific reference values shown in <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<p>
<xref ref-type="disp-formula" rid="e14">Equation 14</xref> makes a limitation on the ramp amplitude (C1) and ramp rate (C2); when the C1 is available, the power rate between TRPs (<xref ref-type="disp-formula" rid="e10">Equation 10</xref>) is examined; when the C1 and C2 are satisfied at the same time, it is determined that the ramping has occurred between the TRPs, and the <inline-formula id="inf24">
<mml:math id="m38">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>q</mml:mi>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> is judged to be a ramp point, see the following ramp point matrix <bold>
<italic>Z</italic>
</bold>:<disp-formula id="e15">
<mml:math id="m39">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">Z</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>q</mml:mi>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>q</mml:mi>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>Where: <bold>
<italic>Z</italic>
</bold> is the ramp point matrix; <inline-formula id="inf25">
<mml:math id="m40">
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>&#x3001;<inline-formula id="inf26">
<mml:math id="m41">
<mml:mrow>
<mml:msup>
<mml:mi>P</mml:mi>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> are the moment and power of the ramp point; <italic>q</italic> is the number of counts of ramp points; <italic>r</italic> is the number of ramp points.</p>
<p>The combination of condition I and condition II (<xref ref-type="disp-formula" rid="e12">Equation 12</xref>) makes the information redundancy better in complex ramp segments. Since <inline-formula id="inf27">
<mml:math id="m42">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi mathvariant="normal">Y</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> are not a fixed time range, therefore, <italic>&#x3bb;</italic> and <italic>&#x3b2;</italic> do not constitute a fixed mathematical relationship, but two independent conditional thresholds, and the setting between <italic>&#x3bb;</italic> and <italic>&#x3b2;</italic> is discussed on this basis.</p>
<p>
<xref ref-type="disp-formula" rid="e14">Equation 14</xref> introduces the concept of stationary point (SP), defines the TRP with ramp amplitude less than <italic>&#x3bb;</italic> or ramp rate less than <italic>&#x3b2;</italic> as a stationary point, and replaces the successive stationary points with a horizontal line, whose value is equal to the value of the starting stationary point. By introducing the concept of stationary point, clear statistics of the ramp period, reducing the redundancy of information in the ramp segment, and reducing the statistical error of ramp duration, we can effectively distinguish and recognize the calm and slow zones during power ramp.</p>
</statement>
</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Climbing segments identified according to Definition III.</p>
</caption>
<graphic xlink:href="fenrg-12-1474969-g005.tif"/>
</fig>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Recommended value of maximum power rate change of wind farm.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Installed capacity of wind farms/MW</th>
<th align="center">Maximum change in 10&#xa0;min/MW</th>
<th align="center">Maximum change in 1&#xa0;min/MW</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">&#x3c;30</td>
<td align="center">20</td>
<td align="center">6</td>
</tr>
<tr>
<td align="center">30&#x2013;150</td>
<td align="center">Cap/1.5</td>
<td align="center">Cap/5</td>
</tr>
<tr>
<td align="center">&#x3e;150</td>
<td align="center">100</td>
<td align="center">30</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4-2-2">
<title>4.2.2 Discussion of ramp threshold setting</title>
<p>
<list list-type="simple">
<list-item>
<p>1) Setting of <italic>&#x3b2;</italic>
</p>
</list-item>
</list>
</p>
<p>C2 of <xref ref-type="disp-formula" rid="e14">Equation (14)</xref> already specifies the method for calculating the ramp rate. As shown in <xref ref-type="fig" rid="F6">Figure 6A</xref>, the ramp rates of adjacent TRP are calculated and counted, and the confidence intervals of the ramp rates are analyzed by their cumulative probability distribution plots. <xref ref-type="fig" rid="F6">Figure 6A</xref> shows that more than 90% of the ramp rates are less than &#x3b2;max, indicating that the majority of the ramp rates can meet the grid connection</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Ramp diagram under different ramp thresholds. <bold>(A)</bold> Ramp amplitude at neighboring TRPs. <bold>(B)</bold> The ramp amplitude threshold is 0&#xa0;MW. <bold>(C)</bold> The ramp amplitude threshold is: 2.873&#xa0;MW. <bold>(D)</bold> The ramp amplitude threshold is: 5.5882&#xa0;MW. <bold>(E)</bold> The ramp amplitude threshold is: 22.8731&#xa0;MW. <bold>(F)</bold> The ramp amplitude threshold is: 49.1598&#xa0;MW.</p>
</caption>
<graphic xlink:href="fenrg-12-1474969-g006.tif"/>
</fig>
<p>Requirements, and more than 80% of the rates are greater than 0.417&#xa0;MW/min. The ramp rate threshold for this wind farm is 0.4&#xa0;MW/min, which can be obtained according to the recommendation of Literature (<xref ref-type="bibr" rid="B15">Huang et al., 2016</xref>), which indirectly verifies the validity of determining the ramp threshold by the method of mathematical statistics. According to the definition of <xref ref-type="disp-formula" rid="e14">Equation 14</xref>, when the rate of change of power in a certain time range is greater than a certain threshold value, it can be determined that the ramp may occur in this period. According to the mathematical and statistical results in <xref ref-type="fig" rid="F6">Figure 6A</xref>, more than 80% of the power changes are contained in cases where the absolute value of the power rate of change is greater than or equal to 0.417&#xa0;MW/min, which is consistent with today&#x2019;s prevailing view of hill-ramp rate threshold setting.<list list-type="simple">
<list-item>
<p>2) <italic>Setting</italic> of <italic>&#x3bb;.</italic>
</p>
</list-item>
</list>
</p>
<p>To address the problem of setting <italic>&#x3bb;</italic> (<xref ref-type="disp-formula" rid="e11">Equations 11</xref>, <xref ref-type="disp-formula" rid="e12">12</xref>), this paper utilizes mathematical statistics to determine the ramp magnitude threshold by counting the power magnitude changes between sequences of TRP, as shown in <xref ref-type="fig" rid="F6">Figures 6B&#x2013;F</xref> for <italic>&#x3b2;</italic> &#x3d; 0.4314&#xa0;MW/min, <italic>&#x3bb;</italic> &#x3d; 2.875 MW, 5.588 MW, 22.873 MW, and 45.1598&#xa0;MW. From the figure, it can be seen that different ramp amplitudes can recognize different ramp processes, and lower amplitude thresholds can have a good description of the ramp process, but it is impossible to exclude the interference of small fluctuations in power, which results in wrong recognition. With higher amplitude thresholds, small fluctuations in power can be excluded and the ramp process can be depicted with fewer points. Setting different ramp amplitude thresholds and combining the actual dynamic changes in the wind field, is a method to select the optimal ramp amplitude threshold by choosing the probability interval of changes with different amplitudes.</p>
<p>The determination of ramp amplitude thresholds using the mathematical and statistical method has an obvious advantage in that the thresholds can be set flexibly, and this threshold setting is more prominent compared to the traditional method. The magnitude of historical power changes is summarized through statistics and analysis of historical data of a specific wind field to set the ramp magnitude threshold flexibly, thus providing flexible identification of ramp events.</p>
</sec>
</sec>
<sec id="s4-3">
<title>4.3 Ramp segment identification based on extreme point extraction</title>
<p>Through the redefinition of the ramp segment and the discussion of the ramp threshold, combined with the experience of the selection of the ramp threshold in the typical definition of ramp, the uphill point is identified as an ascent point when the ramp rate is greater than or equal to the value of <italic>&#x3b2;</italic>, the typical definition of the ramp rate is less than the value of <italic>&#x3b2;</italic>, and the typical definition of the ramp rate is greater than or equal to the value of <italic>&#x3b2;</italic> as the characteristic ramp identification schematic as shown in <xref ref-type="fig" rid="F7">Figure 7</xref>. And the time of ascent was counted according to the ascent schematic, and the results are shown in <xref ref-type="fig" rid="F8">Figure 8</xref>. The formula is as <xref ref-type="disp-formula" rid="e16">Equation 16</xref> to discriminate the point of up and down the ramp, and the formula is calculated as <xref ref-type="disp-formula" rid="e17">Equation 17</xref> the duration of ramp.<disp-formula id="e16">
<mml:math id="m43">
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtext>up</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mtext>ramping</mml:mtext>
<mml:mo>:</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>q</mml:mi>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>q</mml:mi>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mtext>down</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mtext>ramping</mml:mtext>
<mml:mo>:</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>q</mml:mi>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mi>q</mml:mi>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x3c;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
<label>(16)</label>
</disp-formula>
<disp-formula id="e17">
<mml:math id="m44">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="&#x7c;">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mtext>FSP</mml:mtext>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">Z</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(17)</label>
</disp-formula>where <inline-formula id="inf28">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mtext>FSP</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the moment of the starting stationing point.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Wind power ramp diagram based on extreme point extraction.</p>
</caption>
<graphic xlink:href="fenrg-12-1474969-g007.tif"/>
</fig>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Ramp duration chart. <bold>(A)</bold> Ramping duration distribution. <bold>(B)</bold>. Cumulative probability distribution of ramping duration.</p>
</caption>
<graphic xlink:href="fenrg-12-1474969-g008.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F8">Figure 8A</xref> shows the distribution of ramp length, 12 ramp segments were identified, the shortest segment was 0.5&#xa0;h, the longest segment was 3&#xa0;h, and the average time of each segment was 1.8&#xa0;h. <xref ref-type="fig" rid="F8">Figure 8B</xref> shows the cumulative distribution of continuous time ramp, with more than 90% of the continuous time counted in the area within 2.234&#xa0;h.</p>
<p>Combined with the previous analysis, the basic flow of this algorithm is given as follows: based on the extraction of extreme value points, the identification of ramp segments is completed.</p>
<p>
<statement content-type="step" id="Step_1">
<label>Step 1</label>
<p>Extract the extreme point of the historical actual power sequence, according to the extreme value extraction method and <xref ref-type="disp-formula" rid="e3">Equations 3</xref>&#x2013;<xref ref-type="disp-formula" rid="e9">9</xref> to get the extreme value series <bold>
<italic>E</italic>
</bold>, also known as the TRP series <bold>
<italic>Y</italic>.</bold>
</p>
</statement>
</p>
<p>
<statement content-type="step" id="step_2">
<label>Step 2</label>
<p>the amplitude change of power, according to C1 of <xref ref-type="disp-formula" rid="e14">Equation 14</xref> and the TRP sequence calculation statistics, analyzes the cumulative probability distribution of amplitude change by calculation, sets the ramp amplitude threshold limit, and finds out <xref ref-type="disp-formula" rid="e14">Equation 14</xref>.</p>
</statement>
</p>
<p>
<statement content-type="step" id="step_3">
<label>Step 3</label>
<p>sets the ramp rate threshold and calculates and analyzes the power rate of C2 of <xref ref-type="disp-formula" rid="e14">Equation 14</xref> and the TRP sequence by calculating and analyzing the cumulative probability distribution of the rate of change.</p>
</statement>
</p>
<p>
<statement content-type="step" id="step_4">
<label>Step 4</label>
<p>Identify the stationary point based on the stationary point identification condition in <xref ref-type="disp-formula" rid="e14">Equation 14</xref> Identify the stationary point based on <xref ref-type="disp-formula" rid="e15">Equations 15</xref>, <xref ref-type="disp-formula" rid="e16">16</xref> based on the parameters determined by STEP2 and STEP3, and identify the upper and lower ramps based on <xref ref-type="disp-formula" rid="e15">Equations 15</xref>, <xref ref-type="disp-formula" rid="e17">17</xref> to count the length of the ramp time.</p>
</statement>
</p>
</sec>
</sec>
<sec id="s5">
<title>5 Segmentation prediction algorithm</title>
<p>To improve the performance of wind power prediction under the full-time period and make the model fit the typical characteristics of various meteorological types, this paper proposes a time-series segment prediction algorithm that combines point prediction and probabilistic prediction. Based on the extraction results of meteorological periods in the ramp segment in <xref ref-type="sec" rid="s3">Section 3</xref>, the time series is divided into a fluctuation segment and a low output leveling segment, corresponding to the probability prediction and point prediction respectively. This method helps to improve the reasonableness and readability of the prediction results, and reduces the amount of modeling operations, and improves the computational efficiency.</p>
<sec id="s5-1">
<title>5.1 LightGBM-LSTM based point prediction method</title>
<p>In practical applications, full-time power prediction challenges a single prediction model. In this paper, a combined LightGBM-LSTM prediction method is proposed to improve the problem of insufficient prediction accuracy in specific scenarios. Massive feature data are used as inputs to the LSTM network and LightGBM prediction model, respectively; meanwhile, to improve the prediction accuracy of the LSTM neural network, the preliminary prediction result of the LightGBM model is input into the LSTM network as one of the features. This combined prediction model can combine the respective features of the above 2 models, which can not only explore the intrinsic connection between multi-feature data but also avoid the bad influence on the prediction accuracy due to over-fitting.</p>
<sec id="s5-1-1">
<title>5.1.1 LightGBM model</title>
<p>LightGBM is a framework for implementing the gradient boosting decision tree algorithm. The training speed is faster, the memory consumption is lower, the accuracy is better, the support of distributed, and the fast processing of massive data can be performed (<xref ref-type="bibr" rid="B2">Chen et al., 2021</xref>). The main improvements of the LightGBM model include the histogram algorithm and the Leaf-Wise Reading Strategy (<xref ref-type="bibr" rid="B17">Ju et al., 2019</xref>). Among them, the former can be substantially reduced in terms of memory usage; the latter can grow deeper decision trees for better prediction accuracy with the same number of breaks. In addition, LightGBM supports category characteristics that do not need to be transformed (e.g., whether it is weather on a ramp road) and incorporates decision rules for category characteristics in the decision tree algorithm.</p>
</sec>
<sec id="s5-1-2">
<title>5.1.2 LSTM</title>
<p>LSTM is a special kind of Recurrent Neural Network architecture (<xref ref-type="bibr" rid="B27">Nguyen. et al., 2024</xref>), which can solve the problem of modeling time-series data of integrated drives. LSTM can effectively deal with the long-time dependency relationship and introduces the &#x201c;memory unit&#x201d; and gating mechanism. The structure of LSTM is shown in <xref ref-type="fig" rid="F9">Figure 9</xref>.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Model structure of LSTM.</p>
</caption>
<graphic xlink:href="fenrg-12-1474969-g009.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F9">Figure 9</xref> shows the input <inline-formula id="inf29">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the output <inline-formula id="inf30">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, the memory cell state <inline-formula id="inf31">
<mml:math id="m48">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and the candidate memory cell state <inline-formula id="inf32">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>C</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of the LSTM at the <italic>t</italic> time.</p>
<p>The <inline-formula id="inf33">
<mml:math id="m50">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the main memory unit responsible for storing and transmitting information in the LSTM. It is similar to the hidden layer in a traditional neural network, but it gets updated with information at every step. This design allows it to maintain long-term memory.</p>
<p>The input information for each step of the LSTM contains the <inline-formula id="inf34">
<mml:math id="m51">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf35">
<mml:math id="m52">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of the previous step and the <inline-formula id="inf36">
<mml:math id="m53">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of the current step, which allows it to preserve long-term dependencies over the entire time series. The core of the LSTM is a 3-gate structure, the oblivion gate, the input gate, and the output gate, whose outputs are <inline-formula id="inf37">
<mml:math id="m54">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf38">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf39">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, respectively.</p>
<p>The oblivion gate decides which information of <inline-formula id="inf40">
<mml:math id="m57">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> from the previous step is to be forgotten. Its uses a Sigmoid function to obtain the <inline-formula id="inf41">
<mml:math id="m58">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. It is a vector in the range [0, 1] which is used to control how much of <inline-formula id="inf42">
<mml:math id="m59">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is forgotten.</p>
<p>The computational expression for <inline-formula id="inf43">
<mml:math id="m60">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is:<disp-formula id="e18">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<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:mi>X</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(18)</label>
</disp-formula>Where: <inline-formula id="inf44">
<mml:math id="m62">
<mml:mrow>
<mml:mi>&#x3c3;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the activation function of the gate structure; <inline-formula id="inf45">
<mml:math id="m63">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf46">
<mml:math id="m64">
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the weight and bias of the oblivion gate.</p>
<p>The input gate controls the input information of the current step. It consists of two parts: one part uses a tanh function to filter valid information from <inline-formula id="inf47">
<mml:math id="m65">
<mml:mrow>
<mml:msub>
<mml:mi>X</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> as <inline-formula id="inf48">
<mml:math id="m66">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>C</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>; the other part uses a Sigmoid function to obtain <inline-formula id="inf49">
<mml:math id="m67">
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, which is used to control the degree of validity of the candidate memory cells.</p>
<p>The computational expressions for the <inline-formula id="inf50">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf51">
<mml:math id="m69">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>C</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf52">
<mml:math id="m70">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are respectively:<disp-formula id="e19">
<mml:math id="m71">
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<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:mi>X</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(19)</label>
</disp-formula>
<disp-formula id="e20">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>c</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>tanh</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<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:mi>X</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(20)</label>
</disp-formula>
<disp-formula id="e21">
<mml:math id="m73">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2297;</mml:mo>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2297;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>c</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(21)</label>
</disp-formula>where: <inline-formula id="inf53">
<mml:math id="m74">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf54">
<mml:math id="m75">
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the input gate weights and bias; <inline-formula id="inf55">
<mml:math id="m76">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf56">
<mml:math id="m77">
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi mathvariant="normal">c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the weight and bias of the candidate memory cells; <inline-formula id="inf57">
<mml:math id="m78">
<mml:mrow>
<mml:mo>&#x2297;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is the element-by-element product.</p>
<p>The output gate determines the output information of the current time step, which uses the Sigmoid function to obtain <inline-formula id="inf58">
<mml:math id="m79">
<mml:mrow>
<mml:msub>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>; <inline-formula id="inf59">
<mml:math id="m80">
<mml:mrow>
<mml:msub>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf60">
<mml:math id="m81">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> together determine the <inline-formula id="inf61">
<mml:math id="m82">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> of the neuron at the current time step.</p>
<p>The computational expressions for the <inline-formula id="inf62">
<mml:math id="m83">
<mml:mrow>
<mml:msub>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and the <inline-formula id="inf63">
<mml:math id="m84">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are:<disp-formula id="e22">
<mml:math id="m85">
<mml:mrow>
<mml:msub>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<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:mi>X</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(22)</label>
</disp-formula>
<disp-formula id="e23">
<mml:math id="m86">
<mml:mrow>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x2297;</mml:mo>
<mml:mi>tanh</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(23)</label>
</disp-formula>where: <inline-formula id="inf64">
<mml:math id="m87">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf65">
<mml:math id="m88">
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi mathvariant="normal">o</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the output gate weight and bias. In summary, the basic model of LSTM is formed by <xref ref-type="disp-formula" rid="e18">Equations 18</xref>&#x2013;<xref ref-type="disp-formula" rid="e23">23</xref>.</p>
</sec>
</sec>
<sec id="s5-2">
<title>5.2 Probabilistic prediction methods based on temporal pattern classification</title>
<sec id="s5-2-1">
<title>5.2.1 Convolutional neural networks</title>
<p>CNN is a feed-forward neural network type of deep learning model, due to its properties of extracting spatial features commonly used in various data analysis, computer vision, natural language processing, and other fields, so a convolutional layer is set up in the data to extract spatially correlated features. Especially for the characteristics of multi-dimensional extraction of data, to reduce the complexity of the problem; the pooling layer is designed to reduce the dimensionality and number of data so that it can reduce a lot of features that need to be operated to improve the learning efficiency; with the development of deep learning, more and more forms of convolution can be exercised to improve the effect of residual convolution, Alexnet and other convolution of different functions.</p>
</sec>
<sec id="s5-2-2">
<title>5.2.2 Bidirectional gated recurrent unit (Bi-GRU)</title>
<p>GRU uses recursion to obtain global information from the input sequence, utilizes update gate and reset gate to reduce gradient dispersion, and achieves the ability to remember the sequence over time and less computational loss. The update gate determines how much previous information is currently retained at the forecast point.<disp-formula id="e24">
<mml:math id="m89">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi mathvariant="normal">z</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<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:mi>F</mml:mi>
<mml:mi>e</mml:mi>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi mathvariant="normal">z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(24)</label>
</disp-formula>where: <inline-formula id="inf66">
<mml:math id="m90">
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the output of the update gate; <inline-formula id="inf67">
<mml:math id="m91">
<mml:mrow>
<mml:mi>F</mml:mi>
<mml:mi>e</mml:mi>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the input matrix for time step <italic>t</italic>. <inline-formula id="inf68">
<mml:math id="m92">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the hidden state of the previous time step <italic>t</italic>-1. <inline-formula id="inf69">
<mml:math id="m93">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi mathvariant="normal">z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf70">
<mml:math id="m94">
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi mathvariant="normal">z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are weight and base of the update gate.</p>
<p>Reset gate controls how much historical information should be ignored and determines whether the storage unit removes unnecessary detection features. Described as<disp-formula id="e25">
<mml:math id="m95">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<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:mi>F</mml:mi>
<mml:mi>e</mml:mi>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(25)</label>
</disp-formula>where: <inline-formula id="inf71">
<mml:math id="m96">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the output of the reset gate; <inline-formula id="inf72">
<mml:math id="m97">
<mml:mrow>
<mml:msub>
<mml:mi>W</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf73">
<mml:math id="m98">
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi mathvariant="normal">r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are weight and base of the reset gate.</p>
<p>Effective forecasting models need to extract implicit features and complex changes in serial data. However, GRU can only extract information from the forward direction, while ignoring the valuable information in the backward time series data. Therefore the algorithmic idea of Bi-GRU is proposed, in which the Bi-GRU layer in the encoder consists of two independent GRU networks as shown in <xref ref-type="fig" rid="F2">Figure 2</xref>. They are interconnected at adjacent depths to ensure that the hidden layer state at the previous depth can be transferred to the next hidden state in one direction and features can be extracted from both directions. Bi-GRU can be represented as<disp-formula id="e26">
<mml:math id="m99">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mi>T</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>F</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>L</mml:mi>
<mml:mo>&#x2192;</mml:mo>
</mml:mover>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>L</mml:mi>
<mml:mo>&#x20d6;</mml:mo>
</mml:mover>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(26)</label>
</disp-formula>where: <inline-formula id="inf74">
<mml:math id="m100">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>L</mml:mi>
<mml:mo>&#x2192;</mml:mo>
</mml:mover>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf75">
<mml:math id="m101">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>L</mml:mi>
<mml:mo>&#x20d6;</mml:mo>
</mml:mover>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the hidden states of the forward and backward GRUs. <italic>F</italic> denotes how the outputs of the two directions are combined, e.g., multiplication function, averaging function, summation function, etc. In summary, the basic unit model of Bi-GRU is constituted by <xref ref-type="disp-formula" rid="e24">Equations 24</xref>&#x2013;<xref ref-type="disp-formula" rid="e26">26</xref>.</p>
</sec>
</sec>
</sec>
<sec id="s6">
<title>6 Calculation validation</title>
<sec id="s6-1">
<title>6.1 Description of experimental data</title>
<p>Selected for this test sample is information from a wind farm in the country. The data and information of this experiment include the annual output power of this wind farm in 2021 as well as a variety of meteorological factors during the same period. All the above data intervals are 15&#xa0;min. To verify the effectiveness and superior performance of the algorithm of this paper for the weather conditions of the ramp segment, 10% of the wind farm data of variable meteorological scenarios containing the weather of the ramp segment are specially selected as the validation dataset.</p>
</sec>
<sec id="s6-2">
<title>6.2 Evaluation indicators</title>
<p>The article evaluates the prediction performance in terms of both deterministic and uncertainty prediction metrics. Among the deterministic prediction evaluation metrics include relative root mean square error (RRMSE) and mean absolute percentage error (MAPE).<disp-formula id="e27">
<mml:math id="m102">
<mml:mrow>
<mml:mtext>RRMSE</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="&#x7c;">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mtext>his</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mtext>his</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(27)</label>
</disp-formula>
<disp-formula id="e28">
<mml:math id="m103">
<mml:mrow>
<mml:mtext>MAPE</mml:mtext>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>100</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>n</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="&#x7c;">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mtext>his</mml:mtext>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mtext>his</mml:mtext>
</mml:msub>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(28)</label>
</disp-formula>Where: <italic>n</italic> is the total number of prediction samples; <inline-formula id="inf76">
<mml:math id="m104">
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the prediction value; <inline-formula id="inf77">
<mml:math id="m105">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mtext>his</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the true power value.</p>
<p>Uncertainty prediction evaluation metrics include prediction interval coverage percentage (PICP) and prediction interval average width (PINAW) (<xref ref-type="bibr" rid="B33">Ushakov and Ushakov, 2012</xref>).<disp-formula id="e29">
<mml:math id="m106">
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mtext>PICP</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>W</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>W</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mtext>wa</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(29)</label>
</disp-formula>
<disp-formula id="e30">
<mml:math id="m107">
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mtext>PINAW</mml:mtext>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(30)</label>
</disp-formula>
</p>
<p>Where: <inline-formula id="inf78">
<mml:math id="m108">
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mtext>PICP</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the PICP value; <italic>W</italic> is the point to be predicted and is taken as 250 in this paper; <inline-formula id="inf79">
<mml:math id="m109">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mtext>wa</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a Boolean quantity, <inline-formula id="inf80">
<mml:math id="m110">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mtext>wa</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> &#x3d; 1 means that the actual power value of the point to be measured falls within the prediction interval at the given confidence level. <inline-formula id="inf81">
<mml:math id="m111">
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mtext>PINAW</mml:mtext>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the PINAW value; <italic>T</italic> is the time-range prediction; <inline-formula id="inf82">
<mml:math id="m112">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf83">
<mml:math id="m113">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="&#x7c;">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> are the upper and lower power predictions. A smaller PINAW corresponds to a better prediction when the PICPs are equal.</p>
</sec>
<sec id="s6-3">
<title>6.3 Validation of point prediction results</title>
<p>The LIGHTGBM model in the MATLAB platform is used to call the LIGHTGBM machine learning library, the number of weak back trees is 200, the number of leaves is 50, the learning rate is 0.05, and the number of iterations is 3,000; the short-term prediction model of wind power based on the LSTM model constructed by using the KERAS framework. The initialization parameters of the prediction model are: the number of nodes in the hidden layer of the model network and the learning rate of the weights are determined by the IGWO algorithm, the number of model iterations is 15, and the activation function of the LSTM model uses the Sigmoid function.</p>
<p>The data for the training set of the model is the first 80% of the full year 2021 data, while the data for the test set is the last 20%. To observe the prediction effect over a longer time interval, the 2021 data is subjected to several sets of short-term 60-day rolling forecasts with a forecast window of 10 days, i.e., the power changes are predicted 10&#xa0;days in advance for the next 10&#xa0;days. As described in 5.1, the algorithm especially selects the power-abrupt time-series segments containing the weather of the ramp segment as the validation dataset and predicts the wind power under the variable meteorological scenarios using LightGBM (<xref ref-type="bibr" rid="B39">Zheng and Kusiak, 2009</xref>; <xref ref-type="bibr" rid="B37">Zareipour et al., 2011b</xref>), LSTM (<xref ref-type="bibr" rid="B12">Greaves et al., 2009</xref>), and LightGBM-LSTM, respectively, and the prediction results of the algorithms are shown in <xref ref-type="table" rid="T2">Table 2</xref>. The resultant curves are predicted in different ways, as shown in <xref ref-type="fig" rid="F10">Figure 10</xref>.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Presents the recommended maximum power rate change value for wind farms.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Model</th>
<th align="center">RRMSE</th>
<th align="center">MAPE</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">LSTM</td>
<td align="center">12.475</td>
<td align="center">10.843</td>
</tr>
<tr>
<td align="center">LightGBM</td>
<td align="center">8.857</td>
<td align="center">6.934</td>
</tr>
<tr>
<td align="center">LightGBM-LSTM</td>
<td align="center">6.734</td>
<td align="center">4.174</td>
</tr>
</tbody>
</table>
</table-wrap>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Comparison of point prediction performance.</p>
</caption>
<graphic xlink:href="fenrg-12-1474969-g010.tif"/>
</fig>
<p>Comparing the prediction curves in <xref ref-type="fig" rid="F10">Figure 10</xref>, it can be seen that the prediction effect of LightGBM-LSTM algorithm is closer to the real value. And it can be further seen from the prediction errors (RRMSE and MAPE were calculated using <xref ref-type="disp-formula" rid="e27">Equations 27</xref>&#x2013;<xref ref-type="disp-formula" rid="e28">28</xref>) in <xref ref-type="table" rid="T2">Table 2</xref> that it has better performance in both RRMSE and MAPE, indicating that the model not only has high prediction accuracy, but also can capture the features of the data well and give predictions close to the true value. Meanwhile it has better prediction stability and generalization ability to prevent overfitting. The improved LightGBM-LSTM algorithm combines the respective features of LSTM and LightGBM, which can not only mine the intrinsic connection between multi-featured data, but also avoid the adverse effects of overfitting, and improve the prediction accuracy of the method by combining the prediction strategies. The LightGBM model has an obvious advantage in prediction speed, but its training process is susceptible to overfitting, which results in a lower prediction accuracy is low. The LSTM network in the combined prediction model adds LightGBM as one of the input feature tensors, and thus has a better prediction effect.</p>
</sec>
<sec id="s6-4">
<title>6.4 Analysis of inter-area prediction results</title>
<p>The data of a wind farm with an installed capacity of 201&#xa0;MW in China is selected for example analysis. <xref ref-type="fig" rid="F11">Figure 11</xref> shows the distribution of prediction error, and <xref ref-type="fig" rid="F12">Figure 12</xref> shows the prediction effect of a certain 5-day period in 2021, which shows that the interval prediction model can closely follow the trend of the wind power series under the same confidence level, and obtains a narrower average bandwidth and a higher interval coverage. It can provide more accurate forecast information for decision-makers.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Error distribution of probabilistic predictions.</p>
</caption>
<graphic xlink:href="fenrg-12-1474969-g011.tif"/>
</fig>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Probability interval prediction effect diagram.</p>
</caption>
<graphic xlink:href="fenrg-12-1474969-g012.tif"/>
</fig>
<p>The probabilistic prediction effect is shown in <xref ref-type="fig" rid="F12">Figure 12</xref>, where the probabilistic prediction performance is portrayed through the PICP (<xref ref-type="disp-formula" rid="e29">Equation 29</xref>) and PINAW (<xref ref-type="disp-formula" rid="e30">Equation 30</xref>) evaluation metrics, respectively. It can be seen that the actual power timeseries curve is surrounded by the estimated confidence interval. According to the performance effect of prediction, the model is better able to extract and recognize the transitive time period timing pattern. Obviously, for the probabilistic prediction time period, the prediction intervals of lower confidence intervals are surrounded by higher confidence intervals, which effectively avoids the intersection of quartiles and proves that the power prediction method proposed in this paper has a good comprehensive performance. Further, the CNN-BiGRU-KDE probabilistic prediction method proposed in this paper shows certain accuracy advantages in the 80%, 85%, and 90% confidence intervals, which further demonstrates the effectiveness and superiority of the method proposed in this paper. Meanwhile, it can obtain interval coverage greater than the preset confidence level at different confidence levels. And the probabilistic prediction method based on CNN-BiGRU-KDE not only produces favorable bias at all confidence levels, but also has high reliability.</p>
<p>Based on the above analysis of the deterministic prediction results, it is easy to see that the LightGBM-GRU algorithm adopted in this paper shows a high prediction effect in the small fluctuation and gentle power period. However, for the weather segments with violent fluctuations and ramp segments, there is still a certain error. Especially, it is more obvious in the period of frequent large waves, so the point prediction-probability interval prediction segmentation method proposed in this paper can better make up for the above shortcomings. On the other hand, the probabilistic prediction results are shown as the upper and lower bounds of the confidence interval and the probability density distribution, and the accuracy of the point prediction is sufficient to support the actual demand in the non-ramp weather segments. This is a further manifestation of the rationality of the segmented prediction strategy proposed in this paper. As can be seen from the presentation of the segmented prediction results in <xref ref-type="fig" rid="F12">Figure 12</xref> above, the actual power time series curve is surrounded by the estimated confidence interval. According to the predicted performance results, the model can extract and recognize the ramp segment period timing patterns better. The prediction intervals of lower confidence intervals are surrounded by higher confidence intervals, which effectively circumvents the interquartile crossover against the probabilistic prediction periods, proving that the comprehensive performance of the power prediction approach mentioned in this paper is good.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s7">
<title>7 Conclusion</title>
<p>This paper proposes a short-term wind power segmentation prediction method based on the identification of ramp segment periods for the phenomenon of sudden power change in a short period of time under climbing segment meteorology. Compared with the existing methods, the proposed method improves the efficiency and accuracy of fluctuating period extraction in the ramp segment through the adaptive turning time period identification method based on local feature distribution; the improved LightGBM-LSTM algorithm can not only mine the intrinsic connection between multi-feature data, but also avoid the adverse effect of overfitting, and improve the prediction accuracy through the combination of prediction strategies; the proposed CNN-BiGRU-KDE probabilistic prediction method shows good prediction performance at the specified confidence level; by proposing a segmented prediction method based on the temporal pattern, it overcomes the influence of the variability of the power temporal features on the prediction results under the meteorological model, and significantly improves the model prediction performance. In summary, the prediction method proposed in this paper has good prediction accuracy in the full time period including the ramp segment weather, and has good generalization performance, which provides a certain useful supplement for the research in the field of ultra-short-term wind power prediction.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s8">
<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="s9">
<title>Author contributions</title>
<p>CY: Writing&#x2013;review and editing, Writing&#x2013;original draft, Methodology, Investigation, Funding acquisition, Formal Analysis. GW: Writing&#x2013;original draft, Writing&#x2013;review and editing, Methodology, Investigation, Funding acquisition, Data curation. YZ: Visualization, Resources, Writing&#x2013;review and editing, Supervision. GB: Visualization, Writing&#x2013;review and editing, Supervision, Funding acquisition. JW: Writing&#x2013;review and editing, Supervision.</p>
</sec>
<sec sec-type="funding-information" id="s10">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research, authorship, and/or publication of this article. This work was supported in part by the Science and Technology Project of State Grid Gansu Electric Power Company Electric Power Science Research Institute under Grant (No. SGGSKY00WYJS2310221).</p>
</sec>
<sec sec-type="COI-statement" id="s11">
<title>Conflict of interest</title>
<p>Authors CY and GW were employed by Power Dispatch Center of State Grid Gansu Electric Power Company. Author YZ was employed by Electric Power Science Research Institute of State Grid Gansu Electric Power 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>
<p>The authors declare that this study received funding from Electric Power Scientific Research Institute of State Grid Gansu Power Company. The funder had the following involvement in the study: the collection and analysis of the data, as well as the funder&#x2019;s decision to submit the article for publication.</p>
</sec>
<sec sec-type="disclaimer" id="s12">
<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>Cassola</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Burlando</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Wind speed and wind energy forecast through Kalman filtering of numerical weather prediction model output</article-title>. <source>Appl. Energy</source> <volume>99</volume> (<issue>6</issue>), <fpage>154</fpage>&#x2013;<lpage>166</lpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2012.03.054</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Yue</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Short-term load prediction based on combined model of long short-term memory network and light gradient boosting machine</article-title>. <source>Automation Electr. Power Syst.</source> <volume>45</volume> (<issue>4</issue>), <fpage>91</fpage>&#x2013;<lpage>97</lpage>. <comment>(in Chinese)</comment>.</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cheng</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A new generation of AI: a review and perspective on machine learning technologies applied to smart energy and electric power systems</article-title>. <source>Int. J. Energy Res.</source> <volume>43</volume> (<issue>6</issue>), <fpage>1928</fpage>&#x2013;<lpage>1973</lpage>. <pub-id pub-id-type="doi">10.1002/er.4333</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cui</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Ke</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Prediction of wind power ramp based on sparse decomposition of atoms and BP neural network</article-title>. <source>Automation Electr. Power Syst.</source> <volume>38</volume> (<issue>12</issue>), <fpage>6</fpage>&#x2013;<lpage>11</lpage>. <comment>(in Chinese)</comment>.</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cui</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Krishnan</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Hodge</surname>
<given-names>B. M.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A data-driven methodology for probabilistic wind power ramp forecasting</article-title>. <source>IEEE Trans. Smart Grid</source> <volume>10</volume> (<issue>2</issue>), <fpage>1326</fpage>&#x2013;<lpage>1338</lpage>. <pub-id pub-id-type="doi">10.1109/tsg.2017.2763827</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cutler</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Outhred</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Macgill</surname>
<given-names>I.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Final report on UNSW Project for AEMO to develop a prototype wind power forecasting tool for potential large rapid changes in wind power</article-title>. <source>Univ. N. S. W Centre Energy Environ. Mark.</source>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Erdem</surname>
<given-names>E.</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> (<issue>4</issue>), <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="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ernst</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Oakleaf</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Ahlstrom</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Lange</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Moehrlen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Lange</surname>
<given-names>B.</given-names>
</name>
<etal/>
</person-group> (<year>2007</year>). <article-title>Predicting the wind</article-title>. <source>IEEE Power Energy Mag.</source> <volume>5</volume> (<issue>6</issue>), <fpage>x5</fpage>&#x2013;<lpage>x78</lpage>. <pub-id pub-id-type="doi">10.1109/mpae.2007.4317489</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ferreira</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Gama</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Matias</surname>
<given-names>L.</given-names>
</name>
<etal/>
</person-group> (<year>2011</year>). <article-title>A survey on wind power ramp forecasting</article-title>. <source>Rep. ANL/DIS-10-13, Argonne Natl. Lab.</source>
</citation>
</ref>
<ref id="B10">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Freedman</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Markus</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Penc</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2008</year>). <source>Analysis of West Texas wind plant ramp-up and ramp-down events</source>. <publisher-loc>New York</publisher-loc>: <publisher-name>AWS Truewind</publisher-name>.</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Qu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A hybrid method based on singular spectrum analysis, firefly algorithm, and BP neural network for short-term wind speed forecasting</article-title>. <source>Energies</source> <volume>9</volume> (<issue>10</issue>), <fpage>757</fpage>. <pub-id pub-id-type="doi">10.3390/en9100757</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Greaves</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Collins</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Parkes</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Tindal</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Temporal forecast uncertainty for ramp events</article-title>. <source>Wind Eng.</source> <volume>33</volume> (<issue>33</issue>), <fpage>309</fpage>&#x2013;<lpage>319</lpage>. <pub-id pub-id-type="doi">10.1260/030952409789685681</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Haoyi</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Xiaoxia</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Chunli</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Probability density forecasting of wind power based on transformer network with expectile regression and kernel density estimation</article-title>. <source>Electronics</source> <volume>12</volume> (<issue>5</issue>), <fpage>1187</fpage>. <pub-id pub-id-type="doi">10.3390/electronics12051187</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Xie</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Mi</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Wan</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Noise model based &#x3bd;&#x3bd;-support vector regression with its application to short-term wind speed forecasting</article-title>. <source>Neural Netw.</source> <volume>57</volume> (<issue>9</issue>), <fpage>1</fpage>&#x2013;<lpage>11</lpage>. <pub-id pub-id-type="doi">10.1016/j.neunet.2014.05.003</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Huang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Du</surname>
<given-names>B.</given-names>
</name>
<etal/>
</person-group> (<year>2016</year>). <article-title>Research on wind power grade ability prediction based on pre-decomposition combined forecasting</article-title>. <source>Renew. Energy</source> <volume>34</volume> (<issue>12</issue>), <fpage>1847</fpage>&#x2013;<lpage>1852</lpage>. <comment>(in Chinese)</comment>.</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jianhou</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Yue</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Bo</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Hybrid ultra-short-term PV power forecasting system for deterministic forecasting and uncertainty analysis</article-title>. <source>Energy</source> <volume>288</volume>, <fpage>129898</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2023.129898</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ju</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Rehman</surname>
<given-names>M. U.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A model combining convolutional neural network and LightGBM algorithm for ultra-short-term wind power forecasting</article-title>. <source>IEEE Access</source> <volume>7</volume>, <fpage>28309</fpage>&#x2013;<lpage>28318</lpage>. <pub-id pub-id-type="doi">10.1109/access.2019.2901920</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Kamath</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2010</year>). &#x201c;<article-title>Understanding wind ramp events through analysis of historical data</article-title>,&#x201d; in <source>PES transmission and distribution conference and exposition</source> (<publisher-loc>New Orleans, USA</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x2013;<lpage>6</lpage>.</citation>
</ref>
<ref id="B19">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Kamath</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2011</year>). &#x201c;<article-title>Associating weather conditions with ramp events in wind power generation</article-title>,&#x201d; in <conf-name>Power Systems Conference and Exposition</conf-name>, <conf-loc>Phoenix, AZ, USA</conf-loc>, <conf-date>20-23 March 2011</conf-date> (<publisher-name>IEEE</publisher-name>), <fpage>1</fpage>&#x2013;<lpage>8</lpage>.</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lefeng</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Guiyun</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Hanqi</surname>
<given-names>Hu.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2020</year>). <article-title>Equilibrium analysis of general N-population multi-strategy games for generation-side long-term bidding: an evolutionary game perspective</article-title>. <source>J. Clean. Prod.</source> <volume>276</volume>, <fpage>124123</fpage>. <pub-id pub-id-type="doi">10.1016/j.jclepro.2020.124123</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lefeng</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Linfei</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Jianhui</surname>
<given-names>W.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Behavioral decision-making in power demand-side response management: a multi-population evolutionary game dynamics perspective</article-title>. <source>Int. J. Electr. Power Energy Syst.</source>, <fpage>129</fpage>.</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lefeng</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Guiyun</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>2PnS-EG: a general two-population n-strategy evolutionary game for strategic long-term bidding in a deregulated market under different market clearing mechanisms</article-title>. <source>Int. J. Electr. Power and Energy Syst.</source> <volume>142</volume> (<issue>A</issue>), <fpage>108182</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijepes.2022.108182</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Moving average trading strategies effectiveness research</article-title>. <source>Shanghai Jiao Tong Univ.</source> <comment>(in Chinese)</comment>.</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Shi</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>A Short-term net load hybrid forecasting method based on VW-KA and QR-CNN-GRU</article-title>. <source>Electr. Power Syst. Res.</source> <volume>232</volume>, <fpage>110384</fpage>. <pub-id pub-id-type="doi">10.1016/j.epsr.2024.110384</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Men</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Yee</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Lien</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Wen</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Short-term wind speed and power forecasting using an ensemble of mixture density neural networks</article-title>. <source>Renew. Energy</source> <volume>87</volume> (<issue>3</issue>), <fpage>203</fpage>&#x2013;<lpage>211</lpage>. <pub-id pub-id-type="doi">10.1016/j.renene.2015.10.014</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Meng</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>C.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Ultra-short-term wind power prediction based on chaotic CSO optimized temporal attention GRU model</article-title>. <source>Power Syst. Technol.</source> <volume>45</volume> (<issue>12</issue>), <fpage>4692</fpage>&#x2013;<lpage>4700</lpage>. <comment>(in Chinese)</comment>.</citation>
</ref>
<ref id="B27">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Nguyen.</surname>
<given-names>B. N.</given-names>
</name>
<name>
<surname>E</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>E</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Alberti</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Leva</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Duong</surname>
<given-names>M. Q.</given-names>
</name>
</person-group> (<year>2024</year>). &#x201c;<article-title>Forecasting generating power of sun tracking PV plant using long-short term memory neural network model: a case study in ninh thuan &#x2013; Vietnam</article-title>,&#x201d; in <conf-name>2024 Tenth International Conference on Communications and Electronics (ICCE), Danang</conf-name>, <conf-loc>Vietnam</conf-loc>, <conf-date>31 July 2024</conf-date>, <fpage>333</fpage>&#x2013;<lpage>338</lpage>. <pub-id pub-id-type="doi">10.1109/icce62051.2024.10634629</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ouyang</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Ramp events forecasting based on long-term wind power prediction and correction</article-title>. <source>IET Renew. Power Gener.</source> <volume>13</volume> (<issue>15</issue>), <fpage>2793</fpage>&#x2013;<lpage>2801</lpage>. <pub-id pub-id-type="doi">10.1049/iet-rpg.2019.0093</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ouyang</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Zha</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Qin</surname>
<given-names>L.</given-names>
</name>
<etal/>
</person-group> (<year>2017</year>). <article-title>Wind power ramp events forecast method based on similarity correction</article-title>. <source>Proc. CSEE</source> <volume>37</volume> (<issue>2</issue>), <fpage>572</fpage>&#x2013;<lpage>580</lpage>. <comment>(in Chinese)</comment>.</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Potter</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Grimit</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Niissen</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Potential benefits of a dedicated probabilistic rapid ramp event forecast tool</article-title>. <source>Power Syst. Conf. and Expo.</source> <volume>107</volume> (<issue>1</issue>), <fpage>1</fpage>&#x2013;<lpage>5</lpage>. <pub-id pub-id-type="doi">10.1109/psce.2009.4840109</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<collab>State Grid</collab> (<year>2021</year>). <article-title>State Grid Corporation of China issues &#x201c;carbon peak and carbon neutrality&#x201d; action plan</article-title>. <source>State Grid Rep.</source>, <fpage>001</fpage>. <comment>(in Chinese)</comment>.</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Truewind</surname>
<given-names>A. W. S.</given-names>
</name>
</person-group> (<year>2008</year>). <article-title>AWS True wind&#x2019;s final report for the Alberta forecasting pilot project</article-title>. <source>Wind Power Forecast. PILOT Proj.</source>
</citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ushakov</surname>
<given-names>N. G.</given-names>
</name>
<name>
<surname>Ushakov</surname>
<given-names>V. G.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>On bandwidth selection in kernel density estimation</article-title>. <source>J. Nonparametric Statistics</source> <volume>24</volume> (<issue>2</issue>), <fpage>419</fpage>&#x2013;<lpage>428</lpage>. <pub-id pub-id-type="doi">10.1080/10485252.2012.655734</pub-id>
</citation>
</ref>
<ref id="B34">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ying</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Nan</surname>
<given-names>Q.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Refined offshore wind speed prediction: leveraging a two-layer decomposition technique, gated recurrent unit, and kernel density estimation for precise point and interval forecasts</article-title>. <source>Eng. Appl. Artif. Intell.</source> <volume>133</volume> (<issue>PE</issue>), <fpage>108435</fpage>. <pub-id pub-id-type="doi">10.1016/j.engappai.2024.108435</pub-id>
</citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Gao</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Jia</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Data-driven distributionally robust economic dispatch for park integrated energy systems with coordination of carbon capture and storage devices and combined heat and power plants</article-title>. <source>IET Renew. power Gener.</source> <volume>16</volume> (<issue>12</issue>), <fpage>2617</fpage>&#x2013;<lpage>2629</lpage>. <pub-id pub-id-type="doi">10.1049/rpg2.12436</pub-id>
</citation>
</ref>
<ref id="B36">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Zareipour</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Rosehart</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2011a</year>). <source>Wind power ramp events classification and forecasting: a data mining approach</source>. <publisher-loc>Detroit, USA</publisher-loc>: <publisher-name>IEEE Power and Energy Society General Meeting</publisher-name>.</citation>
</ref>
<ref id="B37">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Zareipour</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Rosehart</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2011b</year>). <source>Wind power ramp events classification and forecasting: a data mining approach</source>. <publisher-loc>San Diego, IEEE</publisher-loc>: <publisher-name>IEEE Power and Energy Society General Meeting</publisher-name>, <fpage>1</fpage>&#x2013;<lpage>3</lpage>.</citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Dai</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
<etal/>
</person-group> (<year>2018</year>). <article-title>Review and prospect of research on wind power ramp events</article-title>. <source>Power Syst. Technol.</source> <volume>42</volume> (<issue>6</issue>), <fpage>1783</fpage>&#x2013;<lpage>1792</lpage>. <comment>(in Chinese)</comment>.</citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zheng</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Kusiak</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Prediction of wind farm power ramp rates: a data-mining approach</article-title>. <source>J. Sol. Energy Eng.</source> <volume>131</volume> (<issue>3</issue>), <fpage>376</fpage>&#x2013;<lpage>385</lpage>. <pub-id pub-id-type="doi">10.1115/1.3142727</pub-id>
</citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhou</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Offshore wind power prediction based on improved long-term recurrent convolutional neural network</article-title>. <source>Automation Electr. Power Syst.</source> <volume>45</volume> (<issue>3</issue>), <fpage>183</fpage>&#x2013;<lpage>191</lpage>. <comment>(in Chinese)</comment>.</citation>
</ref>
</ref-list>
</back>
</article>