A method and system for predicting a la ni a event
Patent Information
- Application Number
- CN202410474808.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-19
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2044-04-19
AI Technical Summary
Existing methods for predicting La Niña phenomena have shortcomings in terms of data quality, complexity and uncertainty, model complexity, and data feature selection, resulting in insufficient prediction accuracy and reliability.
By performing multi-dimensional screening of historical data for numerical patterns and meteorological elements, a neural network prediction model is constructed. The trained neural network model is then used to output the predicted value of the La Niña phenomenon, thereby optimizing the training and feature selection of the machine learning model.
It improves the accuracy and reliability of La Niña prediction, and optimizes the model complexity and the quality of training data.
Smart Images

Figure CN118395258B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of atmospheric science, specifically relating to a method and system for predicting La Niña phenomena. Background Technology
[0002] La Niña is a phenomenon characterized by an abnormal drop in sea surface temperature in the eastern Pacific Ocean near the equator. It is characterized by a significant cooling of the eastern Pacific and is accompanied by global climate change. The occurrence of La Niña may lead to abnormal weather patterns in my country, such as cold winters and hot summers, and droughts in the south and floods in the north. It may also increase the number of tropical cyclones making landfall in China. This can adversely affect agricultural production, transportation, and people's lives, making accurate prediction of La Niña crucial. The La Niña coefficient reflects the severity and periodicity of La Niña; therefore, changes in the La Niña coefficient can predict the development trend of this phenomenon.
[0003] The CMIP data used for La Niña prediction comes from historical observations, climate simulation experiments, numerical calculations, and physical simulations. However, insufficient historical observations, experimental defects, or modeling errors may lead to systematic deviations between simulation results and actual conditions. An et al. [1] An analysis of 10 models from CMIP5 revealed that most models underestimated the nonlinear effects of sea surface temperature (SST), with only a few models showing a positive SST skew in the tropical eastern Pacific. (Tang et al.) [2] It is pointed out that the systematic bias of CMIP5 reduces the reliability of predicting changes in Pacific sea surface temperature and the associated frequency of extreme La Niña events. CMIP6 improves the simulation of La Niña processes, but still has non-negligible errors. Therefore, directly using the entire CMIP5 / 6 data as a training set not only introduces dirty data, making the physical model redundant and leading to prediction bias, but also consumes a significant amount of time and computational resources. Furthermore, due to the sheer volume of meteorological data, manually filtering the data in terms of time, space, and quality would be an extremely demanding task.
[0004] Currently, methods for forecasting La Niña mainly include statistical models based on observational data, numerical simulations based on physical models, and models based on machine learning.
[0005] Statistical models based on observational data: This method is simple and easy to implement, but its accuracy is limited by the quality of the observational data. Due to the difficulty in acquiring oceanographic observational data, missing data or low-quality data may lead to inaccurate prediction results.
[0006] Numerical simulation based on physical models: This method uses a coupled ocean-atmosphere model for prediction, considering the influence of multiple climate factors. However, the establishment and solution process of this model is relatively complex, requiring significant computational resources and expertise. Furthermore, the La Niña phenomenon involves multiple complex interactions and feedback mechanisms, resulting in high uncertainty in the model.
[0007] Machine learning-based models: This method uses machine learning algorithms to learn from historical data and predict La Niña events. It can handle large amounts of complex data, but its accuracy is affected by data quality and feature selection. Furthermore, machine learning models require a significant amount of training data; insufficient data or inappropriate feature selection can lead to biased predictions.
[0008] In summary, current methods for forecasting La Niña phenomena have certain shortcomings or defects in terms of data quality, complexity and uncertainty, model complexity, and data feature selection. Summary of the Invention
[0009] To address the problems existing in the prior art, this invention proposes a method and system for predicting the La Niña phenomenon.
[0010] The technical solution of the present invention is as follows:
[0011] A method for predicting La Niña phenomena, comprising:
[0012] Data extraction was performed on historical La Niña meteorological data to form several candidate samples containing numerical models, meteorological elements, and the true value of the La Niña coefficient.
[0013] Based on the correlation between numerical models and the La Niña phenomenon, candidate samples are selected for the numerical model dimension; based on the correlation between meteorological elements and the La Niña phenomenon, candidate samples are selected for the meteorological element dimension, and the selected candidate samples are used as training samples to construct a sample set.
[0014] The pre-built neural network prediction model is trained using numerical patterns and meteorological elements in each training sample in the sample set as input data and the true value of the La Niña coefficient in each training sample as a label. The trained neural network prediction model is then used to output the La Niña coefficient prediction value corresponding to the current numerical pattern and meteorological elements, thus completing the prediction of the La Niña phenomenon.
[0015] Furthermore, the specific process of screening candidate samples based on the correlation between numerical models and the La Niña phenomenon includes:
[0016] The candidate samples for spatiotemporal matching are classified into M categories of candidate samples, and the numerical models and meteorological elements in each category are spatiotemporally matched.
[0017] A neural network screening model was constructed, and the neural network screening model was trained using each class of candidate samples to obtain the neural network screening model corresponding to each class of candidate samples. During training, the numerical patterns and meteorological elements in the candidate samples were used as input data and the true value of the La Niña coefficient was used as the label.
[0018] The trained neural network screening model for each class of candidate samples outputs the predicted La Niña coefficient values of numerical models and meteorological elements for each class of candidate samples. The error between the predicted La Niña coefficient value and the true La Niña coefficient value for each candidate sample under each class of candidate samples is calculated and used as the correlation coefficient between the numerical model corresponding to that class of candidate samples and the La Niña phenomenon. The top H1 class of candidate samples with the smallest correlation coefficient are then selected.
[0019] Furthermore, the meteorological elements include multiple categories of data.
[0020] Furthermore, the meteorological elements include sea surface temperature data, heat content data, zonal wind data, and meridional wind data.
[0021] Furthermore, the specific process of screening candidate samples for meteorological element dimensions based on the correlation between meteorological elements and the La Niña phenomenon includes:
[0022] Obtain the mean correlation coefficient between each category of meteorological element data and the true value of La Niña coefficient in each candidate sample, and select the top H2 category data with the highest mean.
[0023] Furthermore, the specific steps for selecting candidate samples based on the correlation between numerical models and the La Niña phenomenon, and selecting candidate samples based on the correlation between meteorological elements and the La Niña phenomenon, and using the selected candidate samples as training samples to construct the sample set, are as follows:
[0024] Step 1.1) Define a dataset CMD(h, elem, year, month, lat, lon) to store numerical patterns and meteorological elements in the candidate samples, where h is the numerical pattern number, h∈[1,H], H is the total number of numerical patterns, and H takes a positive integer; elem is the meteorological element; year is the year; month is the month; lat is the longitude; and lon is the latitude.
[0025] The true values of the La Niña coefficient in the candidate samples are denoted as Lanina_idx(year, month) and correspond to the dataset CMD(h, elem, year, month, lat, lon) to form data pairs;
[0026] Step 1.2) Classify the candidate samples for spatiotemporal matching to form M classes of candidate samples. Based on the corresponding numerical patterns in each class of candidate samples, construct a list set Ax(m, h) consisting of M lists of length H, where M is a positive integer and m∈[1,M]. The elements in the list set Ax(m, h) are either 0 or 1, where 1 indicates that the element is used for model training and 0 indicates that the element is not used for model training. Randomly initialize the elements in the list set Ax(m, h) so that the number of elements with a value of 0 is equal to or differs from the number of elements with a value of 1 by no more than 3.
[0027] Construct a neural network screening model Model_1. The input data of the neural network screening model Model_1 is the dataset CMD(h, elem, year, month, lat, lon), and the label is the true value of the La Niña coefficient Lanina_idx(year, month) corresponding to the dataset.
[0028] Step 1.3) Train the neural network screening model Model_1 M times. Each training iteration uses candidate samples corresponding to the elements assigned a value of 1 in each list of the list set, forming a trained neural network screening model for each list. Based on the neural network screening model for each list, output the predicted La Niña coefficient value for the candidate samples corresponding to each list element.
[0029] Step 1.4) Obtain the error ST between the predicted La Niña coefficient and the true La Niña coefficient for each list, which represents the correlation between the numerical model and the La Niña phenomenon; then sort all the errors ST in ascending order, and if M is even, retain the first few. Convert the list to list set Ax2, otherwise keep the list. From the list to the list set Ax2(m, h), m∈[1, M′], h∈[1, H];
[0030] Step 1.5) Apply uniform random sampling to the list set Ax2(m, h) to randomly sample two lists Ax2(a, h) and Ax2(b, h), where a∈[1, M′] and b∈[1, M′]; randomly select elements Ax2(a, c) and Ax2(b, c) at corresponding positions in the two lists and swap the values of the two elements, where c∈[0, H].
[0031] Step 1.6) Repeat step 1.6 k1 times to generate a new list set Ax(m, h), m∈[1, M′], h∈[1, H];
[0032] Step 1.7) Perform uniform random sampling on list set Ax3, randomly select a list and randomly select an element Ax3(d, e) from the list, so that the value of the element changes from 0 to 1 or from 1 to 0, with a change probability of i, where i is a decimal, i∈(0,1); generate a new list set Ax4(m, h), where d∈[0, M′) and e∈[0, H); sort the errors ST of all lists in list set Ax4(m, h) from smallest to largest;
[0033] Step 1.8) Repeat steps 1.3) to 1.7). If the minimum error ST in the list set Ax4(m,h) does not decrease in three consecutive iterations, take the first list in the list set Ax4(m,h) and construct the dataset cm based on the elements in the list that correspond to the elements in the dataset CMD(h,elem,year,month,lat,lon).
[0034] Step 1.9) Select the mean of the correlation coefficients between each class of meteorological elements and the true value of the La Niña coefficient in the candidate samples corresponding to each element in the dataset cm, and filter out the top H2 class of data with the highest mean.
[0035] Furthermore, the neural network prediction model includes a SAM module, a two-dimensional convolutional layer, a normalization layer, a ConvnextBlock network, a pooling layer, a normalization layer, and a SAM module; the ConvnextBlock network includes a first ConvnextBlock module, a first downsampling module, a second ConvnextBlock module, a second downsampling module, a third ConvnextBlock module, a third downsampling module, and a fourth ConvnextBlock module.
[0036] A prediction system for the La Niña phenomenon, comprising a candidate sample generation module, a sample set construction module, and a training and prediction module;
[0037] The alternative sample generation module is used to extract data from historical La Niña meteorological data to form several alternative samples containing numerical models, meteorological elements, and the true value of the La Niña coefficient.
[0038] The sample set construction module is used to screen candidate samples in the numerical model dimension based on the correlation between numerical models and La Niña phenomena; and to screen candidate samples in the meteorological element dimension based on the correlation between meteorological elements and La Niña phenomena, and to construct a sample set using the screened candidate samples as training samples.
[0039] The training and prediction module is used to train a pre-built neural network prediction model by taking the numerical patterns and meteorological elements in each training sample in the sample set as input data and the true value of the La Niña coefficient in each training sample as a label. Then, the trained neural network prediction model is used to output the La Niña coefficient prediction value corresponding to the current numerical pattern and meteorological elements, thereby completing the prediction of the La Niña phenomenon.
[0040] Compared with the prior art, the present invention has the following beneficial effects:
[0041] This invention proposes a method and system for predicting La Niña phenomena. The method filters historical data by numerical model and meteorological element dimensions, forming a sample set to train a neural network model. The trained neural network model is then used to predict La Niña phenomena. This multi-dimensional data filtering design improves the quality of training data, enhances model complexity and accuracy, and optimizes the training and feature selection methods of the machine learning model, thereby improving the accuracy and reliability of La Niña forecasts. Attached Figure Description
[0042] Figure 1 This is a flowchart illustrating the method for predicting the La Niña phenomenon in this embodiment.
[0043] Figure 2 This is a schematic diagram of the SAM module in an application example.
[0044] Figure 3 The overall architecture of the deep neural network model in the application example
[0045] Figure 4 This is a flowchart of an application example;
[0046] Figure 5 This is a schematic diagram illustrating the detailed steps of dataset filtering in an application example. Detailed Implementation
[0047] Example 1:
[0048] This invention provides a method for predicting La Niña phenomena, where the La Niña phenomenon is measured using the La Niña coefficient, such as... Figure 1 As shown, the method includes:
[0049] Data extraction was performed on historical La Niña meteorological data to form several candidate samples containing numerical models, meteorological elements, and the true value of the La Niña coefficient (the true value of the La Niña coefficient is the actual value that occurred).
[0050] Based on the correlation between numerical models and the La Niña phenomenon, candidate samples are selected for the numerical model dimension; based on the correlation between meteorological elements and the La Niña phenomenon, candidate samples are selected for the meteorological element dimension, and the selected candidate samples are used as training samples to construct a sample set.
[0051] The pre-built neural network prediction model is trained using numerical patterns and meteorological elements in each training sample in the sample set as input data and the true value of the La Niña coefficient in each training sample as a label. The trained neural network prediction model is then used to output the La Niña coefficient prediction value corresponding to the current numerical pattern and meteorological elements, thus completing the prediction of the La Niña phenomenon.
[0052] Example 2:
[0053] This example, based on Example 1, further designs the process of screening candidate samples based on the correlation between numerical models and the La Niña phenomenon. The specific steps include:
[0054] The candidate samples for spatiotemporal matching are classified, that is, candidate samples with the same time and space are grouped together to form M types of candidate samples. Each group of candidate samples consists of numerical models, meteorological elements and La Niña coefficient true values corresponding to the same time and space. The numerical models and meteorological elements in each type of candidate sample are spatiotemporally matched.
[0055] A neural network screening model was constructed, and the neural network screening model was trained using each class of candidate samples to obtain the neural network screening model corresponding to each class of candidate samples. During training, the numerical patterns and meteorological elements in the candidate samples were used as input data and the true value of the La Niña coefficient was used as the label.
[0056] The trained neural network screening model for each class of candidate samples outputs the predicted La Niña coefficient values of numerical models and meteorological elements for each class of candidate samples. The error between the predicted La Niña coefficient value and the true La Niña coefficient value for each candidate sample under each class of candidate samples is calculated and used as the correlation coefficient between the numerical model corresponding to that class of candidate samples and the La Niña phenomenon. The top H1 class of candidate samples with the smallest correlation coefficient are then selected.
[0057] Example 3:
[0058] This example is a further design based on Example 1, in which the meteorological elements include multiple categories of data. Specifically, the meteorological elements may include sea surface temperature data, heat content data, zonal wind data, and meridional wind data.
[0059] Example 4:
[0060] This example, based on Example 3, further designs the process of screening candidate samples for meteorological elements based on their correlation with the La Niña phenomenon. The specific steps include:
[0061] The process involves obtaining the mean correlation coefficient between each category of meteorological elements in the candidate samples and the true value of the La Niña coefficient, and then selecting the top H2 categories of data with the highest mean. An example illustrating this process is provided below. This example has 20 candidate samples, each containing four categories of meteorological elements: sea surface temperature, heat content, zonal wind, and meridional wind. First, the correlation coefficient between each category of meteorological elements in the 20 candidate samples and the true value of the La Niña coefficient is calculated, resulting in 80 correlation coefficients (4 for each candidate sample). Then, the meteorological elements are categorized according to these 80 correlation coefficients, and the mean of the correlation coefficient for each category is obtained and sorted. This yields the top H2 categories of data with the highest mean. The correlation coefficient can be calculated using the `corr` function from the pandas package.
[0062] Example 5:
[0063] This example, based on Example 1, further designs the following: In this example, candidate samples are selected based on the correlation between numerical models and the La Niña phenomenon; candidate samples are selected based on the correlation between meteorological elements and the La Niña phenomenon; and the selected candidate samples are used as training samples. The specific steps for constructing the sample set are as follows:
[0064] Step 1.1) Define a dataset CMD(h, elem, year, month, lat, lon) to store the numerical models and meteorological elements in the candidate samples, where h is the numerical model number, h∈[1,H], H is the total number of numerical models, and H takes a positive integer; elem is the meteorological element; year is the year; month is the month; year and month are the time stamps corresponding to the candidate samples, lat is the longitude; lon is the latitude; lat and lon are the spatial stamps corresponding to the candidate samples.
[0065] The true values of the La Niña coefficient in the candidate samples are denoted as Lanina_idx(year, month) and correspond to the dataset CMD(h, elem, year, month, lat, lon) to form data pairs;
[0066] Step 1.2) Classify the candidate samples for spatiotemporal matching. Candidate samples with the same time and spatial labels are grouped together to form M classes of candidate samples. Based on the corresponding numerical patterns in each class, construct a list set Ax(m, h) consisting of M lists of length H, where M is a positive integer, its size related to the number of model training iterations, typically less than 10000; m ∈ [1, M]. The elements in the list set correspond to the elements in the dataset. Specifically, class m in the list set Ax(m, h) corresponds to (year, month, lat, lon) in the dataset CMD(h, elem, year, month, lat, lon), i.e. The combination of year, month, longitude, and latitude in the list set Ax(m, h) corresponds to the numerical pattern h in the dataset CMD(h, elem, year, month, lat, lon). Therefore, the list set is actually a simplified dataset that does not consider the meteorological element elem. Elements in the list set Ax(m, h) are either 0 or 1, where 1 indicates that the element is used for model training, and 0 indicates that the element is not used for model training. Random initialization is performed on the elements in the list set Ax(m, h), that is, each element in the list set Ax(m, h) is randomly assigned 0 or 1, and the number of elements assigned 0 is equal to or differs from the number of elements assigned 1 by no more than 3.
[0067] Construct a neural network screening model Model_1. The input data of the neural network screening model Model_1 is the dataset CMD(h, elem, year, month, lat, lon), and the label is the true value of the La Niña coefficient Lanina_idx(year, month) corresponding to the dataset.
[0068] The following example illustrates this process. In this example, the number of lists M is 3, and the total number of numerical modes H is 4. The list set after initializing the amplitude is shown in Table 1 below.
[0069] Table 1
[0070] List number m Numerical mode number h List set Ax 1 1 1 1 2 0 1 3 1 1 4 1 2 1 0 2 2 0 2 3 1 2 4 0 3 1 1 3 2 1 3 3 0 3 4 0
[0071] In this example, the list set has a total of 12 elements, of which 6 elements are assigned a value of 0 and the other 6 elements are assigned a value of 1.
[0072] Step 1.3) Train the neural network screening model Model_1 M times. Each training iteration uses candidate samples corresponding to the elements assigned a value of 1 in each list set, forming a trained neural network screening model for each list. Based on the neural network screening model for each list, output the predicted La Niña coefficient value for the candidate samples corresponding to each list element.
[0073] Step 1.4) Calculate the error ST between the predicted La Niña coefficient and the true La Niña coefficient for each list, which represents the correlation between the numerical model and the La Niña phenomenon; then sort all the lists by error ST from smallest to largest. If M is even, retain the first few lists. Convert the list (elements) to list set Ax2, otherwise keep the list. The list (elements) is transformed into a list set Ax2(m, h), where m∈[1, M′], h∈[1, H]. The following example illustrates this process, where the number of lists M is 3 and the total number of numeric patterns H is 4. The process is shown in Table 1 below.
[0074] List number m Numerical mode number h <![CDATA[List set Ax2]]> Error ST 1 1 1 0.5 1 2 0 0.5 1 3 1 0.5 1 4 1 0.5 2 1 0 0.6 2 2 0 0.6 2 3 1 0.6 2 4 0 0.6 3 1 1 0.4 3 2 1 0.4 3 3 0 0.4 3 4 0 0.4
[0075] As can be seen from the table above, the error ST of the list corresponding to list number m=1 is 0.5, the error ST of the list corresponding to list number m=2 is 0.6, and the error ST of the list corresponding to list number m=3 is 0.4.
[0076] Step 1.5) Apply uniform random sampling to the list set Ax2(m, h) to randomly sample two lists Ax2(a, h) and Ax2(b, h), where a∈[1, M′] and b∈[1, M′]; randomly select elements Ax2(a, c) and Ax2(b, c) at corresponding positions in the two lists and swap the values of the two elements, where c∈[0, H].
[0077] Specifically, each swap can be performed by defining the parameter temp as an integer and initializing it to 0, and then swapping the values of Ax2(a, c) and Ax2(b, c).
[0078] Step 1.6) Repeat the random sampling, random selection, and element value swapping operations of Step 1.6) k1 times to generate a new list set Ax(m, h), where m∈[1, M′] and h∈[1, H]; k1 is calculated by dividing the number of lists in list set Ax2 by 8 and rounding up. The execution of Steps 1.5) to 1.6) can increase the data diversity of the list set.
[0079] Step 1.7) Perform uniform random sampling on list set Ax3, randomly select a list and randomly select an element Ax3(d, e) from the list, so that the value of the element changes from 0 to 1 or from 1 to 0, with a change probability of i, which can be randomly generated by a random number generator, where i is a decimal, i∈(0,1); generate a new list set Ax4(m, h), where d∈[0, M′), e∈[0, H) (this operation can also increase the data diversity of the list set); sort the errors ST of all lists in list set Ax4(m, h) from smallest to largest;
[0080] Step 1.8) Repeat steps 1.3) to 1.7). If the minimum error ST in the list set Ax4(m,h) does not decrease in three consecutive iterations, take the first list in the list set Ax4(m,h) and construct the dataset cm based on the elements in the list that correspond to the elements in the dataset CMD(h,elem,year,month,lat,lon).
[0081] Step 1.9) Select the mean of the correlation coefficients between each class of meteorological elements and the true value of the La Niña coefficient in the candidate samples corresponding to each element in the dataset cm, and filter out the top H2 class of data with the highest mean.
[0082] Example 6:
[0083] This example, based on Example 1, is further designed in that the neural network prediction model in this example is as follows: Figure 2 and Figure 3 As shown, it includes a SAM module, a two-dimensional convolution, a normalization layer, a ConvnextBlock network, a pooling layer, a normalization layer, and a SAM module; the ConvnextBlock network includes a first ConvnextBlock module, a first downsampling module, a second ConvnextBlock module, a second downsampling module, a third ConvnextBlock module, a third downsampling module, and a fourth ConvnextBlock module.
[0084] Example 7:
[0085] The present invention provides a prediction system for the La Niña phenomenon, which is generally measured by the La Niña coefficient. The system includes a candidate sample generation module, a sample set construction module, and a training and prediction module.
[0086] The alternative sample generation module is used to extract data from historical La Niña meteorological data and generate several alternative samples containing numerical models, meteorological elements, and the true value of the La Niña coefficient (the true value of the La Niña coefficient is the actual value that occurred).
[0087] The sample set construction module is used to screen candidate samples in the numerical model dimension based on the correlation between numerical models and La Niña phenomenon; and to screen candidate samples in the meteorological element dimension based on the correlation between meteorological elements and La Niña phenomenon, and to construct the sample set using the screened candidate samples as training samples.
[0088] The training and prediction module is used to train a pre-built neural network prediction model by taking the numerical patterns and meteorological elements in each training sample in the sample set as input data and the true value of the La Niña coefficient in each training sample as a label. Then, the trained neural network prediction model is used to output the La Niña coefficient prediction value corresponding to the current numerical pattern and meteorological elements, thus completing the prediction of the La Niña phenomenon.
[0089] Application Examples:
[0090] This example uses the La Niña prediction method of this invention for simulation implementation. The historical La Niña meteorological data used in this example are CMIP5 and CMIP6. CMIP5 and CMIP6 are the fifth and sixth phases of the Global Climate Model Intercomparison Project, which aim to help scientists understand global climate change trends and mechanisms, and predict future climate change. Figure 4 As shown, the specific steps include the following:
[0091] Step 1: Merge CMIP5 and CMIP6 into a training dataset CMIP, with dimensions (h, elem, year, month, lat, lon). Here, h represents the 32 numerical models in CMIP5 and CMIP6, and elem contains the following meteorological elements: sea surface temperature data (sea surface temperature anomaly, SST), heat content data (heat content anomaly, T300), zonal wind data (zonal wind anomaly, Ua), and meridional wind data (meridional wind anomaly, Va). year is the starting year of the data. The CMIP dataset spans 4645 years, with 1-2265 representing 151 years of historical simulation data from 15 models in CMIP6, and 2266-4645 representing 140 years of historical simulation data from 17 models in CMIP5. The "Mouth" value corresponds to the month, and for the training data, it is always 36. This represents three consecutive years of data starting from the current year (36 months in total, beginning in January). The third and fourth dimensions represent latitude and longitude (55°S - 60°N, 0°E - 360°E), respectively. All data points have the same latitude and longitude range. The label data "Lanina_idx" is the Lanina 3.4 SST anomaly index, with data dimensions of (year, month), where year is 4645 and month is 36.
[0092] Step 1.1: Filter through the 32 patterns in CMIP to obtain the minimum effective training dataset;
[0093] Step 1.1.1: Encode the 32 patterns in CMIP into a list of length 32. The list elements have only two values, 0 and 1, which represent whether a certain pattern is used for training. Randomly initialize a list set Ax(m,h) consisting of 648 lists of length 32, where m is 648 and h is 32. Each element of the list of length 32 is randomly initialized to 0 or 1.
[0094] Step 1.1.2: Train the neural network model using data from the list set Ax(m,h). Obtain the error ST between the predicted La Niña coefficient and the true La Niña coefficient for each list, which represents the correlation between the numerical pattern and the La Niña phenomenon. In this example, the mean squared error loss function (MSE) is used, and the error is defined as ST. Sort the list according to ST from smallest to largest, and retain the first 50% of the list to obtain a new list set Ax2(m / 2,h). The fitness calculation formula is:
[0095]
[0096] in Input the La Niña coefficient predicted by a Multilayer Perceptron (MLP) into a dataset consisting of patterns with elements of 1 in the list. i This represents the true value of the historical La Niña coefficient.
[0097] Step 1.1.3: As Figure 5 As shown, two lists are randomly selected from list set Ax2 to form a pair, and elements at corresponding positions in the two lists are randomly selected and their values are swapped. This operation is repeated k1 times to generate a new list set Ax3, where k1 is calculated by dividing the number of lists in list set Ax2 by 8 and rounding up.
[0098] Step 1.1.4: Randomly select a list from list set Ax3 and randomly select an element from the list to change its value from 0 to 1 or from 1 to 0 with a probability of 0.2. That is, there is a probability of 0.8 from 0 to 1 and a probability of 0.2 from 1 to 0, generating a new list set Ax4.
[0099] Step 1.1.5: If ST does not decrease for three consecutive times, generate the final selection result of the genetic algorithm, which is the list cm with the highest ST in the final list set Ax4. Otherwise, return to step 1.1.2 for looping, where x is a positive integer, initialized to 1, and the value of x is incremented by one in each loop.
[0100] Step 2: Select the corresponding pattern dataset from the CMIP dataset, defined as CMIPmin, with data dimensions (h1, elem, year, month, lat, lon). The size of h1 is the number of elements with a value of 1 in cm. Perform a selection process on the elem dimension, calculating the mean correlation coefficient between each type of meteorological element and the true value of the La Niña coefficient, and selecting the sea surface temperature anomaly (SST) data with the highest mean. Then, merge the h1 and year dimensions of CMIPmin to obtain a new dimension year, changing the data dimensions of CMIPmin to (year, month, lat, lon). Preprocessing is then performed, dividing the dataset into training, validation, and test datasets, and sampling is used to obtain the final training input data.
[0101] Step 2.1: Divide CMIPmin into sst_train, sst_eval, and sst_test in an 8:1:1 ratio, and similarly divide Lanina 3.4SST into lanina_train, lanina_eval, and lanina_test in an 8:1:1 ratio;
[0102] Step 2.2: ig is the time interval between two consecutive input frames, with a value of 1; p is the number of input frames, with a value of 12; ps is the advance time of the last target to be predicted, with a value of 26; pl is the number of frames to be predicted, with a value of 26; sp is the sampling interval, with a value of 5; lt is the number of input data samples, which is 1704 when processing CMIP5 mode data and 1836 when processing CMIP6 mode data; ins is the input span, and its calculation formula is:
[0103] ins=ig*(p-1)+1
[0104] The ins value is 12, and pg is the prediction interval, calculated using the following formula:
[0105] pg = ps|pl (| is the integer division symbol)
[0106] pg takes the value 1, and ms is the maximum sampling point of the input data, calculated using the following formula:
[0107] ms = lt - (ins + ps - 1)
[0108] The value is 1799 when processing CMIP6 mode data and 1667 when processing CMIP5 mode data.
[0109] Step 2.3: Construct an equally spaced sequence `input_ind` with `ig` as the interval and `(0, ins)` as the range. Construct an equally spaced sequence with `pg` as the interval and `(0, ps)` as the range, and add `ins` to obtain `target_ind`. Then concatenate `input_ind` and `target_ind` to reconstruct the dimension to `(1, p+pl)` to obtain the sequence `ind`. Add a sequence from 0 to `ms` with an interval of 1 to obtain the final `ind`. Its first dimension is the sample sequence, and the second dimension is the month sequence contained in each sample. The first dimension is sampled according to the `sp` interval, and the second dimension takes the first `p` to generate the input data index `idx_inputs`. When processing CMIP6 data, `idx_inputs` is: [[0 1 2 ... 9 10 11][5 6 7 ... 14 15 16][10 11 12 ... 19 20 21]...[1785 1786 1787 ... 1794 1795 1796][1790 1791 1792 ... 1799 1800 1801][1795 1796 1797 ... 1804 1805 1806]]
[0111] When processing CMIP5 data, idx_inputs is: [[0 1 2 ... 9 10 11][1 2 3 ... 10 11 12][2 3 4 ... 11 12 13]...[1664 1665 1666 ... 1673 1674 1675][1665 1666 1667 ... 1674 1675 1676][1666 1667 1668 ... 1675 1676 1677]]
[0113] The remaining data is used to generate the prediction target index idx_targets. When processing CMIP6 data, idx_targets is: [[12 13 14 ... 35 36 37][17 18 19 ... 40 41 42][22 23 24 ... 45 4647]...[1797 1798 1799 ... 1820 1821 1822][1802 1803 1804 ... 1825 1826 1827][1807 1808 1809 ... 1830 1831 1832]]
[0115] When processing CMIP5 data, idx_targets is: [[12 13 14 ... 35 36 37][17 18 19 ... 40 41 42][22 23 24 ... 45 4647]...[1667 1668 1669 ... 1690 1691 1692][1672 1673 1674 ... 1695 1696 1697][1677 1678 1679 ... 1700 1701 1702]];
[0117] Step 2.4: Sample sst_train and lanina_train using the two indices idx_inputs and idx_targets to obtain input_sst and target_sst. The dimensions of input_sst are (N, p, lat, lon), where N is 10410, p is 12, lat is 24, and lon is 48. The dimensions of target_sst are (N, pl, lat, lon), where N is 10410, pl is 26, lat is 24, and lon is 48. Then, the sliding average of target_sst on the second dimension is calculated every three months to obtain target_lanina, which has dimensions (N, pl-2), where N is 10410 and pl-2 is 24. Use the DataLoader tool in PyTorch to combine the datasets into data batches with a sample size of batch_size_train = 8.
[0118] Step 3: Construct the SAM feature extraction module as follows Figure 2 and Figure 3 As shown, the data from step 2 is input into the constructed SAM module to obtain the data after feature extraction. Step 3 specifically includes:
[0119] Construct the SAM module, which will use the input_sst = {Z1, Z2, ..., Z} from step 2. n Feature extraction is performed on the data, where each Z dimension is (batch_size_train, p, lat, lon). The input_sst is processed by global max pooling and global average pooling based on width and height to obtain max_sst{M1, M2, ..., M n} and avg_sst{S1, S2, ..., S n}, where M and S have dimensions (batch_size_train, p, 1, 1), and then the features output by the MLP are summed using element-wise operations to obtain chan_sst{C1, C2, ..., Cn} where C has dimensions (batch_size_train, p), and then generates activate_sst{A1, A2, ..., A} via sigmoid. n The dimension of A is (batch_size_train, p, lat, lon). Then, element-wise multiplication is performed on activate_sst and input_sst to obtain the output end_sst of the SAM module. n Each dimension of E is (batch_size_train, p, lat, lon). In this example, batch_size_train = 8, p = 12, lat = 24, and lon = 48.
[0120] Step 4: Perform downsampling and normalization on the data end_sst after feature extraction by the SAM module in Step 3. Specifically, Step 4 includes:
[0121] Step 4.1: Take the output end_sst from step 3 as input, and process the data into conv_sst(N, channel, M, M) through a linear fully connected layer as input to ConvNext. In this embodiment, M = 224, N = 8, and channel = 12.
[0122] Step 4.2: Perform downsampling. First, perform a 2D convolution in the 0-dimensional plane with a kernel size of 4 and a stride of 4. Then, perform a LayerNorm operation in the channel dimension, with eps set to 10. -6 The downsampling result is obtained as Layer_sst{LN1, LN2, ..., LN n}, where each LN dimension is (N1, p1, lat1, lon1), and in this embodiment N1 = 8, p1 = 192, lat1 = lon1 = 56;
[0123] Step 5: Construct the ConvNextBlock module, and store the output of Step 4, Layer_sst{LN1, LN2, ..., LN... n As input, step 5 specifically includes:
[0124] Step 5.1: First, construct a Depthwise Convolution, where one kernel is responsible for one channel, and each channel is convolved by only one kernel. The number of kernels is n1, and the kernel size is 7. After convolution, we get DW_emax{DW1, DW2, ..., DW...} nEach item in the DW has dimensions (N1, p1, lat1, lon1). The dimensions are then transformed to (N1, lat1, lon1, p1). Following this, a LayerNorm operation is performed to obtain Layer1_emax{LN1, LN2, ..., LN}. n Each LN dimension is (N1, lat1, lon1, p1), and in this embodiment, N1 = 8, p1 = 192, lat1 = lon1 = 56;
[0125] Step 5.2: Next, perform PW convolution. The difference between PW convolution and ordinary convolution is that the kernel size is 1. Therefore, in this module, a fully connected layer is used instead. The channel dimension is first enlarged by four times through PW convolution to obtain PW_sst{PW1, PW2, ..., PW n Each item in the PW array has dimensions (N1, lat1, lon1, p11). A GELU activation layer is then applied, followed by a PW convolution to reduce the channel dimension to the input dimension. Finally, a dimensionality transformation is performed to restore the data to its original (N1, lat1, lon1, p1) to obtain PW1_sst{PW1, PW2, ..., PW...}. n In this embodiment, N1 = 8, p1 = 192, lat1 = lon1 = 56, p11 = 768;
[0126] Step 5.3: Set a learnable parameter gamma, with an initial value of 10. -6 It is a vector with the same dimension as the input. The data in the channel dimension of PW1_sst is scaled by multiplying by gamma. To prevent overfitting, a drop path layer is used to randomly remove sub-paths of the multi-branch structure, restoring the dimension to (N1, p1, lat1, lon1). Then, the initial input Layer_sst is added to obtain the module output feature convblock_sst{CB1, CB2, ..., CB... n}, where each CB dimension is (N1, p1, lat1, lon1);
[0127] Step 6: Stack the entire module from Step 5 twice more to obtain the output data stage1_sst{DP1, DP2, ..., DP n}, where each DP dimension is (N1, p1, lat1, lon1);
[0128] Step 7: Use the Downsample module to downsample stage1_sst from step 6 to obtain Downsample_sst{DS1, DS2, ..., DS nEach DS item has dimensions (N2, p2, lat2, lon2). Then, the Downsample_sst is input into the stage2 module, which is stacked three times from step 5, to obtain stage2_sst{DP1, DP2, ..., DP...}. n Each DP item has dimensions (N2, p2, lat2, lon2), which is then followed by a Downsample module to obtain Downsample1_sst{DS1, DS2, ..., DS n Each DS item has dimensions (N3, p3, lat3, lon3), which is then followed by nine stacked stage3 modules from step 5 to obtain stage3_sst{DP1, DP2, ..., DP n Each DP item has dimensions (N3, p3, lat3, lon3), which is then followed by a Downsample module to obtain Downsample2_sst{DS1, DS2, ..., DS n Each DS item has dimensions (N4, p4, lat4, lon4), which is then followed by the stage4 module stacked three times from step 5 to obtain stage4_sst{DP1, DP2, ..., DP n Each DP dimension is (N4, p4, lat4, lon4). In this embodiment, N2 = 8, p2 = 384, lat2 = 28, lon2 = 28, N3 = 8, p3 = 768, lat2 = 14, lon2 = 14, N4 = 8, p4 = 1536, lat4 = 7, lon4 = 7.
[0129] Step 8: Input stage4_sst from step 7 into the LayerNorm layer to obtain Layerlast_sst{LN1, LN2, ..., LN n Each LN term has dimensions (N4, p4, lat4, lon4), followed by a fully connected layer to transform the channel dimensions into the predicted dimension pl, resulting in linearlast_sst{L1, L2, ..., L n}, where each L has dimensions (N, pl, lat, lon), and finally, the SAM module in step 3 performs feature extraction again to obtain the predicted value of the sst feature, predlast_sst{PD1, PD2, ..., PD}. n}, where the dimension of each PD is (N, p1, lat, lon). In this embodiment, N4 = 8, p4 = 1536, lat4 = 7, lon4 = 7, N = 8, p1 = 26, lat = 24, lon = 48;
[0130] Step 9: Average the last two dimensions of predlast_sst to obtain lanina_sst{NS1, NS2, ..., NSn}, where the dimension of each NS item is (N, pl). Then, average lanina_sst along the second dimension using a window of length m and a step size a to obtain the predicted value of the lanina exponent laninapredlast_sst{NL1, NL2, ..., NLn}, where the dimension of each NLn item is (N, pl-2). In this embodiment, N = 8 and pl = 26.
[0131] Step 10: The loss of laninapredlast_sst and label lanina_train in step 9 is calculated using the RMSE loss function, gradient regression is performed, and then the optimization algorithm is used to continuously adjust the model parameters to obtain more accurate predictions. Training is stopped after the accuracy no longer improves after three consecutive times.
[0132] References
[0133] [1]SIAn,YGHam,JSKug,FFJin,ISKang,El Nino La Nina asymmetry in the Coupled Model Intercomparison Project simulations,Journal of Climate18(14)(2005)2617-2627
[0134] [2]T.Tang,JJLuo,K.Peng,L.Qi,SLTang,Over-projected Pacific warming and extreme El Nino frequency due to CMIP5 common biases,National Science Review vol.8,no.10(2021)p.nwab056.
Claims
1. A method for predicting La Niña phenomena, characterized in that, The method includes: Data extraction was performed on historical La Niña meteorological data to form several candidate samples containing numerical models, meteorological elements, and the true value of the La Niña coefficient. Based on the correlation between numerical models and the La Niña phenomenon, candidate samples are selected for the numerical model dimension; based on the correlation between meteorological elements and the La Niña phenomenon, candidate samples are selected for the meteorological element dimension, and the selected candidate samples are used as training samples to construct a sample set. The numerical patterns and meteorological elements in each training sample in the sample set are used as input data, and the true value of the La Niña coefficient in each training sample is used as the label to train the pre-built neural network prediction model. Then, the trained neural network prediction model is used to output the La Niña coefficient prediction value corresponding to the current numerical pattern and meteorological elements, thus completing the prediction of the La Niña phenomenon. The specific steps for constructing the sample set are as follows: First, based on the correlation between numerical models and the La Niña phenomenon, candidate samples are selected at the numerical model level; second, based on the correlation between meteorological elements and the La Niña phenomenon, candidate samples are selected at the meteorological element level. The selected candidate samples are then used as training samples. Step 1.1) Define a dataset CMD(h, elem, year, month, lat, lon) to store numerical patterns and meteorological elements in the candidate samples, where h is the numerical pattern number, h∈[1,H], H is the total number of numerical patterns, and H takes a positive integer; elem is the meteorological element; year is the year; month is the month; lat is the longitude; and lon is the latitude. The true values of the La Niña coefficient in the candidate samples are denoted as Lanina_idx(year, month) and correspond to the dataset CMD(h, elem, year, month, lat, lon) to form data pairs; Step 1.2) Classify the candidate samples for spatiotemporal matching to form M classes of candidate samples. Based on the numerical patterns in each class of candidate samples, construct a list set Ax(m, h) consisting of M lists of length H, where M is a positive integer and m∈[1,M]. The elements in the list set Ax(m, h) are either 0 or 1, where 1 indicates that the element is used for model training and 0 indicates that the element is not used for model training. Randomly initialize the elements in the list set Ax(m, h) so that the number of elements with a value of 0 is equal to or differs from the number of elements with a value of 1 by no more than 3. Construct a neural network screening model Model_1. The input data of the neural network screening model Model_1 is the dataset CMD(h, elem, year, month, lat, lon), and the label is the true value of the La Niña coefficient Lanina_idx(year, month) corresponding to the dataset. Step 1.3) Train the neural network screening model Model_1 M times. Each training iteration uses candidate samples corresponding to the elements assigned a value of 1 in each list of the list set, forming a trained neural network screening model for each list. Based on the neural network screening model for each list, output the predicted La Niña coefficient value for the candidate samples corresponding to each list element. Step 1.4) Obtain the error ST between the predicted La Niña coefficient and the true La Niña coefficient for each list, which represents the correlation between the numerical model and the La Niña phenomenon; then sort all the errors ST in ascending order, and if M is even, retain the first few. Convert the list to list set Ax2, otherwise keep the list. From the list to the list set Ax2(m, h), m∈[1, ... h∈[1,H]; Step 1.5) Apply uniform random sampling to the list set Ax2(m, h) to randomly sample two lists Ax2(a, h) and Ax2(b, h), where a ∈ [1, ... ... ],b∈[1, Randomly select elements Ax2(a, c) and Ax2(b, c) at corresponding positions in the two lists and swap the values of the two elements, where c ∈ [0, H]. Step 1.6) Repeat step 1.5 k1 times. This generates a new list set Ax3(m, h), m∈[1, ..., h]. h∈[1,H]; Step 1.7) Perform uniform random sampling on list set Ax3, randomly select a list and randomly select an element Ax3(d, e) from that list, and change the value of the element from 0 to 1 or from 1 to 0, with a change probability of i, where i is a decimal, i∈(0,1); generate a new list set Ax4(m,h), where d∈[0,1,1,2 ... ), e∈[0,H); Sort the errors ST of all lists in the list set Ax4(m,h) in ascending order; Step 1.8) Repeat steps 1.3) to 1.7) continuously. If the minimum error ST in the list set Ax4(m,h) does not decrease in three consecutive iterations, then take the first list in the list set Ax4(m,h) and construct the dataset cm based on the elements in the list that correspond to the elements in the dataset CMD(h,elem,year,month,lat,lon). Step 1.9) Select the mean of the correlation coefficients between each class of meteorological elements and the true value of the La Niña coefficient in the candidate samples corresponding to each element in the dataset cm, and filter out the top H2 class of data with the highest mean.
2. The method for predicting La Niña phenomena according to claim 1, characterized in that: The specific process of screening candidate samples based on the correlation between numerical models and the La Niña phenomenon includes: The candidate samples for spatiotemporal matching are classified into M categories of candidate samples, and the numerical models and meteorological elements in each category are spatiotemporally matched. A neural network screening model was constructed, and the neural network screening model was trained using each class of candidate samples to obtain the neural network screening model corresponding to each class of candidate samples. During training, the numerical patterns and meteorological elements in the candidate samples were used as input data and the true value of the La Niña coefficient was used as the label. The trained neural network screening model for each class of candidate samples outputs the predicted La Niña coefficient values of numerical models and meteorological elements for each class of candidate samples. The error between the predicted La Niña coefficient value and the true La Niña coefficient value for each candidate sample under each class of candidate samples is calculated and used as the correlation coefficient between the numerical model corresponding to that class of candidate samples and the La Niña phenomenon. The top H1 class of candidate samples with the smallest correlation coefficient are then selected.
3. The method for predicting La Niña phenomena according to claim 1, characterized in that: The meteorological elements include multiple categories of data.
4. The method for predicting La Niña phenomena according to claim 3, characterized in that: The meteorological elements include sea surface temperature data, heat content data, zonal wind data, and meridional wind data.
5. The method for predicting La Niña phenomena according to claim 3, characterized in that: The specific process of screening candidate samples based on the correlation between meteorological elements and the La Niña phenomenon includes: Obtain the mean correlation coefficient between each type of meteorological element data and the true value of the La Niña coefficient in each candidate sample, and select the top H2 types of data with the highest mean.
6. The method for predicting La Niña phenomena according to claim 1, characterized in that: The neural network prediction model includes a SAM module, a two-dimensional convolutional layer, a normalization layer, a ConvnextBlock network, a pooling layer, a normalization layer, and a SAM module; the ConvnextBlock network includes a first ConvnextBlock module, a first downsampling module, a second ConvnextBlock module, a second downsampling module, a third ConvnextBlock module, a third downsampling module, and a fourth ConvnextBlock module.
7. A prediction system for the La Niña phenomenon, characterized in that, The system includes a candidate sample generation module, a sample set construction module, and a training and prediction module; The alternative sample generation module is used to extract data from historical La Niña meteorological data to form several alternative samples containing numerical models, meteorological elements, and the true value of the La Niña coefficient. The sample set construction module is used to screen candidate samples in the numerical model dimension based on the correlation between numerical models and La Niña phenomena; and to screen candidate samples in the meteorological element dimension based on the correlation between meteorological elements and La Niña phenomena, and to construct a sample set using the screened candidate samples as training samples. The training and prediction module is used to train a pre-built neural network prediction model by taking the numerical patterns and meteorological elements in each training sample in the sample set as input data and the true value of the La Niña coefficient in each training sample as a label. Then, the trained neural network prediction model is used to output the La Niña coefficient prediction value corresponding to the current numerical pattern and meteorological elements to complete the prediction of the La Niña phenomenon. The candidate sample selection is based on the correlation between numerical models and the La Niña phenomenon, using numerical model dimensions. Based on the correlation between meteorological elements and the La Niña phenomenon, candidate samples are selected for each meteorological element dimension, and the selected candidate samples are used as training samples. The specific steps for constructing the sample set are as follows: Step 1.1) Define a dataset CMD(h, elem, year, month, lat, lon) to store numerical patterns and meteorological elements in the candidate samples, where h is the numerical pattern number, h∈[1,H], H is the total number of numerical patterns, and H takes a positive integer; elem is the meteorological element; year is the year; month is the month; lat is the longitude; and lon is the latitude. The true values of the La Niña coefficient in the candidate samples are denoted as Lanina_idx(year, month) and correspond to the dataset CMD(h, elem, year, month, lat, lon) to form data pairs; Step 1.2) Classify the candidate samples for spatiotemporal matching to form M classes of candidate samples. Based on the numerical patterns in each class of candidate samples, construct a list set Ax(m, h) consisting of M lists of length H, where M is a positive integer and m∈[1,M]. The elements in the list set Ax(m, h) are either 0 or 1, where 1 indicates that the element is used for model training and 0 indicates that the element is not used for model training. Randomly initialize the elements in the list set Ax(m, h) so that the number of elements with a value of 0 is equal to or differs from the number of elements with a value of 1 by no more than 3. Construct a neural network screening model Model_1. The input data of the neural network screening model Model_1 is the dataset CMD(h, elem, year, month, lat, lon), and the label is the true value of the La Niña coefficient Lanina_idx(year, month) corresponding to the dataset. Step 1.3) Train the neural network screening model Model_1 M times. Each training iteration uses candidate samples corresponding to the elements assigned a value of 1 in each list of the list set, forming a trained neural network screening model for each list. Based on the neural network screening model for each list, output the predicted La Niña coefficient value for the candidate samples corresponding to each list element. Step 1.4) Obtain the error ST between the predicted La Niña coefficient and the true La Niña coefficient for each list, which represents the correlation between the numerical model and the La Niña phenomenon; then sort all the errors ST in ascending order, and if M is even, retain the first few. Convert the list to list set Ax2, otherwise keep the list. From the list to the list set Ax2(m, h), m∈[1, ... h∈[1,H]; Step 1.5) Apply uniform random sampling to the list set Ax2(m, h), and randomly sample two lists Ax2(a, h) and Ax2(b, h) from the list set, where a ∈ [1, ... ... ],b∈[1, Randomly select elements Ax2(a, c) and Ax2(b, c) at corresponding positions in the two lists and swap the values of the two elements, where c ∈ [0, H]. Step 1.6) Repeat step 1.5 k1 times. This generates a new list set Ax3(m, h), m∈[1, ..., h]. h∈[1,H]; Step 1.7) Perform uniform random sampling on list set Ax3, randomly select a list and randomly select an element Ax3(d, e) from that list, and change the value of the element from 0 to 1 or from 1 to 0, with a change probability of i, where i is a decimal, i∈(0,1); generate a new list set Ax4(m,h), where d∈[0,1,1,2 ... ), e∈[0,H); Sort the errors ST of all lists in the list set Ax4(m,h) in ascending order; Step 1.8) Repeat steps 1.3) to 1.7) continuously. If the minimum error ST in the list set Ax4(m,h) does not decrease in three consecutive iterations, then take the first list in the list set Ax4(m,h) and construct the dataset cm based on the elements in the list that correspond to the elements in the dataset CMD(h,elem,year,month,lat,lon). Step 1.9) Select the mean of the correlation coefficients between each class of meteorological elements and the true value of the La Niña coefficient in the candidate samples corresponding to each element in the dataset cm, and filter out the top H2 class of data with the highest mean.
