Gnn-lstm-based ultra-short-term wind speed prediction method and device
Patent Information
- Application Number
- CN202611002979.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-07
- Publication Date
- 2026-10-13
- Estimated Expiration
- 2046-07-07
AI Technical Summary
[0007]可见,上述现有技术仍侧重于聚焦单个电厂或观测站的风速变化,其对大面积大气运动对局地风速变化影响的考虑仍存在一定不足
边对应的两个节点之间的距离、相对方位、相对风向、空间遮挡指标等物理先验特征是影响低空大气运动的物理先验特征,这些物理先验特征形成的初始边权能够表示两个节点之间静态的风速作用程度的强弱。
Smart Images

Figure CN122508511B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wind speed prediction technology, specifically to a method and apparatus for ultra-short-term wind speed prediction based on GNN-LSTM. Background Technology
[0002] Wind power refers to electricity converted from the kinetic energy of wind. It is a clean energy source that contributes to achieving economic and social development goals. During the grid connection of wind power, power dispatch is required. This dispatch process necessitates wind power generation forecasts. For example, before 9:00 AM each day, the power plant submits short-term power forecast data to the grid dispatch department for planning power generation for the next day or several days; every 15 minutes, it submits ultra-short-term power forecast data for real-time control of different power generation levels.
[0003] In ultra-short-term wind speed prediction, existing technologies can make predictions based on multi-dimensional features and sequence-to-sequence (Seq2Seq) models. For example, first-order difference features of temperature, humidity, pressure, and wind speed, as well as vertical gradient features of wind speed at 100 meters and low levels, are extracted. Multi-dimensional features are coupled with layer normalization and Gaussian Error Linear Unit (GELU) activation functions to construct a comprehensive wind speed change representation. Cascaded sub-modules are designed based on the Seq2Seq model to predict wind speed in stages. In the high-precision stage, local temporal abrupt change features are captured first, while in the extended stage, global periodic features are emphasized. The model adopts a Long Short-Term Memory (LSTM) encoder-decoder architecture and combines a dynamic attention mechanism to weightedly fuse the encoder's hidden state.
[0004] The wind speed changes at power plants or observation stations are affected not only by high-altitude wind speeds but also by large-scale atmospheric motions. The above technical solutions take into account the relationship between low-altitude and high-altitude wind speeds but do not take into account the impact of large-scale atmospheric motions.
[0005] In response, other existing technologies can construct dynamic atlases based on the location of meteorological stations and wind direction and speed using a preset edge weight formula. The edge weight formula is established based on the advection term in the atmospheric motion formula. Then, the dynamic atlas is input into a preset meteorological forecasting model, which extracts the spatiotemporal features of the dynamic atlas using graph neural networks (GNNs) and recurrent neural networks (RNNs). Based on the spatiotemporal features and a multi-step classification network, the model outputs meteorological forecast results at different time steps.
[0006] The advection equation describes the local variation of a physical quantity caused by its advection motion. For example, it describes the changes in heat and water vapor at a power plant or observation station caused by the advection of heat or water vapor. Changes in heat and water vapor at a single power plant or observation station will further cause changes in wind speed.
[0007] It is evident that the aforementioned existing technologies still focus on wind speed changes at individual power plants or observation stations, and their consideration of the impact of large-scale atmospheric motion on local wind speed changes remains insufficient. Summary of the Invention
[0008] To provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. This summary is not intended as a general commentary, nor is it intended to identify key / important components or describe the scope of protection of these embodiments, but rather as a prelude to the detailed description that follows.
[0009] This application provides a method and apparatus for ultra-short-term wind speed prediction based on GNN-LSTM, which considers the impact of large-area atmospheric motion on local wind speed in a more direct way, so that there is a direct interaction between the wind speed prediction results of each node of GNN, strengthens the connection between GNN nodes, makes GNN more holistic, and then predicts the ultra-short-term wind speed of each node in the global scenario, so that the ultra-short-term wind speed prediction results of each node conform to the laws of large-area atmospheric motion, and improves the accuracy of ultra-short-term wind speed prediction results.
[0010] In some embodiments, using power plants or observation stations as GNN nodes, the ultra-short-term wind speed prediction method based on GNN-LSTM includes: During the GNN update process, for all nodes at each time step, the initial edge weights of the edges are determined based on physical prior features. The physical prior features include one or more of the following: the distance between the two nodes corresponding to the edge, their relative orientation, relative wind direction, and spatial occlusion index. The edge feature vector corresponding to each edge is input into a preset neural network, and the output of the preset neural network is determined as a scalar gain; wherein, the edge feature vector is the difference between the node feature vectors of the two nodes corresponding to the edge; the node feature vector includes at least one or more of the following: temperature, air pressure, humidity, wind speed and wind direction; The activation function is used to map the product of the initial edge weight and the scalar gain of each edge to the final edge weight; The message function based on GNN calculates the message to be passed on the edge based on the edge feature vector of each edge and its corresponding node feature vector. For each edge corresponding to a node, calculate the first weighted sum of the edge-transmitted messages based on the final edge weight of each edge, and determine the first weighted sum as the aggregated message of each node; The nodes are updated based on their feature vectors and aggregated messages. The updated result of the final output of GNN is input into a temporal neural network with temporal processing capabilities that is the same as or similar to LSTM, and the output of the temporal neural network is used as the ultra-short-term wind speed prediction result.
[0011] Optionally, the loss function used in the training process of GNN and other temporal neural networks with temporal processing capabilities, similar to or the same as LSTM, includes a spatial consistency regularization loss term; the calculation method for the spatial consistency regularization loss term includes: The initial edge weight is used as the weight of the difference between the prediction results of the two nodes corresponding to that edge. The second weighted sum of the differences between the prediction results of each node and all its neighboring nodes is calculated, and then the sum of the second weighted sums corresponding to all nodes is averaged.
[0012] Furthermore, the spatial consistency regularization loss term is specifically as follows: ; in, For spatial consistency regularization constraints, For the first The total number of neighboring nodes of a node. For the first The set of neighboring nodes of the nth node, the nth node The current node is one of the nodes. For the first The prediction results for each node, For the first The prediction results for each node, Represents the norm, For the first The node and the first The initial edge weights corresponding to each neighbor node.
[0013] Optionally, the activation function is used to map the product of the initial edge weight and the scalar gain corresponding to each edge to the final edge weight, including: using the activation function to map the product of the initial edge weight and the scalar gain corresponding to each edge to the non-normalized edge weight; and determining the non-normalized edge weight as the final edge weight.
[0014] Correspondingly, for each edge corresponding to a node, the first weighted sum of the edge transmission messages is calculated based on the final edge weights of each edge, including: normalizing the final edge weights of the edges corresponding to a single node to obtain normalized weights; and using the normalized weights of the edges as the weights of the edge transmission messages to calculate the first weighted sum of the edge transmission messages for each edge corresponding to a node.
[0015] Optionally, before normalizing the final edge weights of the edges corresponding to a single node to obtain normalized weights, the method further includes: if the number of edges corresponding to each node is greater than a preset number, selecting a preset number of final edge weights from all final edge weights, wherein the selected final edge weights are all greater than or equal to the unselected final edge weights; or, selecting final edge weights with values greater than or equal to a preset value from all final edge weights.
[0016] Correspondingly, the final edge weights of the edges corresponding to a single node are normalized to obtain normalized weights, including: normalizing the selected final edge weights corresponding to a single node to obtain normalized weights. Using the normalized weights of the edges as the weights of the edge-transmitted messages, calculate the first weighted sum of the edge-transmitted messages for each node's corresponding edge, including: using the normalized weights of the edges as the weights of the edge-transmitted messages, calculate the first weighted sum of the edge-transmitted messages for each node's corresponding selected edge.
[0017] Optionally, the edge transmission message is calculated based on the edge feature vector of each edge and its corresponding node feature vector, including: concatenating the edge feature vector and its corresponding node feature vector to obtain a first concatenated feature vector, processing the first concatenated feature vector using a first learnable weight matrix, performing a nonlinear mapping on the processing result, and determining the nonlinear mapping result as the edge transmission message.
[0018] Optionally, the nodes are updated based on the node feature vectors and aggregated messages of each node, including: concatenating the node feature vectors and aggregated messages to obtain a second concatenated feature vector, processing the second concatenated feature vector using a second learnable weight matrix, performing a nonlinear mapping on the processing result, and determining the nonlinear mapping result as the node update result.
[0019] Optionally, the initial edge weights are determined based on prior physical characteristics, including: The initial edge weights are determined based on the tailwind degree, distance attenuation, and terrain shading indices between the two nodes. Among them, the tailwind degree is determined based on the relative orientation and relative wind direction between the two nodes, the distance attenuation is determined based on the distance between the two nodes, and the spatial obstruction index is determined based on the height difference between the two nodes and / or the height of the obstruction between them. The higher the tailwind, the greater the initial edge weight; the smaller the distance decay, the greater the initial edge weight; the smaller the terrain shading index, the greater the initial edge weight.
[0020] Specifically, the initial edge weights are determined as follows: ; in, express Time of the first The node and the first The initial edge weight of the nth node, the i-th The j-th node is the current node, and the j-th node is the node with the 1st rank. The neighboring nodes of a node, The time can be any time. The term "tailwind" is used to represent the degree of tailwind. The influence of the tailwind relative to the j-th node on the correlation of their wind speeds, when the wind direction is at the j-th node. When the projection of the line connecting the j-th node and the j-th node points to the j-th node, for Time of the first The direction of wind at each node, when the wind's direction of travel is at the th node... The projection of the line connecting the j-th node and the j-th node points to the j-th node. When there are nodes, for Time of the first The direction of the wind at each node. For the j-th node relative to the j-th node The azimuth difference of each node; This is the distance decay term, used to represent the distance decay with respect to the th term. The attenuation effect of wind speed correlation between node j and node j For the first The physical distance between the j-th node and the j-th node It is an adjustable hyperparameter; This is a terrain occlusion index, used to represent the first... The attenuation effect of the height of the obstruction between the j-th node and the j-th node and / or the height difference between them on the correlation of wind speed between the two nodes. For adjustable hyperparameters, Indicates the first The degree of terrain occlusion between the j-th node and the j-th node. It is based on the first The height difference between the j-th node and the j-th node and / or the height of the obstruction between them are determined by the height difference. The larger the height difference, the better. The larger the difference in height, the smaller the height difference. The smaller the size; the higher the height of the obstruction, the better. The larger the size, the smaller the height of the obstruction. The smaller.
[0021] Optionally, the loss function used in the training process of GNN and other temporal neural networks with temporal processing capabilities, which are the same as or similar to LSTM, also includes a mean squared error loss term or a mean absolute error loss term calculated step by step on a node-by-node basis.
[0022] Furthermore, the mean squared error loss term calculated node by node is specifically as follows: ; in, This is the mean squared error term calculated node by node. For the first The total number of neighboring nodes of a node. The total number of time steps for the output of GNN and other temporal neural networks with temporal processing capabilities, similar to or the same as LSTM. For the first Each node at time step The prediction results For the first Each node at time step The actual result.
[0023] Optionally, the loss function used in the training process of GNN and other temporal neural networks with temporal processing capabilities, such as LSTM, also includes a temporal smoothing regularization loss term.
[0024] Furthermore, the time smoothing regularization loss term is specifically as follows: ; in, For time smoothing regularization, For the first The total number of neighboring nodes of a node. The total number of time steps for the output of GNN and other temporal neural networks with temporal processing capabilities, similar to or the same as LSTM. For the first Each node at time step The prediction results It is a second-order difference operator. express The change in the rate of change.
[0025] Optionally, the updated result of the final output of the GNN is input into a temporal neural network with temporal processing capabilities, similar to or comparable to LSTM, and the output of the temporal neural network is used as the ultra-short-term wind speed prediction result, including: The node update results at multiple times for each node are merged into a time series according to the chronological order. The time series data is input into a temporal neural network, and the output results of the temporal neural network in a preset dimension are obtained. Each dimension of the output represents the ultra-short-term wind speed forecast for the next time step.
[0026] In some embodiments, a power plant or observation station is used as a GNN node. The ultra-short-term wind speed prediction device based on GNN-LSTM includes an initial edge weight determination module, a scalar gain calculation module, an edge weight mapping module, a message transmission calculation module, a message aggregation module, an update module, and a prediction module. The initial edge weight determination module is used to determine the initial edge weight of the edges corresponding to all nodes at each time step during the GNN update process, based on the physical prior features. The physical prior features include one or more of the following: the distance between the two nodes corresponding to the edge, the relative orientation, the relative wind direction, and the spatial occlusion index. The scalar gain calculation module is used to input the edge feature vector corresponding to each edge into a preset neural network, and to determine the output of the preset neural network as the scalar gain; wherein, the edge feature vector is the difference between the node feature vectors of the two nodes corresponding to the edge; the node feature vector includes at least one or more of the following: temperature, air pressure, humidity, wind speed and wind direction; The edge weight mapping module is used to map the product of the initial edge weight and the scalar gain corresponding to each edge to the final edge weight using an activation function; The message passing calculation module is used for message functions based on GNN, and calculates the edge passing message based on the edge feature vector of each edge and its corresponding node feature vector; The message aggregation module is used to calculate the first weighted sum of the edge-transmitted messages for each node based on the final edge weight of each edge, and to determine the first weighted sum as the aggregated message for each node. The update module is used to update nodes based on their node feature vectors and aggregated messages. The prediction module is used to input the updated result of the final output of GNN into a temporal neural network with the same or similar temporal processing capabilities as LSTM, and use the output of the temporal neural network as the ultra-short-term wind speed prediction result.
[0027] In some embodiments, the GNN-LSTM-based ultra-short-term wind speed prediction device includes a processor and a memory storing program instructions. The processor is configured to execute the GNN-LSTM-based ultra-short-term wind speed prediction method provided in the foregoing embodiments when executing the program instructions.
[0028] The ultra-short-term wind speed prediction method and apparatus based on GNN-LSTM provided in this application can achieve the following technical effects: The physical prior features such as the distance, relative orientation, relative wind direction, and spatial obstruction index between the two nodes corresponding to the edge are physical prior features that affect the low-altitude atmospheric motion. The initial edge weight formed by these physical prior features can represent the strength of the static wind speed effect between the two nodes.
[0029] An edge feature vector is the difference between the node feature vectors of the two nodes corresponding to an edge. The node feature vector includes at least one or more of the following: temperature, air pressure, humidity, wind speed, and wind direction. Therefore, the scalar gain can represent the strength of the dynamic wind speed effect between two nodes.
[0030] Furthermore, the final edge weights determined based on the initial edge weights and scalar gains can represent the strength of the real-time interaction between two nodes.
[0031] The update strategy of the GNN is adaptively adjusted based on the final edge weights. Specifically, the first weighted sum of the edge-transmitted messages is calculated according to the final edge weights of each edge, and this first weighted sum is used as the aggregate message for each node. The aggregate message for each node determined in this way can be more clearly interpreted as the effect of neighboring nodes on the local node in terms of wind speed.
[0032] Furthermore, from a global perspective, there are highly interpretable interactions between every two nodes in a GNN, which makes the global representation of all GNN nodes more consistent with the patterns of large-area atmospheric motion.
[0033] In this scenario, the prediction of ultra-short-term wind speed at each node is constrained by the global atmospheric motion patterns, which can reduce local errors and improve the accuracy of ultra-short-term wind speed prediction.
[0034] The above general description and the description below are exemplary and illustrative only and are not intended to limit this application. Attached Figure Description
[0035] One or more embodiments are illustrated by way of example with reference to the accompanying drawings. These illustrative descriptions and drawings do not constitute a limitation on the embodiments. Elements having the same reference numerals in the drawings are considered similar elements, and wherein: Figure 1 This is a basic principle diagram of the ultra-short-term wind speed prediction method based on GNN-LSTM provided in the embodiments of this application; Figure 2 This is a block diagram of the GNN construction in the ultra-short-term wind speed prediction method based on GNN-LSTM provided in the embodiments of this application; Figure 3 This is a flowchart illustrating an ultra-short-term wind speed prediction method based on GNN-LSTM provided in an embodiment of this application. Figure 4 This is a diagram showing the effect of ultra-short-term wind speed prediction using the GNN-LSTM-based ultra-short-term wind speed prediction method. Figure 5 This is a schematic diagram of an ultra-short-term wind speed prediction device based on GNN-LSTM provided in an embodiment of this application; Figure 6 This is a schematic diagram of another ultra-short-term wind speed prediction device based on GNN-LSTM provided in the embodiments of this application. Detailed Implementation
[0036] To provide a more detailed understanding of the features and technical content of the embodiments of this application, the implementation of the embodiments of this application will be described in detail below with reference to the accompanying drawings. The accompanying drawings are for illustrative purposes only and are not intended to limit the embodiments of this application. In the following technical description, for ease of explanation, several details are used to provide a full understanding of the disclosed embodiments. However, one or more embodiments may still be implemented without these details. In other cases, well-known structures and devices may be simplified in their depiction to simplify the drawings.
[0037] The terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate for the embodiments of this application described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion.
[0038] Unless otherwise stated, the term "multiple" means two or more.
[0039] In this embodiment, the character " / " indicates that the objects before and after it are in an "or" relationship. For example, A / B means: A or B.
[0040] The term "and / or" describes an association between objects, indicating that three relationships can exist. For example, A and / or B means: A or B, or A and B.
[0041] The application scenarios of the ultra-short-term wind speed prediction method and device based on GNN-LSTM provided in this application embodiment require multiple observation points. Each observation point can be a wind farm. In the case of a large wind farm, multiple observation points can be set up in a wind farm. Each observation point can also be a meteorological observation station.
[0042] The technical solution provided in this application is used to predict ultra-short-term wind speeds. The "ultra-short-term" can be the time scheduling interval of a wind farm (15 minutes) or the time interval required in other specific application scenarios.
[0043] In addition, in the application scenarios of the technical solutions provided in the embodiments of this application, the distance between any two observation points should be less than or equal to the distance the atmosphere moves in the "ultra-short term".
[0044] It should be understood that the term "GNN" in the embodiments of this application includes classic GNN structures and their common variations, such as Graph Attention Network (GAT), Diffusion Convolutional Recurrent Neural Network (DCRNN), or Deep Spatiotemporal Graph Network (Graph WaveNet).
[0045] This application incorporates physical priors and employs a learnable side gain design, enabling a direct interaction between the wind speed prediction results of each node in the GNN. This strengthens the connection between GNN nodes, making the GNN more holistic, and thus predicting the ultra-short-term wind speed of each node in a global scenario. This ensures that the ultra-short-term wind speed prediction results of each node conform to the large-area atmospheric motion patterns, thereby improving the accuracy of the ultra-short-term wind speed prediction results.
[0046] Figure 1 This is a basic principle diagram of the ultra-short-term wind speed prediction method based on GNN-LSTM provided in the embodiments of this application.
[0047] Figure 1 The left side represents the basic principle diagram of GNN. Each edge is a directed edge. If a node points to the current node, then that node is a neighbor node of the current node.
[0048] In a GNN, each edge corresponds to an edge feature vector, and each node corresponds to a node feature vector.
[0049] Figure 1 The middle part represents the GNN update process at a certain time step, where ReLU is the linear rectification function, which is an activation function.
[0050] Figure 1 The right side shows the GNN node embedding features using LSTM as an example, the LSTM training and prediction process, reshape represents deformation, lstmcell represents the unit in the LSTM network, and t+1, t+2, ..., t+16 represent the prediction results at 16 time steps.
[0051] Figure 2 This is a block diagram of the GNN construction in the ultra-short-term wind speed prediction method based on GNN-LSTM provided in the embodiments of this application.
[0052] Figure 2 In the diagram, h=[s1,s2,…,sn] represents the node feature vector, and s1, s2,…,sn represent the feature elements in the node feature vector, respectively. Figure 2In the context of Edge=[e1, e2, ..., en], we have an edge feature vector where e1, e2, ..., en represent the feature elements in the edge feature vector. Figure 2 In the GNN, t=[t1,t2,..,tn] represents the state of the GNN at each time step, i.e., t1, t2, ..., tn represent the state of the GNN at each time step; h_new represents the update result of the final output of the GNN, and also represents the node embedding feature of the LSTM.
[0053] Figure 3 This is a flowchart illustrating an ultra-short-term wind speed prediction method based on GNN-LSTM provided in an embodiment of this application.
[0054] This GNN-LSTM-based ultra-short-term wind speed prediction method can be executed locally at the power plant or observation station, or on the corresponding cloud server at the power plant or observation station.
[0055] The GNN includes multiple nodes, and in this embodiment, a power plant or observation station is used as the GNN node.
[0056] Combination Figure 3 As shown, the ultra-short-term wind speed prediction method based on GNN-LSTM includes: S301. During the GNN update process, for all nodes at each time step, the initial edge weights are determined based on the physical prior features.
[0057] Among them, the physical prior features include one or more of the following: the distance between the two nodes corresponding to the edge, the relative orientation, the relative wind direction, and the spatial occlusion index.
[0058] Optionally, the initial edge weights are determined based on prior physical characteristics, including: The initial edge weights are determined based on the tailwind degree, distance attenuation, and terrain shading indices between the two nodes. Among them, the tailwind degree is determined based on the relative orientation and relative wind direction between the two nodes, the distance attenuation is determined based on the distance between the two nodes, and the spatial obstruction index is determined based on the height difference between the two nodes and / or the height of the obstruction between them. The higher the tailwind, the greater the initial edge weight; the smaller the distance decay, the greater the initial edge weight; the smaller the terrain shading index, the greater the initial edge weight.
[0059] Once the nodes of the GNN are determined, such as after the latitude and longitude of the nodes are determined, the distance, relative orientation, and height difference between two nodes are determined, and these parameters can all be obtained through measurement.
[0060] The relative wind direction between the two nodes can also be measured in real time.
[0061] The height of the obstruction between two nodes may remain constant, such as a fixed building or tree. In this case, the data can be measured once and reused. However, the height of the obstruction between two nodes may also change, such as due to construction. In this case, a new measurement must be taken after each change.
[0062] Specifically, the initial edge weights are determined as follows: ; in, express Time of the first The initial edge weights between the j-th node and the j-th node, the... The j-th node is the current node, and the j-th node is the node with the 1st rank. The neighboring nodes of a node, The time can be any time. The term "tailwind" is used to represent the degree of tailwind. The influence of the tailwind relative to the j-th node on the correlation of their wind speeds, when the wind direction is at the j-th node. When the projection of the line connecting the j-th node and the j-th node points to the j-th node, for Time of the first The direction of wind at each node, when the wind's direction of travel is at the th node... The projection of the line connecting the j-th node and the j-th node points to the j-th node. When there are nodes, for Time of the first The direction of the wind at each node. For the j-th node relative to the j-th node The azimuth difference of each node; This is the distance decay term, used to represent the distance decay with respect to the th term. The attenuation effect of wind speed correlation between node j and node j For the first The physical distance between the j-th node and the j-th node This is an adjustable hyperparameter; a reference value of 1.2 is recommended. This is a terrain occlusion index, used to represent the first... The attenuation effect of the height of the obstruction between the j-th node and the j-th node and / or the height difference between them on the correlation of wind speed between the two nodes. This is an adjustable hyperparameter; a reference value of 0.01 is recommended. Indicates the first The degree of terrain occlusion between the j-th node and the j-th node. It is based on the first The height difference between the j-th node and the j-th node and / or the height of the obstruction between them are determined by the height difference. The larger the height difference, the better. The larger the difference in height, the smaller the height difference. The smaller the size; the higher the height of the obstruction, the better. The larger the size, the lower the height of the obstruction. The smaller.
[0063] In some possible application scenarios, physical prior features may also include the land-sea difference between the two nodes and the land cover type between the two nodes.
[0064] S302. Input the edge feature vector corresponding to each edge into a preset neural network, and determine the output of the preset neural network as a scalar gain.
[0065] Here, the edge feature vector is the difference between the node feature vectors of the two nodes corresponding to the edge.
[0066] The node feature vector must include at least one or more of the following: temperature, air pressure, humidity, wind speed, and wind direction. That is, the edge feature vector must include at least one or more of the following: temperature difference, air pressure difference, humidity difference, wind speed difference, and wind direction difference.
[0067] Furthermore, the temperature in the above node feature vector can be the temperature of one or more upper atmospheric fields (isobars), the air pressure can be the air pressure of one or more upper atmospheric fields (isobars), the humidity can be the humidity of one or more upper atmospheric fields (isobars), the wind speed can be the wind speed of one or more upper atmospheric fields (isobars), and the wind direction can be the wind direction of one or more upper atmospheric fields (isobars).
[0068] The aforementioned preset neural network can be a small feedforward neural network, such as a lightweight multilayer perceptron (MLP). The lightweight MLP usually refers to an MLP with 2, 3, 4 or 5 hidden layers.
[0069] S303. Use the activation function to map the product of the initial edge weight and the scalar gain corresponding to each edge to the final edge weight.
[0070] Optionally, the activation function is used to map the product of the initial edge weight and the scalar gain corresponding to each edge to the final edge weight, including: using the activation function to map the product of the initial edge weight and the scalar gain corresponding to each edge to the non-normalized edge weight; and determining the non-normalized edge weight as the final edge weight.
[0071] Specifically, the final nonnormalized edge weights can be calculated as follows: ; in, For the first The node and the first The edge between nodes at time _____ Non-normalized edge weights This represents the non-normalized activation function. For the first The node and the first The edge between nodes at time _____ The initial edge weights, Indicates a preset neural network. For the first The node and the first The edge between nodes at time _____ The edge feature vectors.
[0072] Because this step involves the product of the initial edge weights and the scalar gain, calculating the non-normalized edge weights better reflects the mapping relationship between their product and the actual situation.
[0073] S304. A message function based on GNN calculates the edge message based on the edge feature vector of each edge and its corresponding node feature vector.
[0074] Optionally, the edge transmission message is calculated based on the edge feature vector of each edge and its corresponding node feature vector, including: concatenating the edge feature vector and its corresponding node feature vector to obtain a first concatenated feature vector, processing the first concatenated feature vector using a first learnable weight matrix, performing a nonlinear mapping on the processing result, and determining the nonlinear mapping result as the edge transmission message.
[0075] Specifically, the edge message is calculated as follows: ; in, For the first The node and the first The edge between nodes at time _____ The edge transmits messages, Represents a nonlinear mapping function. This is the first learnable weight matrix. For the first The node feature vector of each node. For the first The node and the first The edge between nodes at time _____ The edge feature vectors, This indicates a splicing operation. This is the first concatenated feature vector.
[0076] S305. For each edge corresponding to a node, calculate the first weighted sum of the edge-transmitted messages based on the final edge weight of each edge, and determine the first weighted sum as the aggregated message of each node.
[0077] Optionally, for each edge corresponding to a node, a first weighted sum of edge-transmitted messages is calculated based on the final edge weight of each edge, including: normalizing the final edge weight of the edge corresponding to a single node to obtain a normalized weight; and using the normalized weight of the edge as the weight of the edge-transmitted message, calculating the first weighted sum of edge-transmitted messages for each edge corresponding to a node.
[0078] Specifically, the final edge weights of the edges corresponding to a single node are normalized to obtain normalized weights, including: ; in, For the first The node and the first The edge between nodes at time _____ Normalized weights, It represents an exponent with a base e. For the first The node and the first The edge between nodes at time _____ Non-normalized edge weights For the first The node and the first The edge between nodes at time _____ Non-normalized edge weights For the first The set of neighboring nodes of a node.
[0079] Using the normalized weights of the edges as the weights for the edge-transmitted messages, calculate the first weighted sum of the edge-transmitted messages for each node's corresponding edge, including: ; in, For the first The first weighted sum of the edge messages passed to each node. For the first The node and the first The edge between nodes at time _____ Normalized weights, For the first The node and the first The edge between nodes at time _____ The edge transmits messages, For the first The set of neighboring nodes of a node.
[0080] S306. Update the nodes based on their node feature vectors and aggregated messages.
[0081] Optionally, the nodes are updated based on the node feature vectors and aggregated messages of each node, including: concatenating the node feature vectors and aggregated messages to obtain a second concatenated feature vector, processing the second concatenated feature vector using a second learnable weight matrix, performing a nonlinear mapping on the processing result, and determining the nonlinear mapping result as the node update result.
[0082] Specifically, the update process is as follows: ; in, For the first Each node at time... Update results after the update It is a nonlinear mapping function. This is the second learnable weight matrix. For the first The node feature vector of each node. For the first The first weighted sum of the messages transmitted by the edges corresponding to each node, i.e., the aggregate message. This indicates a splicing operation. This is the second concatenated feature vector.
[0083] In practical applications, GNNs can be stacked in two layers, that is, updated twice, with the output of the last layer serving as the spatial embedding at that moment.
[0084] S307. Input the updated result of the final output of GNN into a temporal neural network with temporal processing capabilities that is the same as or similar to LSTM, and use the output result of the temporal neural network as the ultra-short-term wind speed prediction result.
[0085] The aforementioned temporal neural network can be an LSTM, a Transformer, or a Temporal Convolutional Network (TCN), etc.
[0086] Before implementing the above-mentioned GNN-LSTM-based ultra-short-term wind speed prediction method, the observation sequence of each node should be collected. The data source can be local collection, or it can be from radar push field, satellite wind field interpolation, numerical model short-term forecast, etc.
[0087] During the data acquisition process, a specific time resolution needs to be set, for example, 15 minutes. Then, operations such as time alignment, quality control, and shortage interpolation are performed on the original observation sequences to generate standardized observation sequences. Finally, the historical window length is utilized. (For example, 32 or 64) Construct observation samples, that is, form node feature vectors for multiple time steps.
[0088] Then, the above process is used to construct a GNN, and after processing all time steps, the final result of the GNN output for all time steps is used as the node embedding feature and processed using a temporal neural network.
[0089] In the above embodiments, the physical prior features such as the distance, relative orientation, relative wind direction, and spatial obstruction index between the two nodes corresponding to the edge are physical prior features that affect the low-altitude atmospheric motion. The initial edge weight formed by these physical prior features can represent the strength of the static wind speed effect between the two nodes.
[0090] An edge feature vector is the difference between the node feature vectors of the two nodes corresponding to an edge. The node feature vector includes at least one or more of the following: temperature, air pressure, humidity, wind speed, and wind direction. Therefore, the scalar gain can represent the strength of the dynamic wind speed effect between two nodes.
[0091] Furthermore, the final edge weights determined based on the initial edge weights and scalar gains can represent the strength of the real-time interaction between two nodes.
[0092] The update strategy of the GNN is adaptively adjusted based on the final edge weights. Specifically, the first weighted sum of the edge-transmitted messages is calculated according to the final edge weights of each edge, and this first weighted sum is used as the aggregate message for each node. The aggregate message for each node determined in this way can be more clearly interpreted as the effect of neighboring nodes on the local node in terms of wind speed.
[0093] Furthermore, from a global perspective, there are highly interpretable interactions between every two nodes in a GNN, which makes the global representation of all GNN nodes more consistent with the patterns of large-area atmospheric motion.
[0094] In this scenario, the prediction of ultra-short-term wind speed at each node is constrained by the global atmospheric motion patterns, which can reduce local errors and improve the accuracy of ultra-short-term wind speed prediction.
[0095] Optionally, before normalizing the final edge weights of the edges corresponding to a single node to obtain normalized weights, the method further includes: if the number of edges corresponding to each node is greater than a preset number, selecting a preset number of final edge weights from all final edge weights, wherein the selected final edge weights are all greater than or equal to the unselected final edge weights; or, selecting final edge weights with values greater than or equal to a preset value from all final edge weights. Normalize the final edge weights of the edges corresponding to a single node to obtain normalized weights, including: normalizing the selected final edge weights corresponding to a single node to obtain normalized weights; Using the normalized weights of the edges as the weights of the edge-transmitted messages, calculate the first weighted sum of the edge-transmitted messages for each node's corresponding edge, including: using the normalized weights of the edges as the weights of the edge-transmitted messages, calculate the first weighted sum of the edge-transmitted messages for each node's corresponding selected edge.
[0096] Furthermore, the aforementioned preset quantity and preset value can be fixed values set based on experience.
[0097] Furthermore, the aforementioned preset number can be determined based on the number of neighboring nodes corresponding to a single node. Specifically, the aforementioned preset number is positively correlated with the number of neighboring nodes corresponding to a single node.
[0098] This allows for a reduction in computational complexity while maintaining a certain level of computational accuracy.
[0099] The above process is for sparsification of data. In addition, those skilled in the art can also perform sparsification based on local subgraphs of geographical or administrative divisions, using local k-NN and cross-regional edge thresholds, etc., which will not be elaborated here.
[0100] Optionally, the updated result of the final output of the GNN is input into a temporal neural network with temporal processing capabilities, similar to or comparable to LSTM, and the output of the temporal neural network is used as the ultra-short-term wind speed prediction result, including: The node update results at multiple times for each node are merged into a time series according to the chronological order. The time series data is input into a temporal neural network, and the output results of the temporal neural network in a preset dimension are obtained. Each dimension of the output represents the ultra-short-term wind speed forecast for the next time step.
[0101] Specifically, for each node time series Input a unidirectional LSTM (1-2 layers, number of hidden units H, e.g., 128). For GNN Each node at time... The final output update result (spatial embedding) Indicates the length of the historical time window. For GNN Each node at time... The final output is the updated result; Take the hidden state of the encoder at the last time step. ; Will The input is mapped in parallel to a 16-dimensional vector using an MLP (e.g., 2 hidden layers) shared during training. , , used to indicate the first The wind speed for each node in the next 16 steps, in a wind farm scenario, is measured in 15-minute increments.
[0102] This is a non-autoregressive parallel output to avoid the accumulation of errors from multiple autoregressive steps.
[0103] Optionally, the shared MLP mentioned above can output simultaneously. and Alternatively, Gaussian negative log-likelihood loss (Gaussian NLL) can be used for training to obtain prediction uncertainty, or quantile regression can be used to output several quantiles.
[0104] The following provides a necessary explanation of the training process of GNN and other temporal neural networks with temporal processing capabilities that are the same as or similar to LSTM.
[0105] Optionally, the loss function used in the training process of GNN and other temporal neural networks with temporal processing capabilities, similar to or the same as LSTM, includes a spatial consistency regularization loss term; the calculation method for the spatial consistency regularization loss term includes: The initial edge weight is used as the weight of the difference between the prediction results of the two nodes corresponding to that edge. The second weighted sum of the differences between the prediction results of each node and all its neighboring nodes is calculated, and then the sum of the second weighted sums corresponding to all nodes is averaged.
[0106] Furthermore, the spatial consistency regularization loss term is specifically as follows: ; in, For spatial consistency regularization constraints, For the first The total number of neighboring nodes of a node. For the first The set of neighboring nodes of the nth node, the nth node The current node is one of the nodes. For the first The prediction results for each node, For the first The prediction results for each node, Represents the norm, For the first The node and the first The initial edge weights corresponding to each neighbor node.
[0107] The spatial consistency regularization loss term can enhance the physical consistency of the prediction results in space and avoid unreasonable jumps in the prediction results of a single node.
[0108] Optionally, the loss function used in the training process of GNN and other temporal neural networks with temporal processing capabilities, which are the same as or similar to LSTM, also includes a mean squared error loss term or a mean absolute error loss term calculated step by step on a node-by-node basis.
[0109] The mean squared error loss term or the mean absolute error loss term, calculated step by step node by node, is the basic loss.
[0110] Furthermore, the mean squared error loss term calculated node by node is specifically as follows: ; in, This is the mean squared error term calculated node by node. For the first The total number of neighboring nodes of a node. The total number of time steps for the output of GNN and other temporal neural networks with temporal processing capabilities, similar to or the same as LSTM. For the first Each node at time step The prediction results For the first Each node at time step The actual result.
[0111] Optionally, the loss function used in the training process of GNN and other temporal neural networks with temporal processing capabilities, such as LSTM, also includes a temporal smoothing regularization loss term.
[0112] Furthermore, the time smoothing regularization loss term is specifically as follows: ; in, For time smoothing regularization, For the first The total number of neighboring nodes of a node. The total number of time steps for the output of GNN and other temporal neural networks with temporal processing capabilities, similar to or the same as LSTM. For the first Each node at time step The prediction results It is a second-order difference operator. express The change in the rate of change.
[0113] The time-smoothing regularization loss term ensures the temporal continuity and smoothness of the prediction results. In ultra-short-term wind speed prediction scenarios, it can avoid extreme jumps in wind speed and improve prediction accuracy.
[0114] Furthermore, the loss function is specifically as follows: ; in, To represent the total loss, This is the mean squared error term calculated node by node. For time smoothing regularization, For spatial consistency regularization constraints, This represents all learnable weight matrices in the network, including but not limited to the aforementioned first learnable weight matrix. Second learnable weight matrix , This indicates L2 regularization.
[0115] The coefficients of the time smoothing regularization term, The coefficients of the spatial consistency regularization constraint term are... This is the regularization penalty coefficient.
[0116] The optimizer uses AdamW with a learning rate starting at 1e-3, and can be trained by combining learning rate decay and early stopping strategies.
[0117] In addition, rolling splits of the training / validation / test sets in chronological order (e.g., 70 / 15 / 15%) can prevent future information leaks and allow for multiple rolling validations to assess the model's robustness.
[0118] Regarding the training samples and training objectives, each sample contains time t- The relevant features from +1 to t are used to train the real wind speeds from t+1 to t+16. Indicates the length of the historical time window.
[0119] Figure 4 This image shows the effect of ultra-short-term wind speed prediction achieved using the GNN-LSTM-based ultra-short-term wind speed prediction method. Combined with... Figure 4 As shown, although there are some errors in the ultra-short-term wind speed forecast results at individual time intervals, the overall trend shows a good tracking effect on the actual wind speed.
[0120] Figure 5 This is a schematic diagram of a GNN-LSTM-based ultra-short-term wind speed prediction device provided in an embodiment of this application. This GNN-LSTM-based ultra-short-term wind speed prediction device can be implemented through software, hardware, or a combination of both.
[0121] The GNN includes multiple nodes, and in this embodiment, a power plant or observation station is used as the GNN node.
[0122] Combination Figure 5As shown, the ultra-short-term wind speed prediction device based on GNN-LSTM includes an initial edge weight determination module 51, a scalar gain calculation module 52, an edge weight mapping module 53, a message transmission calculation module 54, a message aggregation module 55, an update module 56, and a prediction module 57. The initial edge weight determination module 51 is used to determine the initial edge weight of the edges corresponding to all nodes at each time step during the GNN update process, based on the physical prior features; wherein, the physical prior features include one or more of the following: the distance between the two nodes corresponding to the edge, the relative orientation, the relative wind direction, and the spatial occlusion index. The scalar gain calculation module 52 is used to input the edge feature vector corresponding to each edge into a preset neural network and determine the output of the preset neural network as the scalar gain; wherein, the edge feature vector is the difference between the node feature vectors of the two nodes corresponding to the edge; the node feature vector includes at least one or more of the following: temperature, air pressure, humidity, wind speed and wind direction; The edge weight mapping module 53 is used to map the product of the initial edge weight and the scalar gain corresponding to each edge to the final edge weight using an activation function; The message passing calculation module 54 is used for the message function based on GNN, which calculates the edge passing message based on the edge feature vector of each edge and its corresponding node feature vector. The message aggregation module 55 is used to calculate the first weighted sum of the edge-transmitted messages for each node based on the final edge weight of each edge, and to determine the first weighted sum as the aggregated message for each node. The update module 56 is used to update the nodes based on the node feature vectors and aggregated messages of each node; The prediction module 57 is used to input the updated result of the final output of the GNN into a temporal neural network with the same or similar temporal processing capability as LSTM, and use the output result of the temporal neural network as the ultra-short-term wind speed prediction result.
[0123] Optionally, the loss function used in the training process of GNN and other temporal neural networks with temporal processing capabilities, similar to or the same as LSTM, includes a spatial consistency regularization loss term; the calculation method for the spatial consistency regularization loss term includes: The initial edge weight is used as the weight of the difference between the prediction results of the two nodes corresponding to that edge. The second weighted sum of the differences between the prediction results of each node and all its neighboring nodes is calculated, and then the sum of the second weighted sums corresponding to all nodes is averaged.
[0124] Optionally, the edge weight mapping module 53 includes a first mapping unit and a first determining unit; The first mapping unit is used to map the product of the initial edge weight and the scalar gain corresponding to each edge to a non-normalized edge weight using an activation function; the first determining unit is used to determine the non-normalized edge weight as the final edge weight.
[0125] The message aggregation module 55 includes a normalization unit and a weighted calculation unit; The normalization unit is used to normalize the final edge weight of the edge corresponding to a single node to obtain the normalized weight; the weighted calculation unit is used to calculate the first weighted sum of the edge-transmitted messages of each node, using the normalized weight of the edge as the weight of the edge-transmitted message.
[0126] Optionally, the ultra-short-term wind speed prediction device based on GNN-LSTM also includes a sparsification module; The sparsification module is used to select a preset number of final edge weights from all final edge weights before normalizing the final edge weights of the corresponding edges of a single node to obtain normalized weights, provided that the number of corresponding edges of each node is greater than a preset number. The selected final edge weights are all greater than or equal to the unselected final edge weights; or, the module selects final edge weights from all final edge weights whose values are greater than or equal to a preset value.
[0127] Correspondingly, the normalization unit is specifically used to normalize the selected final edge weight corresponding to a single node to obtain the normalized weight; the weighted calculation unit is specifically used to use the normalized weight of the edge as the weight of the edge transmission message to calculate the first weighted sum of the edge transmission messages of the selected edge corresponding to each node.
[0128] Optionally, the message transmission calculation module 54 includes a first splicing unit, a first linear transformation unit, a second mapping unit, and a second determination unit; The first splicing unit is used to splice the edge feature vector and its corresponding node feature vector to obtain the first spliced feature vector; the first linear transformation unit is used to process the first spliced feature vector using the first learnable weight matrix; the second mapping unit is used to perform nonlinear mapping on the processing result; and the second determination unit is used to determine the nonlinear mapping result as the edge transmission message.
[0129] Optionally, the update module 56 includes a second splicing unit, a second linear transformation unit, a third mapping unit, and a third determination unit; The second splicing unit is used to splice the node feature vector and the aggregated message to obtain the second spliced feature vector; The second linear transformation unit is used to process the second concatenated feature vector using the second learnable weight matrix; The third mapping unit is used to perform nonlinear mapping on the processing results; The third determining unit is used to determine the nonlinear mapping result as the node update result.
[0130] Optionally, the initial edge weight determination module 51 is specifically used to determine the initial edge weight based on the downwind degree, distance attenuation and terrain shading index between the two nodes; Among them, the tailwind degree is determined based on the relative orientation and relative wind direction between the two nodes, the distance attenuation is determined based on the distance between the two nodes, and the spatial obstruction index is determined based on the height difference between the two nodes and / or the height of the obstruction between them. The higher the tailwind, the greater the initial edge weight; the smaller the distance decay, the greater the initial edge weight; the smaller the terrain shading index, the greater the initial edge weight.
[0131] Optionally, the loss function used in the training process of GNN and other temporal neural networks with temporal processing capabilities, which are the same as or similar to LSTM, also includes a mean squared error loss term or a mean absolute error loss term calculated step by step on a node-by-node basis, and a time smoothing regularization loss term.
[0132] Optionally, the prediction module 57 includes a merging unit and a prediction unit; The merging unit is used to merge the node update results of multiple times of each node into a time series in chronological order; the prediction unit is used to input the time series into the temporal neural network and obtain the output results of the temporal neural network in a preset dimension; wherein, each dimension of the output result represents the ultra-short-term wind speed prediction result of the next time step.
[0133] In some embodiments, the GNN-LSTM-based ultra-short-term wind speed prediction device includes a processor and a memory storing program instructions. The processor is configured to execute the GNN-LSTM-based ultra-short-term wind speed prediction method provided in the foregoing embodiments when executing the program instructions.
[0134] Figure 6 This is a schematic diagram of another ultra-short-term wind speed prediction device based on GNN-LSTM provided in the embodiments of this application.
[0135] Combination Figure 6 As shown, the ultra-short-term wind speed prediction device based on GNN-LSTM includes: The processor 61 and memory 62 may also include a communication interface 63 and a bus 64. The processor 61, communication interface 63, and memory 62 can communicate with each other via the bus 64. The communication interface 63 can be used for information transmission. The processor 61 can call logical instructions in the memory 62 to execute the GNN-LSTM-based ultra-short-term wind speed prediction method provided in the foregoing embodiments.
[0136] Furthermore, the logical instructions in the aforementioned memory 62 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium.
[0137] The memory 62, as a computer-readable storage medium, can be used to store software programs and computer-executable programs, such as program instructions / modules corresponding to the methods in the embodiments of this application. The processor 61 executes functional applications and data processing by running the software programs, instructions, and modules stored in the memory 62, thereby implementing the methods in the above-described method embodiments.
[0138] The memory 62 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the terminal device. Furthermore, the memory 62 may include high-speed random access memory and may also include non-volatile memory.
[0139] This application provides a computer-readable storage medium storing computer-executable instructions configured to execute the GNN-LSTM-based ultra-short-term wind speed prediction method provided in the foregoing embodiments.
[0140] This application provides a computer program product, which includes a computer program stored on a computer-readable storage medium. The computer program includes program instructions, which, when executed by a computer, cause the computer to execute the ultra-short-term wind speed prediction method based on GNN-LSTM provided in the aforementioned embodiment.
[0141] The aforementioned computer-readable storage medium may be a transient computer-readable storage medium or a non-transitory computer-readable storage medium.
[0142] The technical solutions of this application embodiment can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes one or more instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods in this application embodiment. The aforementioned storage medium can be a non-transitory storage medium, including: USB flash drive, portable hard drive, read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk, and other media capable of storing program code; it can also be a transient storage medium.
[0143] The foregoing description and accompanying drawings fully illustrate embodiments of this application to enable those skilled in the art to practice them. Other embodiments may include structural, logical, electrical, procedural, and other changes. The embodiments represent only possible variations. Individual components and functions are optional unless explicitly required, and the order of operations may vary. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. Moreover, the terminology used in this application is for describing embodiments only and is not intended to limit the claims. As used in the description of embodiments and claims, the singular forms “a,” “an,” and “the” are intended to equally include the plural forms unless the context clearly indicates otherwise. Additionally, when used in this application, the terms “comprise” and its variations “comprises” and / or “comprising” refer to the presence of stated features, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof. Unless otherwise specified, an element defined by the phrase "comprising a..." does not exclude the presence of other identical elements in the process, method, or apparatus that includes that element. In this document, each embodiment may focus on describing the differences from other embodiments, and similar or identical parts between embodiments can be referred to mutually. For methods, products, etc., disclosed in the embodiments, if they correspond to the method section disclosed in the embodiments, then the relevant parts can be referred to the description of the method section.
[0144] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0145] The methods and products (including but not limited to devices and equipment) disclosed in the embodiments herein can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For instance, the division of units may be merely a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the shown or discussed units may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms. Units described as separate components may or may not be physically separate, and components shown as units may or may not be physical units, i.e., they may be located in one place or distributed across multiple network units. Some or all of the units may be selected to implement this embodiment according to actual needs. Furthermore, the functional units in the embodiments of this application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0146] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. Each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
Claims
1. A method for ultra-short-term wind speed prediction based on GNN-LSTM, using power plants or observation stations as GNN nodes, characterized in that... Ultra-short-term wind speed prediction methods based on GNN-LSTM include: During the GNN update process, for all nodes at each time step, the initial edge weights of the edges are determined based on physical prior features. The physical prior features include one or more of the following: the distance between the two nodes corresponding to the edge, their relative orientation, relative wind direction, and spatial occlusion index. The edge feature vector corresponding to each edge is input into a preset neural network, and the output of the preset neural network is determined as a scalar gain; wherein, the edge feature vector is the difference between the node feature vectors of the two nodes corresponding to the edge; the node feature vector includes at least one or more of the following: temperature, air pressure, humidity, wind speed and wind direction; The activation function is used to map the product of the initial edge weight and the scalar gain of each edge to the final edge weight; The message function based on GNN calculates the message to be passed on the edge based on the edge feature vector of each edge and its corresponding node feature vector. For each edge corresponding to a node, calculate the first weighted sum of the edge-transmitted messages based on the final edge weight of each edge, and determine the first weighted sum as the aggregated message of each node; The nodes are updated based on their feature vectors and aggregated messages. The updated result of the final output of GNN is input into a temporal neural network with temporal processing capabilities that is the same as or similar to LSTM, and the output of the temporal neural network is used as the ultra-short-term wind speed prediction result.
2. The ultra-short-term wind speed prediction method based on GNN-LSTM according to claim 1, characterized in that, The loss function used in the training process of GNN and other temporal neural networks with temporal processing capabilities, which are the same as or similar to LSTM, includes the spatial consistency regularization loss term. The calculation methods for the spatial consistency regularization loss term include: The initial edge weight is used as the weight of the difference between the prediction results of the two nodes corresponding to that edge. The second weighted sum of the differences between the prediction results of each node and all its neighboring nodes is calculated, and then the sum of the second weighted sums corresponding to all nodes is averaged.
3. The ultra-short-term wind speed prediction method based on GNN-LSTM according to claim 1, characterized in that, The activation function is used to map the product of the initial edge weight and the scalar gain corresponding to each edge to the final edge weight, including: using the activation function to map the product of the initial edge weight and the scalar gain corresponding to each edge to the non-normalized edge weight; and determining the non-normalized edge weight as the final edge weight. For each edge corresponding to a node, the first weighted sum of the edge transmission messages is calculated based on the final edge weight of each edge, including: normalizing the final edge weight of the edge corresponding to a single node to obtain a normalized weight; using the normalized weight of the edge as the weight of the edge transmission message, the first weighted sum of the edge transmission messages of the edge corresponding to each node is calculated.
4. The ultra-short-term wind speed prediction method based on GNN-LSTM according to claim 3, characterized in that, Before normalizing the final edge weights of the edges corresponding to a single node to obtain normalized weights, the method further includes: if the number of edges corresponding to each node is greater than a preset number, selecting a preset number of final edge weights from all final edge weights, wherein the selected final edge weights are all greater than or equal to the unselected final edge weights; or, selecting final edge weights with values greater than or equal to a preset value from all final edge weights. Normalize the final edge weights of the edges corresponding to a single node to obtain normalized weights, including: normalizing the selected final edge weights corresponding to a single node to obtain normalized weights; Using the normalized weights of the edges as the weights of the edge-transmitted messages, calculate the first weighted sum of the edge-transmitted messages for each node's corresponding edge, including: using the normalized weights of the edges as the weights of the edge-transmitted messages, calculate the first weighted sum of the edge-transmitted messages for each node's corresponding selected edge.
5. The ultra-short-term wind speed prediction method based on GNN-LSTM according to claim 1, characterized in that, The edge message is calculated based on the edge feature vector and its corresponding node feature vector of each edge, including: concatenating the edge feature vector and its corresponding node feature vector to obtain a first concatenated feature vector, processing the first concatenated feature vector using a first learnable weight matrix, performing a nonlinear mapping on the processing result, and determining the nonlinear mapping result as the edge message. The nodes are updated based on their node feature vectors and aggregated messages, including: concatenating the node feature vectors and aggregated messages to obtain a second concatenated feature vector; processing the second concatenated feature vector using a second learnable weight matrix; performing a nonlinear mapping on the processing result; and determining the nonlinear mapping result as the node update result.
6. The ultra-short-term wind speed prediction method based on GNN-LSTM according to claim 1, characterized in that, Determining the initial edge weights based on prior physical characteristics includes: The initial edge weights are determined based on the tailwind degree, distance attenuation, and terrain shading indices between the two nodes. Among them, the tailwind degree is determined based on the relative orientation and relative wind direction between the two nodes, the distance attenuation is determined based on the distance between the two nodes, and the spatial obstruction index is determined based on the height difference between the two nodes and / or the height of the obstruction between them. The higher the tailwind, the greater the initial edge weight; the smaller the distance decay, the greater the initial edge weight; the smaller the terrain shading index, the greater the initial edge weight.
7. The ultra-short-term wind speed prediction method based on GNN-LSTM according to any one of claims 1 to 6, characterized in that, The loss functions used in the training process of GNN and other temporal neural networks with temporal processing capabilities, which are the same as or similar to LSTM, also include mean squared error loss term or mean absolute error loss term calculated step by step on a node-by-node basis, and time smoothing regularization loss term.
8. The ultra-short-term wind speed prediction method based on GNN-LSTM according to any one of claims 1 to 6, characterized in that, The updated result of the final output of the GNN is input into a temporal neural network with temporal processing capabilities, similar to or comparable to LSTM. The output of the temporal neural network is used as the ultra-short-term wind speed prediction result, including: The node update results at multiple times for each node are merged into a time series according to the chronological order. The time series data is input into a temporal neural network, and the output results of the temporal neural network in a preset dimension are obtained. Each dimension of the output represents the ultra-short-term wind speed forecast for the next time step.
9. A short-term wind speed prediction device based on GNN-LSTM, using power plants or observation stations as GNN nodes, characterized in that, The ultra-short-term wind speed prediction device based on GNN-LSTM includes: The initial edge weight determination module is used to determine the initial edge weight of the edges corresponding to all nodes at each time step during the GNN update process, based on the physical prior features. The physical prior features include one or more of the following: the distance between the two nodes corresponding to the edge, the relative orientation, the relative wind direction, and the spatial occlusion index. The scalar gain calculation module is used to input the edge feature vector corresponding to each edge into a preset neural network and determine the output of the preset neural network as the scalar gain; wherein, the edge feature vector is the difference between the node feature vectors of the two nodes corresponding to the edge; the node feature vector includes at least one or more of the following: temperature, air pressure, humidity, wind speed and wind direction; The edge weight mapping module is used to map the product of the initial edge weight and the scalar gain corresponding to each edge to the final edge weight using an activation function; The message passing calculation module is used for message functions based on GNN to calculate edge passing messages based on the edge feature vector of each edge and its corresponding node feature vector. The message aggregation module is used to calculate the first weighted sum of the messages transmitted by each edge based on the final edge weight of each edge for each node, and to determine the aggregated message of each node based on the first weighted sum. The update module is used to update nodes based on their node feature vectors and aggregated messages. The prediction module is used to input the updated result of the final output of the GNN into a temporal neural network with the same or similar time-series processing capabilities as LSTM, and use the output of the temporal neural network as the ultra-short-term wind speed prediction result.
10. A short-term wind speed forecasting device based on GNN-LSTM, comprising a processor and a memory storing program instructions, characterized in that, The processor is configured to execute the ultra-short-term wind speed prediction method based on GNN-LSTM as described in any one of claims 1 to 8 when executing the program instructions.
Citation Information
Patent Citations
SAM and ST-GNN-based short-term wind power prediction method and system
CN121581315A
Short-term wind speed prediction method for multiple offshore wind power plants
CN121602355A