Application of GWO-ELM Model to Prediction of Caojiatuo Landslide Displacement in the Three Gorge Reservoir Area
Round 1
Reviewer 1 Report
The paper is very interesting by proposing a forecasting model for landslide triggering and early warning.
Perhaps, it would have been better to insert a premise on the topic with more bibliographical references to define the state of the art.
It is not clear whether the authors also considered the incidence of extreme rain events in the model or whether they intend to implement it in the future.
Considering that the landslide does not intersect strategic or particular anthropic structures, the control and monitoring of this landslide or other landslides, placed along the sides of a reservoir o the main river connected, could also be useful to calculate the contribution that landslides give to the overall progressive filling of the dam over time, compared to the normal erosive activity of the Yangtze river.
Perhaps this would increase the originality of the work and its scientific interest.
Author Response
Reviewer 1:
The paper is very interesting by proposing a forecasting model for landslide triggering and early warning.
1-Perhaps, it would have been better to insert a premise on the topic with more bibliographical references to define the state of the art.
2-It is not clear whether the authors also considered the incidence of extreme rain events in the model or whether they intend to implement it in the future.
3-Considering that the landslide does not intersect strategic or particular anthropic structures, the control and monitoring of this landslide or other landslides, placed along the sides of a reservoir o the main river connected, could also be useful to calculate the contribution that landslides give to the overall progressive filling of the dam over time, compared to the normal erosive activity of the Yangtze river.
Perhaps this would increase the originality of the work and its scientific interest.
Author's Reply to the Review Report (Reviewer 1)
- Thank you for your valuable comments, we have revised your comments.
On lines 38-40: The three Gorges reservoir area in China is prone to landslides due to the special complicated natural geological conditions and heavy rainfall every year[2,3].
2 ZHOU W, SHI X, LU X, et al. The mechanical and microstructural properties of refuse mudstone-GGBS-red mud based geopolymer composites made with sandJ. Construction and Building Materials, 2020, 253.
3 LI C, FU Z, WANG Y, et al. Susceptibility of reservoir-induced landslides and strategies for increasing the slope stability in the Three Gorges Reservoir Area: Zigui Basin as an exampleJ. Engineering Geology, 2019, 261.
On lines 46-51: . Researchers around the world have yet to fully explore and reveal the underlying mechanism. It is generally believed that the internal factors include gravity stress, pore fluid pressure, stratigraphic lithology and other physical properties of landslides, while the external trigger factors include earthquake, fluctuation of reservoir water level and human activities, etc. External factors break the original stress balance and eventually lead to landslides[6,7].
6 CARLA T, MACCIOTTA R, HENDRY M, et al. Displacement of a landslide retaining wall and application of an enhanced failure forecasting approachJ. Landslides, 2018, 15(3):489-505.
7 SHINODA M, MIYATA Y, KUROKAWA U, et al. Regional landslide susceptibility following the 2016 Kumamoto earthquake using back-calculated geomaterial strength parametersJ. Landslides, 2019, 16(8):1497-1516.
On lines 55-59: Compared with the traditional physical prediction model[8] based on formula or professional software[9], the landslide prediction model combined with machine method has simple principle, controllable precision and strong adaptability[10].
8 GUO F, LUO Z, LI H, et al. Self-organized criticality of significant fording landslides in Three Gorges Reservoir area, ChinaJ. Environmental Earth Sciences, 2016, 75(7).
9 BAO Y, HAN X, CHEN J, et al. Numerical assessment of failure potential of a large mine waste dump in Panzhihua City, ChinaJ. Engineering Geology, 2019, 253:171-183.
10 ZHOU C, YIN K, CAO Y, et al. Displacement prediction of step-like landslide by applying a novel kernel extreme learning machine methodJ. Landslides, 2018, 15(11):2211-2225.
On lines 60-71:The machine learning has been explored as a powerful method to predict displacement and has achieved good results. Du[15] decomposed the cumulative displacement into trend component and periodic component, and used the back propagation neural network (BPNN) to predict the periodic displacement. Polykretis[16] and Lian[17] applied artificial neural network (ANN) to landslide displacement prediction. Pradhan[18] conducted a comparative study using support vector machines (SVM) and neuro-fuzzy models to test their performance in predicting displacement. Chousianitis[19] used Newmark model to construct a mapping between geological parameters and earthquake-induced landslide. Li[20] employed continuous wavelet analysis to decompose the time-series precipitation, reservoir water level, and displacement into seasonal and residual components, and utilizes the exponentially weighted moving average (EWMA) control chart to derive the boundaries as alarm conditions of seasonal faster displacement.
15 DU J, YIN K, LACASSE S. Displacement prediction in colluvial landslides, Three Gorges Reservoir, ChinaJ. Landslides, 2012, 10(2):203-218.
16 POLYKRETIS C, FERENTINOU M, CHALKIAS C. A comparative study of landslide susceptibility mapping using landslide susceptibility index and artificial neural networks in the Krios River and Krathis River catchments (northern Peloponnesus, Greece)J. Bulletin of Engineering Geology and the Environment, 2014, 74(1):27-45.
17 LIAN C, ZENG Z, YAO W, et al. Multiple neural networks switched prediction for landslide displacementJ. Engineering Geology, 2015, 186:91-99.
18 PRADHAN B. A comparative study on the predictive ability of the decision tree, support vector machine and neuro-fuzzy models in landslide susceptibility mapping using GISJ. Computers & Geosciences, 2013, 51:350-365.
19 CHOUSIANITIS K, DEL GAUDIO V, KALOGERAS I, et al. Predictive model of Arias intensity and Newmark displacement for regional scale evaluation of earthquake-induced landslide hazard in GreeceJ. Soil Dynamics and Earthquake Engineering, 2014, 65:11-29.
20 LI H, XU Q, HE Y, et al. Modeling and predicting reservoir landslide displacement with deep belief network and EWMA control charts: a case study in Three Gorges ReservoirJ. Landslides, 2019, 17(3):693-707.
- When we were monitoring the landslide displacement, the current data is to monitor the cumulative displacement of the landslide once a month, so corresponding to the cumulative displacement of each month, from the perspective of rainfall, we only considered the monthly rainfall amount or two months of cumulative rainfall amount. If our displacement monitoring data can be as a unit of a day to count accurately enough, we will also consider the extreme rainfall. Of course, extreme rainfall is also very necessary for prediction, and indeed has a great impact on landslide displacement. We will consider this case in the future when we can monitor the data more accurately.
- Thank you for your valuable comments.
Author Response File: Author Response.pdf
Reviewer 2 Report
The paper is well organized and well written. Though, I have some concerns. Thus:
1) The main goal of the paper is to describe the application and the results provided by the application of GWO-ELM to predict the landslide displacement! Please provide several reason for which you consider that the aim of the paper is within the topic of the Water journal.
2) Please clear state in your paper which are the main elements of novelty.
3) How did you established the number of hidden neurons? Did you used a trial and error procedure?
4) What the readership of this journal would be interested in is to how to properly apply such algorithms? How to fine-tune such algorithms to predict landslide displacement?
5) The authors are encouraged to:
a. Provide clear description of the architecture of their algorithms, software used, adopted convergence criteria etc.
b. If the above deemed impractical, perhaps the authors would consider providing a prediction tool or attaching the most accurate code/algorithm into the appendix.
Author Response
Author's Reply to the Review Report (Reviewer 2)
The paper is well organized and well written. Though, I have some concerns. Thus:
1) The main goal of the paper is to describe the application and the results provided by the application of GWO-ELM to predict the landslide displacement! Please provide several reason for which you consider that the aim of the paper is within the topic of the Water journal.
Caojiatuo landslide is located in the Three Gorges Reservoir area. The completion of the Three Gorges Dam has caused the water level of the Three Gorges Reservoir to rise from the initial 135m to 175m. The rise of the reservoir water level has a great impact on the local ecological environment. With the seasonal changes, the water level of the Three Gorges Reservoir area also shows periodic changes. Due to the periodic changes in the reservoir water level and the changes in the groundwater level caused the dynamic water pressure, which has a greater impact on the reservoir bank slope, plus the periodic changes of rainfall in the reservoir area, rainfall infiltration, supplement the slope body's groundwater. Thus the change of groundwater pressure also has an impact on the stability of the slope body. When the displacement of the landslide body increases and is in an instability state, the slope body will be destroyed, which will have a great impact on the local ecological environment and people's production and life.
In this paper, through the application of GWO-ELM, the displacement of landslide body is predicted, which combined with the change of water level in the local reservoir area and the impact of rainfall. Prevent and control the impact of ecological environment in the region due to landslides, and reduce the loss of residents' lives and property.
2) Please clear state in your paper which are the main elements of novelty.
On lines 95-97:In this paper, the GWO is innovatively introduced into the ELM, and a landslide displacement prediction model based on GWO-ELM is proposed to predict the periodic displacement.
- How did you established the number of hidden neurons? Did you used a trial and error procedure?
The trial algorithm is used to determine the number of hidden neurons, and the activation function is unchanged. The same training data is used, with the mean square error as the standard. Respectively, the number of hidden neurons is 1-20 or more, and it is programmed in a circular way. Select the number of hidden layer neurons when mse is the minimum as the set hidden number.
- What the readership of this journal would be interested in is to how to properly apply such algorithms? How to fine-tune such algorithms to predict landslide displacement?
This is to explore the impact of reservoir water level changes and rainfall changes on reservoir bank slope displacement from the perspective of artificial intelligence. Through detailed introductions such as algorithms, which can help readers learn and have a good reference from this research method when doing research in this area.
Even though ELM has the disadvantages such as gradient descent and too fast method, the weight values of its input layer and hidden layer are randomly generated, which easily affects the performance of the algorithm. Similarly, the mean square error is used as the target function, particle swarm optimization and grey wolf algorithm are selected to determine the weight values of input layer and hidden layer, which has achieved the purpose of improving algorithm performance.
5) The authors are encouraged to:
- Provide clear description of the architecture of their algorithms, software used, adopted convergence criteria etc.
- If the above deemed impractical, perhaps the authors would consider providing a prediction tool or attaching the most accurate code/algorithm into the appendix.
Using software Matlab, the convergence criterion adopted is to obtain the minimum target mean square error, or the number of iterations reaches the maximum number of iterations.
The architecture of their algorithms:
function [TrainingTime, TestingTime, TrainingAccuracy, TestingAccuracy] = ELM(TrainingData_File, TestingData_File, Elm_Type, NumberofHiddenNeurons, ActivationFunction)
%% ELM Algorithm program
%Method of calling: [TrainingTime, TestingTime, TrainingAccuracy, TestingAccuracy] = elm(TrainingData_File, TestingData_File, Elm_Type, NumberofHiddenNeurons, ActivationFunction)
%
% Input:
% TrainingData_File - Training dataset file name
% TestingData_File -Test training set file name
% Elm_Type - Task type: Regression task at 0, classification task at 1
% NumberofHiddenNeurons - Number of hidden layer neurons of ELM
% ActivationFunction - Activation function type:
% 'sig' , Sigmoidal
% 'sin', Sine
% 'hardlim', Hardlim
% 'tribas', Triangular basis
% 'radbas' , Radial basis
% Output:
% TrainingTime -Elapsed time for ELM training (seconds)
% TestingTime -Time spent on test data (seconds)
% TrainingAccuracy - Training accuracy rate (Regression task is RMSE, classification task is classification accuracy rate)
% TestingAccuracy - Testing accuracy rate (Regression task is RMSE, classification task is classification accuracy rate)
%
%Call example (regression): [TrainingTime, TestingTime, TrainingAccuracy, TestingAccuracy] = ELM('sinc_train', 'sinc_test', 0, 20, 'sig')
%Call example (classification): [TrainingTime, TestingTime, TrainingAccuracy, TestingAccuracy] = ELM('diabetes_train', 'diabetes_test', 1, 20, 'sig')
%% Data preprocessing
% Define the task type
REGRESSION=0;
CLASSIFIER=1;
% Loading the training data set
train_data=load(TrainingData_File);
T=train_data(:,1)'; %The first column: Expected output of classification or regression
P=train_data(:,2:size(train_data,2))';%The second column to the last column: The attributes of different data
clear train_data; %Clear intermediate variables
%Loading the test data set
test_data=load(TestingData_File);
TV.T=test_data(:,1)'; %The first column: Expected output of classification or regression
TV.P=test_data(:,2:size(test_data,2))';%The second column to the last column: The attributes of different data
clear test_data; %Clear intermediate variables
% 获取训练、测试数据情况Obtain training and test data
NumberofTrainingData=size(P,2); %Number of classified objects in training data
NumberofTestingData=size(TV.P,2); %Number of classified objects in test data
NumberofInputNeurons=size(P,1); %The number of input of neural network and the number of attributes of training data
%%Data encoding when classifying tasks
if Elm_Type~=REGRESSION
% Classification task data preprocessing
sorted_target=sort(cat(2,T,TV.T),2);%Merge the expected output of the training data and the test data into one line and sort them from smallest to largest
label=zeros(1,1); %Find and save in 'label' class label from training and testing data sets
label(1,1)=sorted_target(1,1); %Save the first label
j=1;
%Traverse all data set labels (expected output) to get the number of data set classifications
for i = 2:(NumberofTrainingData+NumberofTestingData)
if sorted_target(1,i) ~= label(1,j)
j=j+1;
label(1,j) = sorted_target(1,i);
end
end
number_class=j; %There is a total of several types of statistical data sets (training data and test data)
NumberofOutputNeurons=number_class;%There are several classes, and neural networks have several outputs
%Predefined expected output matrix
temp_T=zeros(NumberofOutputNeurons, NumberofTrainingData);
% num_class*Number of Traing Data terate over the tags of all the training data, expanding to a matrix of num_class*NumberofTraingData
for i = 1:NumberofTrainingData
for j = 1:number_class
if label(1,j) == T(1,i)
break;
end
end
temp_T(j,i)=1; %A matrix where rows are categories, columns are objects, if the object is in this class, set to 1
end
T=temp_T*2-1; %T is the expected output matrix for processing. The real class (row) position of each object (column) is 1, and the rest is -1
%num_class*NumberofTestingData Iterate over the tags of all the test data, expanding to a matrix of num_class*NumberofTraingData
temp_TV_T=zeros(NumberofOutputNeurons, NumberofTestingData);
for i = 1:NumberofTestingData
for j = 1:number_class
if label(1,j) == TV.T(1,i)
break;
end
end
temp_TV_T(j,i)=1; %Expect the output to represent a matrix, rows are categories, columns are objects, and set to 1 if the object is in this class
end
TV.T=temp_TV_T*2-1; % T is the expected output matrix for processing. The real class (row) position of each object (column) is 1, and the rest is -1
end % Elm_Type
%%Calculate the output H of the hidden layer
start_time_train=cputime; %Training starts timing
%(Randomly generate input weights) InputWeight (w_i) (Hidden layer deviation) biases BiasofHiddenNeurons (b_i)
InputWeight=rand(NumberofHiddenNeurons,NumberofInputNeurons)*2-1; %The weight of the input node is between [-1,1]
BiasofHiddenNeurons=rand(NumberofHiddenNeurons,1); %The connection is biased between [0,1]
tempH=InputWeight*P; %Different objects of attributes * weights
clear P; %Release the space
ind=ones(1,NumberofTrainingData); % Number of classified objects in training set
BiasMatrix=BiasofHiddenNeurons(:,ind);%The size of extended BiasMatrix matrix matches H
tempH=tempH+BiasMatrix; %Plus the final hidden layer input of the deviation
% Calculate the hidden layer output matrix
switch lower(ActivationFunction) %Select the activation function, Lower is to unify letters to lowercase
case {'sig','sigmoid'}
H = 1 ./ (1 + exp(-tempH));% Sigmoid
case {'sin','sine'}
H = sin(tempH); % Sine
case {'hardlim'}
H = double(hardlim(tempH));% Hardlim
case {'tribas'}
H = tribas(tempH); % Triangular basis
case {'radbas'}
H = radbas(tempH); % Radial basis
%More activation functions can be added here
end
clear tempH;% Release variables that are no longer needed
%% (Calculate output weight) OutputWeight (beta_i)
OutputWeight=pinv(H') * T'; %For applications without regularization factors, refer to papers in the 2006 Neurocomputing journal
% OutputWeight=inv(eye(size(H,1))/C+H * H') * H * T'; %faster method 1, refer to 2012 IEEE TSMC-B paper
% OutputWeight=(eye(size(H,1))/C+H * H') \ H * T'; %faster method 2, refer to 2012 IEEE TSMC-B paper
end_time_train=cputime;
TrainingTime=end_time_train-start_time_train; %Calculate the CPU time spent training ELM
%Calculation output
Y=(H' * OutputWeight)'; %Y is the training data output (column vector)
if Elm_Type == REGRESSION
TrainingAccuracy=sqrt(mse(T - Y)); %Regression problem calculation mean square error root
end
clear H;
%%Calculate the output of test data (predicted label)
start_time_test=cputime; %The test timekeeping
tempH_test=InputWeight*TV.P;% Input to the test
clear TV.P;
ind=ones(1,NumberofTestingData);
BiasMatrix=BiasofHiddenNeurons(:,ind); %The size of extended BiasMatrix matrix matches H
tempH_test=tempH_test + BiasMatrix;% Plus the final hidden layer input of the deviation
switch lower(ActivationFunction)
case {'sig','sigmoid'}% Sigmoid
H_test = 1 ./ (1 + exp(-tempH_test));
case {'sin','sine'} % Sine
H_test = sin(tempH_test);
case {'hardlim'} % Hardlim
H_test = hardlim(tempH_test);
case {'tribas'} % Triangular basis
H_test = tribas(tempH_test);
case {'radbas'} % Radial basis
H_test = radbas(tempH_test);
%More activation functions can be added here
end
TY=(H_test' * OutputWeight)'; %TY: The output of test data
end_time_test=cputime;
TestingTime=end_time_test-start_time_test; %CPU time spent calculating ELM test set
%%Accuracy rate of calculation
if Elm_Type == REGRESSION
TestingAccuracy=sqrt(mse(TV.T - TY)); %Regression problem calculation mean square error root
end
%If it is a classification problem, calculate the classification accuracy rate
if Elm_Type == CLASSIFIER
MissClassificationRate_Training=0;
MissClassificationRate_Testing=0;
%Calculate the classification accuracy rate on the training set
for i = 1 : size(T, 2)
[x, label_index_expected]=max(T(:,i));
[x, label_index_actual]=max(Y(:,i));
if label_index_actual~=label_index_expected
MissClassificationRate_Training=MissClassificationRate_Training+1;
end
end
%Calculate the classification accuracy rate on the test set
TrainingAccuracy=1-MissClassificationRate_Training/size(T,2); %Training set classification correct rate
for i = 1 : size(TV.T, 2)
[x, label_index_expected]=max(TV.T(:,i));
[x, label_index_actual]=max(TY(:,i));
if label_index_actual~=label_index_expected
MissClassificationRate_Testing=MissClassificationRate_Testing+1;
end
end
TestingAccuracy=1-MissClassificationRate_Testing/size(TV.T,2); %Test set classification correct rate
end
Author Response File: Author Response.pdf
Round 2
Reviewer 2 Report
Dear Authors,
Thank you for your replies to my comments! I consider that the paper can be accepted in the present form!
Best regards,
Dr. Romulus Costache