Atmospheric numerical model correction method based on sample increasing technique
By generating new training set samples and expanding the training set using a deep learning model generator, the overfitting problem caused by insufficient samples in atmospheric numerical models is solved, the correction effect is improved, and the root mean square error is reduced.
Patent Information
- Application Number
- CN202510578317.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-07
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2045-05-07
AI Technical Summary
Existing deep learning methods are prone to overfitting in atmospheric numerical models due to insufficient training set samples, which affects the correction effect.
New training set samples are generated by sample augmentation techniques. The training set is expanded using a deep learning model generator to avoid overfitting. CNN or ResNet models are then used for training.
This effectively increases the number of training set samples, avoids overfitting, improves the accuracy of atmospheric numerical model correction, and reduces root mean square error.
Smart Images

Figure CN120106164B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of atmospheric science and computer information technology, specifically relating to a method for correcting atmospheric numerical models based on sample augmentation technology. Background Technology
[0002] Atmospheric numerical models are core tools for simulating and predicting atmospheric states and their changes, and are widely used in weather forecasting, climate research, environmental monitoring, and disaster early warning. Their basic principle is to discretize atmospheric dynamics and thermodynamic equations and solve these equations at a finite grid of points to obtain the atmospheric state at a future point in time. Although atmospheric numerical models have made significant progress, errors still exist between their outputs and actual conditions, necessitating model error correction.
[0003] Traditional model error methods include statistical methods such as univariate linear regression and multiple linear regression. These linear error correction methods can effectively correct systematic errors, but they are less effective at correcting nonlinear errors in model results.
[0004] With the rise of deep learning methods, methods such as convolutional neural networks and residual neural networks have been used in the field of atmospheric science. However, deep learning methods require a large number of samples as training sets to achieve good correction results. Insufficient sample size can easily lead to problems such as model overfitting. Summary of the Invention
[0005] Purpose of the invention / Technical problem: This invention addresses the technical problems existing in the prior art by proposing an atmospheric numerical model correction method based on sample augmentation technology. The aim is to solve the overfitting phenomenon caused by insufficient training set samples when training atmospheric numerical models using deep learning methods.
[0006] Technical Solution: To achieve the above-mentioned technical objectives, the present invention provides the following technical solution: an atmospheric numerical model correction method based on sample augmentation technology, comprising the following steps:
[0007] S1, Data Matching and Processing:
[0008] Acquire real-time data Y, Y=[Q,time,lat,lon] and model data X, X=[Q,time,lat,lon] from the atmospheric numerical model. Process the real-time data using neighbor-to-neighbor interpolation to match the model data space. After standardization preprocessing, pair the real-time and model data to construct dataset D, and then divide dataset D into training sets Di. - train, validation set D - val and test set D - test, complete the dataset construction;
[0009] S2, Sample Generation: Training and Convergence Detection of the Benchmark Model: Construct a deep learning model and train it using the dataset to obtain the benchmark model and its corresponding minimum loss value. - min;
[0010] S3, Training of the sample generation sub-model: Reinitialize the deep learning model using the minimum loss value obtained in step S2. - min is used as the convergence reference point, and several sub-models are obtained through multiple rounds of training using the dataset;
[0011] S4, Training Set Augmentation: Expand the training set D - The pattern data X in the train is input into the sub-model to obtain the corresponding prediction results as new real data Y. The pattern data X and the new real data Y are then paired to obtain the expanded training set D. - train - new; and further, the original training set D - train and training set D - train - The new training set D is merged. - train - all;
[0012] S5, using the expanded training set D from step S4 - train - All of these methods train a deep learning model to obtain a corrected model.
[0013] Furthermore, the data acquisition and processing described in step S1 includes the following steps:
[0014] S11. Obtain the forecast data output by the atmospheric numerical model and organize it into model data X according to the order of meteorological element values, time, latitude and longitude. X=[Q,time,lat,lon], where Q represents the value of the meteorological element, time represents the time, lat represents the latitude and lon represents the longitude.
[0015] S12, acquire real-time data and organize it into an array Y0 according to the order of meteorological element values, time, latitude and longitude, Y0=[Q,time,lat,lon], where Q represents the value of the meteorological element, time represents the time, lat represents the latitude and lon represents the longitude;
[0016] S13, the actual data array Y0 is processed by interpolation to make the model results and actual data spatially match, and the actual data Y is obtained by sorting it according to the meteorological element values, time, latitude and longitude, Y=[Q,time,lat,lon];
[0017] S14, Pair the pattern data X and the actual data Y to construct a dataset D, D={X,Y};
[0018] S15, divide the first 10 / 15 time steps of dataset D into training set D. - train divides the middle 3 / 15 time steps of the dataset D into the validation set D. - val, divides the dataset D into the test set D for the last 2 / 15 time steps. - test.
[0019] Furthermore, the atmospheric numerical model includes CPSv3 and / or CFSv2; the meteorological elements include precipitation, temperature, wind speed, and air pressure.
[0020] Furthermore, the specific process of training and convergence detection of the sample generation benchmark model described in step S2 is as follows:
[0021] S21, Construct a deep learning model and define the loss function L;
[0022] S22, through training set D - `train` trains the deep learning model, saves the deep learning model for the current training round, and uses the validation set D. - val calculates the corresponding loss function value val - loss;
[0023] S23, through training set D - The deep learning model is trained through multiple rounds. In the first training round, the loss function value is directly used as the minimum loss function value. - min; in subsequent training epochs, if the loss value on the validation set is less than the current loss - min, then update the loss. - min is the new smaller value; otherwise, keep the loss. - min remains unchanged;
[0024] S24, If, in the Nth training epoch, the loss function value is less than the loss function values in the subsequent P consecutive training epochs, then save the deep learning model in the Nth training epoch as the baseline model, and use the corresponding loss function value as the minimum loss function value. - min;
[0025] If the maximum set number of training epochs is reached, then the current minimum loss function value will be set to loss. - The deep learning model corresponding to min is used as the benchmark model.
[0026] Furthermore, the deep learning model uses CNN or ResNet; the value of P is 10; and the number of training epochs is set to 50-200.
[0027] Furthermore, the specific process of step S3 is as follows:
[0028] S31, Reinitialize the deep learning model using the training set D. - train trains the deep learning model and uses the validation set D. - val calculates the corresponding loss function value val - loss;
[0029] S32, if val - loss <loss - If min*K, K∈[1.001,1.5], then save the current deep learning model and denote it as model. - {N - save},N - save=1,2,3…;
[0030] S33, continue repeating steps S31 and S32, when N - When the value of save reaches the set value R, R sub-models are obtained.
[0031] Furthermore, the specific process of step S5 is as follows:
[0032] S51, Construct a deep learning model and initialize it, defining the loss function and optimizer;
[0033] S52, using the expanded training set D from step S4 - train - All models are trained to obtain optimized correction models. - best - new.
[0034] Beneficial effects: Compared with the existing technology, the present invention uses a deep learning model to generate a sample generator, and then uses the sample generator to generate training set samples, thereby increasing the number of training set samples and avoiding overfitting caused by insufficient sample size when training the model. Attached Figure Description
[0035] Figure 1 This is a flowchart illustrating the atmospheric numerical model correction method based on sample augmentation technology described in this invention. Detailed Implementation
[0036] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit the present invention or its application or use. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative effort are within the scope of protection of the present invention. Unless otherwise specifically stated, the relative arrangement, expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the present invention. It should also be understood that, for ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn to actual scale. Techniques, methods, and devices known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and devices should be considered part of the specification. In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.
[0037] Step S1: Data Acquisition and Dataset Construction
[0038] S11. Obtain the daily cumulative precipitation forecasts for the next 30 days from atmospheric numerical models (this method can be used for multiple atmospheric numerical models, such as CPSv3, CFSv2, etc.). Precipitation element forecasts (this method can also be used for other time scales, such as daily / 6-hour / 3-hour) and precipitation elements (this method can also be used for other meteorological elements such as temperature and wind speed) are also obtained. The forecasts are then organized into an array X[Q,time,lat,lon] according to the order of time, latitude, and longitude.
[0039] S12: Obtain the 30-day cumulative precipitation data and organize it into an array Y0[Q,time,lat,lon] according to the order of time, latitude, and longitude.
[0040] S13 uses a combination of bilinear interpolation and nearest neighbor interpolation to match the actual data spatially with the model results, and organizes them into an array Y[Q,time,lat,lon] according to the order of time, latitude, and longitude.
[0041] S14, construct the dataset: (1) Pair array X and array Y to form sample pairs (X[i, :, :], Y[i, :, :]); (2) Combine all sample pairs into dataset D={ (X[i, :, :], Y[i, : , :])}, where i iterates through all time steps; (3) Divide dataset D into training set, validation set and test set, where the first 10 / 15 time steps are used as training set D.- train, with the middle 3 / 15 of the time step serving as the validation set D. - val, the last 2 / 15 of the time step is used as the test set D - test. (The ratio can be adjusted according to the actual situation.)
[0042] S2, Training of the benchmark model for sample generation
[0043] S21, Construct a deep learning model (this method can be used for multiple deep learning frameworks, such as CNN, ResNet, etc.). Initialize the deep learning model and define the loss function and optimizer.
[0044] Define loss - `min` is used to record the minimum loss value on the validation set. In the first training epoch, the loss value of the validation set is directly recorded as `loss`. - In subsequent training iterations, if the loss value on the validation set is less than the current loss... - If min, then update the loss. - min is the new smaller value; otherwise, keep the loss. - min remains unchanged.
[0045] Define N - patience is used to record the number of consecutive rounds during which the loss function on the validation set does not decrease; its initial value is 0.
[0046] Define N - `save` is used to record the save mode (model). - 1 to model - A counter of 30, initially set to 0. (Here, 30 sample generators are used; the number of sample generators can be adjusted according to actual needs.)
[0047] S22, Train the model and record the model data. - The loss corresponding to best - min. The first phase sets the number of training loops to 100 (the exact number of loops can be adjusted based on actual conditions). Each loop includes the following steps:
[0048] (1) Using D - The train performs forward propagation, calculates the loss function, backpropagates, and updates model parameters, using D. - val calculates the loss function value val - loss.
[0049] (2) If val - loss <loss - min, update loss- min=val - loss, reset N - patience = 0,
[0050] If val - loss>=loss - min, N - patience=N - patience +1, if N - If patience >= 10, terminate the first phase of training and record the loss at this point. - min.
[0051] (3) If the number of iterations reaches 100, terminate the first stage of training and record the loss at this time. - min.
[0052] S3 generates multiple sample generators for the second stage of training. Each loop includes the following steps:
[0053] (1) Using D - The train performs forward propagation, calculates the loss function, backpropagates, and updates model parameters, using D. - val calculates the loss function value val - loss;
[0054] (2) If val - loss <loss - min*K, K=1.05 (the specific coefficients can be adjusted according to the actual situation), N - save=N - `save+1` saves the current model as `model`. - {N - save} (e.g., model) - 1, model - 2, ..., model - 30);
[0055] (3) If val - loss>=loss - Continue training with min*1.05;
[0056] (4) When N - save=30, terminate the second phase of training.
[0057] S4, Increase training set samples
[0058] S41, input X[i, :, :] from the training set D-train into the saved model respectively. - 1. model - The corresponding prediction results Y1[i, :, :], Y2[i, :, :], ..., Y30[i, :, :] are obtained from model-30. This iterates through the training set D. - In train, i generates the complete set {Yk[i, :, :]}.
[0059] S42, construct new training samples by pairing X[i, :, :] from the training set D-train with the newly generated Yk[i, :, :] to form new samples (X[i, :, :], Y[i, : , :]). Combine all the newly generated samples into the new training set D. - train - new. The original training set D... - train and the newly added training set D - train - The new training set D is merged. - train - all.
[0060] S5, training deep learning models on new training sets.
[0061] S51, construct a deep learning model (this method can be used for multiple deep learning frameworks, such as CNN, ResNet, etc.), initialize the deep learning model, and define the loss function and optimizer.
[0062] Define loss - `min` is used to record the minimum loss value on the validation set. In the first training epoch, the loss value of the validation set is directly recorded as `loss`. - In subsequent training iterations, if the loss value on the validation set is less than the current loss... - If min, then update the loss. - min is the new smaller value; otherwise, keep the loss. - min remains unchanged.
[0063] Define N - patience is used to record the number of consecutive rounds during which the loss function on the validation set does not decrease; its initial value is 0.
[0064] S52, train the model and save the model. - best -New, set the number of training loops to 100 (the specific number of loops can be adjusted according to the actual situation), each loop includes the following steps:
[0065] (1) Using D - train - All operations include forward propagation, loss function calculation, backpropagation, and model parameter update, using D. - val calculates the loss function value val - loss;
[0066] (2) If val - loss <loss - min, update loss - min=val - loss, reset N - patience = 0;
[0067] If val - loss>=loss - min, N - patience=N - patience +1, if N - If patience >= 10, terminate training and record the loss at this point. - min, and save the model. - best - new;
[0068] (3) If the number of iterations reaches 100, terminate the training;
[0069] (4) The model-best-new model obtained at this time is the final new corrected model.
[0070] S6, Evaluation of Correction Effectiveness
[0071] S61, Data Source: Real-time data is compiled from daily precipitation observation data of 70 meteorological stations in Jiangsu Province from 2008 to 2023, collected by the Jiangsu Provincial Meteorological Information Center. Forecast data is backcalculated precipitation data from the CMA-CPSv3 model from 2008 to 2022. The model's horizontal resolution is 0.45°. 0.45°, time resolution is daily, forecast duration is 30 days.
[0072] S62, Evaluation Method: During the evaluation and verification process, a combination of linear interpolation and nearest neighbor interpolation is used to interpolate the actual and forecast data to a grid with a horizontal resolution of 0.25°, covering the ranges of 29.75°N to 36.25°N and 115.75°E to 122.25°E respectively. The actual and forecast data are converted from daily precipitation to 30-day cumulative precipitation, where the value on day t represents the cumulative precipitation reported from day t+1 to day t+30.
[0073] S63, Deep Learning Framework: The parameters of each module are set as shown in Table 1 below.
[0074] Table 1 CNN Correction Model Framework
[0075]
[0076] S64, Model Evaluation
[0077] The comparison focuses on the correction effects of the baseline model in step S2 and the newly corrected model in step S5 of this invention. The evaluation metric is the root mean square error (RMSE). X from D_test is input into the baseline model in step S2 to obtain Y_dz_old. X from D_test is input into the newly corrected model in S5 to obtain Y_dz_new.
[0078] Get Y from D_test.
[0079] Calculate the root mean square error RMSE_dz_old of the benchmark model on the test set.
[0080] For time=i, Y_dz_old[i] and Y[i], assuming there are m longitude grid points and n latitude grid points, the total number of spatial grid points is m X n=N. Calculate the root mean square error RMSE_dz_old[i].
[0081] The specific calculation formula is as follows:
[0082] ,
[0083] In the formula, and represents the model-predicted precipitation and the actual precipitation at the k-th grid point, respectively, and N represents the total number of grid points. RMSE_dz_old[i] reflects the difference between the model prediction and the actual precipitation; the smaller the value, the higher the prediction skill.
[0084] Calculate the average of all RMSE_dz_old[i] as the root mean square error RMSE_dz_old of the benchmark model on the test set. Assuming there are T samples, the specific formula is as follows:
[0085] ,
[0086] Calculate the root mean square error RMSE_dz_new of the newly corrected model on the test set.
[0087] For time=i, Y_dz_new[i] and Y[i], assuming there are m longitude grid points and n latitude grid points, the total number of spatial grid points is m x n = N. The specific formula for calculating the root mean square error RMSE_dz_new[i] is as follows:
[0088] ,
[0089] In the formula, and represents the model-predicted precipitation and the actual precipitation at the k-th grid point, respectively, and N represents the total number of grid points. RMSE_dz_new[i] reflects the difference between the model prediction and the actual precipitation; the smaller the value, the higher the prediction skill.
[0090] Calculate the average of all RMSE_dz_new[i] as the root mean square error RMSE_dz_new of the benchmark model on the test set. Assuming there are T samples, the specific formula is as follows:
[0091] ,
[0092] Comparing RMSE_dz_old and RMSE_dz_new, if the value of RMSE_dz_new is less than that of RMSE_dz_old, it indicates that the correction effect of the new correction model in S5 is better than that of the baseline model in S2.
[0093] S65, Evaluation Results
[0094] The uncorrected RMSE was 75.88, the corrected RMSE of the baseline model was 59.86, and the RMSE of the new corrected model trained with an increased training set was 58.78, representing a 21.1% improvement over the uncorrected model and a 1.8% improvement over the baseline model. This indicates that the new corrected model can further improve the correction performance compared to the baseline model. Furthermore, when training the baseline model with the original training set, the loss function on the validation set stopped decreasing after 3 epochs, while when training the new corrected model with the new training set, the loss function on the validation set stopped decreasing after 25 epochs. This suggests that the new training set can, to some extent, address the overfitting issue caused by insufficient data.
[0095] The above description is only a partial embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A method for atmospheric numerical model correction based on sample-increasing technique, characterized in that Comprising the following steps: S1, data matching and processing: Obtain live data Y, Y = [Q, time, lat, Ion] and model data X output by an atmospheric numerical model, X = [Q, time, lat, Ion], Q represents the numerical value of a meteorological element, time represents time, lat represents latitude, and Ion represents longitude; and the live data is processed by an interpolation method to match the model data in space, the live data and the model data are paired to construct a dataset D, and the dataset D is divided into a training set D - train, a validation set D - val, and a test set D - test, complete the dataset construction; S2, training of a sample generation benchmark model: a deep learning model is constructed, and a benchmark model and a corresponding minimum loss value loss are obtained by training through a data set - min; S3, training of the sample generation sub-model: re-initialize the deep learning model to the minimum loss value loss obtained in step S2 - min as a convergence reference point, a plurality of sub-models are obtained through multiple rounds of training on the data set; S4, training set expansion: the training set D - train is expanded by inputting the pattern data X in the training set D - train into the sub-models respectively, obtaining the corresponding prediction results as new live data Y, and pairing the pattern data X and the new live data Y to obtain the expanded training set D - train - train - train - new; and further merging the original training set D - train - all S5, using the training set D extended in step S4 - train-all trains the deep learning model to obtain a new revised model; The specific process of training the sample generation reference model in step S2 is as follows: S21, construct a deep learning model, and define a loss function and an optimizer; S22, training set D - train trains the deep learning model, saves the deep learning model of the current training round, and calculates the corresponding loss function value val through the validation set D - val calculates the corresponding loss function value val - loss; S23, by training set D - train the deep learning model through multiple rounds of training, in the first training round, directly take the loss function value as the minimum loss function value loss - min; in subsequent training rounds, if the loss value of the validation set is less than the current loss - min, update loss - min is a new smaller value; otherwise, keep loss - min unchanged; S24, if the loss function values of the Nth training round are all less than the loss function values in the P consecutive training rounds thereafter, the deep learning model of the Nth training round is saved as a benchmark model, and the corresponding loss function value is saved as the minimum loss function value loss - min; If the training round reaches the maximum set number of times, the current minimum loss function value loss - min corresponding to the deep learning model is taken as the benchmark model; The specific process of step S3 is as follows: S31, re-initializing the deep learning model by the training set D - train training the deep learning model and passing the validation set D - val calculating the corresponding loss function value val - loss; S32, if val - loss < loss - min*K, K∈[1.001,1.5], save the current deep learning model and mark it as model - {N - save}, N - save=1,2,3…; S33, continue repeating steps S31 and S32 when N - When the value of save reaches a set value R, R sub-models are obtained.
2. The method of claim 1, wherein the method is based on the sample- increasing technique. The data acquisition and processing in step S1 includes the following steps, S11, obtain the prediction data output by the atmospheric numerical model, and arrange it into a model data X according to the order of meteorological element value, time, latitude and longitude, X=[Q, time, lat, lon], Q represents the value of meteorological element, time represents time, lat represents latitude, and lon represents longitude; S12, obtain the real-time data, and arrange it into an array Y0 according to the order of meteorological element value, time, latitude and longitude, Y0=[Q, time, lat, lon], Q represents the value of meteorological element, time represents time, lat represents latitude, and lon represents longitude; S13, process the real-time data array Y0 by interpolation method, so that the model result and the real-time data are matched in space, and arrange to obtain the real-time data Y according to the order of meteorological element value, time, latitude and longitude, Y=[Q, time, lat, lon]; S14, pair the model data X and the real-time data Y, and construct a data set D, D={X, Y}; S15, divide the first 10 / 15 time steps of dataset D into training set D - train, divide the middle 3 / 15 time steps of dataset D into validation set D - val, divide the last 2 / 15 time steps of dataset D into test set D - test.
3. The method of claim 1, wherein the method is based on a sample- increasing technique. The atmospheric numerical model includes CPSv3 and / or CFSv2; the meteorological elements include precipitation, temperature, wind speed and air pressure.
4. The method of claim 1, wherein the method is based on the sample-increasing technique. The deep learning model uses CNN or Resnet; the value of P is 10; the number of training rounds is set to 50-200.
5. The method of claim 1, wherein the method is based on the sample-increasing technique. The specific process of step S5 is as follows: S51, construct a deep learning model, and initialize the deep learning model, define a loss function and an optimizer; S52, using the training set D augmented by step S4 - train - all to train the model to obtain the optimized revised model model-best-new.
Citation Information
Patent Citations
Medical image intelligent diagnosis method based on multi-network integration
CN112466461A
Air quality mode forecasting machine learning integration correction method
CN116702926A