Hybrid neural network model for crop water estimation algorithm
| Algorithm | |
|---|---|
| Data source: https://desagri.gov.in/document-report-category/agriculture-statistics-at-a-glance/ Region of study: India Duration: 1950–2023 Time series length: 74 entries Input Historical crop yield data: X_train historical error data: y_train Test crop yield data: X_test Crop yield data for a specific region: X_new Range of hidden neuron count: neuron_range Range of feedback delay: delay_range Set of training algorithms: alg_set Output Predicted crop yield for the test set: y_pred Estimated CWR for the specific region: cwr_est | Step 3: Error forecasting using GRNN
For each crop yield dataset in the test set
|
Step 1: Data Preprocessing
| |
| Algorithm | |
|---|---|
| Data source: | historical error data = actual crop yield – predicted crop yield error_train = y_train - e_nn.predict(X_train) train a GRNN model using historical error data for error forecasting: grnn(error_train) y_pred = e_nn.predict(X_test) use the GRNN model to forecast the expected error in the E-NLAR neural network prediction error_pred = grnn.predict(y_pred) final predicted crop yield y_pred = y_pred + error_pred evaluate the performance of the hybrid ensemble neural network model Analyze the effect of different hyperparameters on the performance of the proposed hybrid ensemble neural network and optimize them to improve the model's accuracy use the trained model to predict the crop yield for a particular crop in each region based on the historical crop yield data: y_pred = e_nn.predict(X_new) estimate the crop water requirement based on the predicted crop yield. cwr_est = f (y_pred), |
Normalize the crop yield data to a common scale if needed Divide the dataset into training, validation, and test sets Initialize an empty list to store the trained TA-NLAR neural networks: nn_list Initialize an empty list to store the RMSE of each TA-NLAR neural network on the validation set: rmse_list for each neuron_count in neuron_range: for each delay in delay_range: Train a TA-NLAR neural network using alg, neuron_count, and delay on the training set: nn Evaluate the performance of the “nn” on the validation set using RMSE: rmse nn_list = Append(nn,nn_list) rmse_list = Append (RMSE (nn_list), rmse_list) Select E-NLARNN model: e_nn = nn_list[argmin(rmse_list)] Train a new E-NLARNN model on the combination of the training and validation sets: e_nn.fit(concat(X_train, X_val)) | |
Sharing content requires targeting cookies to be enabled. Please update your cookie preferences to use this feature.