A Tidal Level Prediction Approach Based on BP Neural Network and Cubic B-Spline Curve with Knot Insertion Algorithm

Tide levels depend on both long-term astronomical effects that aremainly affected bymoon and sun and short-termmeteorological effects generated by severe weather conditions like storm surge. Storm surge caused by typhoons will impose serious security risks and threats on the coastal residents’ safety in production, property, and life. Due to the challenges of nonperiodic and incontinuous tidal level record data and the influence of multimeteorological factors, the existing methods cannot predict the tide levels affected by typhoons precisely.This paper targets to explore amore advancedmethod for forecasting the tide levels of storm surge caused by typhoons. First, on the basis of successive five-year tide level and typhoon data at Luchaogang, China, a BP neural network model is developed using six parameters of typhoons as input parameters and the relevant tide level data as output parameters. Then, for an improved forecasting accuracy, cubic B-spline curve with knot insertion algorithm is combined with the BP model to conduct smooth processing of the predicted points and thus the smoothed prediction curve of tidal level has been obtained. By using the data of the fifth year as the testing sample, the predicted results by the two methods are compared. The experimental results have shown that the latter approach has higher accuracy in forecasting tidal level of storm surge caused by typhoons, and the combined prediction approach provides a powerful tool for defending and reducing storm surge disaster.


Introduction
The phenomenon of local sea-level turbulence or nonperiodical abnormal sea-level rise or decline due to strong winds and fast pressure changes caused by tropical cyclones, extratropical cyclones, and coastal squall lines is referred to as storm surge [1].Storm surge is a severe natural disaster which will lead to abnormal rise of sea level in a short period of time.Located in the estuary of the Yangtze River, with the East China Sea to the east, Shanghai is frequently attached by typhoons.Storm surge caused by typhoons will impose serious security risks and threats on the coastal residents' safety in production, property, and life.
At present, there exist some methods for predicting tidal levels, such as time series analysis, finite difference method, harmonic analysis, probability, and statistics, and so forth.However, both time series analysis and harmonic analysis put too much emphasis on the periodicity of the data; the algorithm of finite difference method for solving nonlinear problems is too complex; probability and statistics cannot solve the issue of data continuity [2][3][4][5][6].In order to overcome the challenges of nonperiodic and incontinuous tidal level record data, and the influence of multifactors, the neural network method has first been applied by many researchers to predict periodic tidal levels depending on long-term astronomical effects that are mainly affected by moon and sun [7][8][9][10][11][12][13][14][15]; then it has also been employed to predict tidal levels with short-term meteorological effects generated by severe weather conditions like storm surge [16][17][18][19][20][21].
Latest research has tried to improve the prediction accuracy by employing a mixed approach or improved algorithm.For example, Supharatid [22] optimized the neural networkbased tidal level predicting model with the Levenberg-Marquardt algorithm and found that the dry period had stronger influences on tide levels than the flood period.Further, through comparison between harmonic analysis method, BP neural network method, and BP neural network method based on self-adapting particle swarm optimization algorithm, Zhang et al. [23] have revealed that the conventional harmonic method performs with the lowest accuracy in predicting tidal level with meteorological effects.French et al. [24] combined ANN with computational hydrodynamics for predicting short-term tidal levels at estuarine ports and they have found that the ANN-hydrodynamic model can generate realistic flood extents that can inform port resilience planning.Moreover, Rahman et al. [25] proposed a satisfactory vertically integrated shallow model for computing water levels due to the nonlinear interaction of tide and surge associated with some storms that hit the coast of Bangladesh.In order to select data samples with most representing ability and construct appropriate sampling pool, Yin and Wang [26] combined conventional harmonic analysis with the online sequential extreme learning machine based on improved Gath-Geva fuzzy segmentation algorithm, and their simulation results demonstrated the feasibility and effectiveness of the combined method for dynamic tidal level prediction.Further, El-Diasty et al. [27] developed a hybrid harmonic analysis and wavelet network (HA-and-WN) model for accurate sea-level prediction and their validation experiments have revealed that the overall performance of the hybrid HA-and-WN model is superior to the HA-only model by 85% and outperforms the WNonly model by about 20% based on the overall root mean square.
Although numerous techniques have been employed to forecast tide levels, there exist large forecasting errors no less than 11 cm [28][29][30].In order to achieve an improved forecast accuracy and adapt to severe weather caused by meteorological components, this paper will explore an effective and feasible model for predicting tidal level of storm surge caused by typhoons.On the basis of observation data of long-term tidal levels and typhoons, this study first attempts to develop a BP neural network-based model for predicting tide level.In the early published work of [20], in order to select a most accurate tidal level prediction approach, we compared three methods, linear regression, BP neural network, and RBF neural network using the same testing data and the experimental results have demonstrated that BP model outweighs the other two approaches in forecasting the tidal level of storm surge caused by typhoons.
However, the tide levels predicted by BP model are isolated points.Due to the fact that tidal level changes gradually not suddenly, there is probability that the highest tidal level appears between two predicted points.Therefore, the second step of this study is to optimize the BP prediction model using cubic B-spline curve with knot insertion algorithm (KIA) [31,32], BP-KIA model for short, which will conduct curve simulation and smooth processing of the forecasted data points, thus to accurately predict the highest tide level and its time of occurrence.The proposed BP model and its optimized BP-KIA model are tested with the same historic tidal level data of Luchaogang, China.
This paper is organized in the following way.In the second section, the main methods are introduced.In Section 3, the details of experiments are delineated.Section 4 presents the major experimental results and related discussion.Section 5 provides a conclusion of this paper.

BP Neural Network.
ANN is an intelligent system that can simulate the information processing functions of biological neural networks by interconnecting many simple neurons.
ANN is an adaptive nonlinear dynamic system which is mutually connected by a large amount of neurons.BP neural network is the most prevalent and effective learning model of ANN.Compared with other conventional models, BP neural network has better durability and timely predictability.BP uses the gradient descent method to correct the weights of the interconnective neurons and it can easily handle the interaction of processing elements by adding hidden layers.
In the learning process of BP, the interconnection weights are adjusted using an error convergence technique to obtain a desired output for a given input.A typical BP neural network is composed by three layers: input layer, hidden layer, and output layer.Theoretically, it can approach a continuous function with any precision.A classical three-layer BP network model is shown in Figure 1.
is the input layer nodes,  is the hidden layer nodes,  is the output layer nodes,  is called input-hidden layer link weight, and  is called hidden-output layer link weight.
Then the output value of hidden layer is expressed as follows: where   is the threshold of the hidden layer nodes and (.) is a nonlinear transfer function.The Sigmoid function: () = 1/(1 +  − ) is commonly adopted as the nonlinear transfer function.
Thus, the actual outputs of BP network can be obtained: where   is the threshold of the output layer nodes.
According to the actual output  and the desired network outputs , the network error  can be obtained through the following: If the number of learning sample is , the global error  is defined as If  is less than allowed error , the learning process terminates; otherwise, there is a need to calculate the output deviation of each layer to conduct error back propagation in order to modify the values of weights and thresholds of BP neural network.Repeat this process until the global error  reaches the allowed error , then record all weight values and threshold values, the network training terminates.The prediction values can be obtained if inputting the samples data at this moment.

Cubic B-Spline
Curve Based on KIA.The derivation process of cubic B-spline curve based on KIA is depicted as follows.
The curve segment  −  + 1 of K-degree B-spline curve in definition domain  ∈ [  ,  +1 ] takes the following form: K-degree B-spline curve () is a continuous spline curve composed of multi-segment polynomial in the definition domain.Therefore, conduct simple parameter transformation:  = () =   + , and set  =  −  which represents the curve , then the equation of K-degree B-spline curve is transformed as follows: where 0 ≤  ≤ 1,  = 0, 1, . . .,  − .
In terms of cubic B-spline curve, it is inferred from (6) that cubic B-spline curve is composed of n-2 curve segments, the first curve segment takes the following form: Equation ( 7) can be converted into the following form: Divide the interval [0, 1] into  segments equally, set   = / ( = 0, 1, . . ., ), and (  ) represents the unknown points of the curve segments after inserting nodes.

The Proposed Tidal Level Prediction Model.
Based on aforementioned theories, the proposed tidal level prediction model, based on BP neural network and cubic B-spline curve with KIA, BP-KIA model is derived.First, the preliminary predicted data are drawn from BP model, then insert nodes using knot insertion algorithm, and finally the smoothed tidal level prediction curve is gained.The proposed BP-KIA tidal level prediction model is depicted in Figure 2.
1, 2, 3, 4, 5, and 6 represent the latitude and longitude of the typhoon, distance from the observation point to the typhoon, strength of the typhoon, pressure of the typhoon, and speed of the typhoon.The parameters of 1, 2, 3 . .., 24 represent the predicted tidal levels from today's midday 12 until midday 12 the next day.

Experimental Procedures.
In order to develop a tidal level prediction model for Luchaogang, the first step is to normalize the six parameters of typhoon.Next, the normalized data are taken as the inputs of the BP model.After training of the BP model is completed, the predicted tide levels in 24 hours from today's midday 12 until midday 12 the next day are acquired.Then, cubic B-spline curve with KIA is employed to conduct smooth processing of the predicted data in 24 hours.Finally, the tidal level prediction curve is obtained.The detailed experimental procedures are illustrated in Figure 3.  normalization, there is no need for complex calculation of unit conversion.Normalization is a method of turning the absolute value of real data into relative value, which is an effective means to simplify computing and reduce value.Linear function transformation is used in this paper to normalize the parameters of typhoon, which is expressed as follows: where  are the parameters of typhoon.In order to make the input parameters of typhoon between [−1, 1], based on the requirements of data normalization,   and   are defined as follows:

Design of BP Neural Network.
In the proposed BP model, some of the training parameters are set with the Matlab neural network toolbox-MatlabR2014a.For MatlabR2014a, the default transformation function is Sigmoid.After a series of test, it is found that when the number of neurons in the hidden layer is more than 40, the model has better convergence, with a relatively small MSE.Therefore, the number of nodes in the hidden layer is set as 50.The conjugate gradient method is selected as the training function due to its advantages of avoiding slow convergence and computational complexity.In addition, the learning rate is 0.05; the number of training iterations is 1000.The six normalized parameters of typhoons, latitude, longitude, distance, strength, pressure, and speed, from 2008 to 2011 are used as the input parameters, and the corresponding tidal level data are used as the output parameters.A BP neural network model is obtained by training, as shown in Figure 4.

The BP-KIA Tidal Level Prediction Model.
The tide levels predicted by BP neural network model are isolated points.However, the changes of actual tide levels are gradual not sudden.Due to the limitation of observed sample data, there is probability that the highest tidal level occurs between two predicted points.Therefore, this study employs KIA-based cubic B-spline curve to optimize the proposed BP prediction model and conduct smooth processing of the predicted points.Thus the smoothed curve can predict continuous changes of tide levels and the peak of tidal level sequence.Through running the code of cubic B-spline curve based on KIA in MatlabR2014a, the tidal level data predicted by BP model are conducted with smooth processing and the tidal level curve within 24 hours can be obtained as shown in Figure 5.In Figure 5, the broken line comprised by discrete points is the results predicted by BP model, and the curve is the results predicted by the BP-KIA model.The x-axis represents 24 hours from today's midday 12 until midday 12  the next day, while the y-axis represents the height of tide level in the measurement unit of meters.

Analysis of Predicted Highest Tide Levels.
The highest predicted tide level is the maximum value of predicted tide levels in 24 hours.All predicted tide levels in one day can be obtained through curve simulation and smoothing.In order to compare the prediction accuracy between BP model and BP-KIA prediction model, we extracted the highest tidal level data in given dates in 2012 from the documents provided by Pudong Hydrological Bureau.Then four typhoons, Damrey, Haikui, Tembin, and Sanba, were, respectively, adopted as testing cases to inspect applicability of the proposed prediction models.Those four typhoons have different impacts on Shanghai's tide levels (see Table 1 for details).Subsequently, the prediction models were employed to predict tide levels in selected dates.Table 2  Data in Table 2 were divided into two groups for further analysis.One group was real tide levels and tide levels predicted by BP model, and the other group was real tide levels and tide levels predicted by BP-KIA model.Matlab was adopted to calculate MSE and RMSE of the two groups, and the results are displayed in Table 3.

lists the real
It can be inferred from Table 3 that the prediction accuracy of the highest tide level has been enhanced by adding KIA.Both BP tidal level prediction model and BP-KIA model have higher prediction accuracy than linear regression model with MSE of 4.9734 m [20], RBF model with MSE of 0.2526 m [20], and conventional harmonic analysis method with the mean error of 0.2-0.3m [23].The MSE of 0.070 m and RMSE of 0.265 m demonstrate that the method of combining BP neural network and cubic B-spline curve with KIA has great significance and applicability in predicting tide levels when typhoons approach.

Analysis of Predicted Time of Tidal Level
Peak.When a typhoon occurs, not only is accurate prediction of upcoming highest tide level needed, the precise analysis of the time when the highest tide level appears is also critical.
In the proposed BP-KIA tidal level prediction model, the time segments of tide-level prediction data commence from today's midday 12 until midday 12 the next day.In order to simplify computation, we use 24 integers to represent the time segments; for instance, 0 corresponds to today's midday 12 and 1 corresponds to 1pm today, and so on.The highest tide level and its time of occurrence can be obtained by calculating the horizontal ordinate and vertical coordinate values of the peak of the tidal level prediction curve.For instance, in Figure 6, the highest tide level is 4.719 m and its occurring time is 14.92.Because the predicted time is processed by decimal system, a conversion formula is needed to compute the real time.Therefore, by setting  as the integer bit of the horizontal ordinate and  as its decimal place, the formula to obtain the accurate time  can be summarized as follows: Through formula (18), it can be calculated that the horizontal ordinate 14.92 represents 2:55 am the next day.The complete 24-hour prediction curve (see Figure 6) can be obtained through running the optimized tidal level prediction model based on BP and cubic B-spline curve with KIA in Matlab.Afterwards, the error between the real time when the highest tidal levels occurred from 1 August to 19 September in 2012 and the corresponding time predicted by the proposed BP-KIA model was analyzed (see details in Table 4).It is noted that, in order to conduct effective comparison, the real occurrence time of the highest tide level provided by the documents from Pudong Hydrological Bureau had to be decimalized.
Table 4 demonstrates that there is a bigger error of the predicted time of tidal level peak when the typhoon comes or leaves (see the bold numbers).According to the rhythm of the tides, there are twice second highest tidal levels per day, which are approaching the highest tidal level, called second highest tide level.It is inferred from sample data that there is no big difference between the second highest tidal level and the highest tidal level, with a maximum error of 0.3 m.Replace the real time of the highest tide level with the real occurring time of the second highest tide level, which can be obtained by the documents provided by Pudong Hydrological Bureau; Table 5 is obtained.
It is inferred from Table 5 that, through the replacement, the accuracy of predicted time of highest tidal level has been significantly enhanced.Therefore, the method of using the proposed model to predict occurrence time of the second highest tidal level has higher accuracy and has more practical significance.
Consequently, the MSE and RMSE between the real time when the highest tide level occurs and its occurring time  6.
It can be inferred from Table 6 that the accuracy of predicting the occurring time of highest tide level has been enhanced by adding KIA.The MSE of 0.5084 h and RMSE of 0.7130 h have demonstrated that the method of combining BP neural network and cubic B-spline curve with KIA has greater significance and applicability in predicting the occurring time of highest tide level when typhoons approach.

Conclusions
In order to explore an effective method to predict tidal level with a typhoon effect at Luchaogang, two tidal level prediction models, based on unique BP neural network and on a combination of BP neural network and KIA-based cubic B-spline curve, were introduced.Then, using the data from Pudong Hydrological Bureau, experiments on the two models were conducted with six parameters of typhoon as the input parameters and corresponding tidal level data as the output parameters.The comparison results have showed that the BP-KIA model is superior to the unique BP neural network model.This optimized model has not only improved the prediction accuracy of the highest tide level but also has accurate prediction results on time when the tidal level peak occurs.Through the BP-KIA prediction model, the trend of tide levels in 24 hours can be forecasted in real time.Based on the BP-KIA tidal level prediction model developed in this study, protective measures can be taken in advance to effectively reduce the impact of typhoon disasters.
However, there are still some weaknesses in the proposed BP-KIA model.The training process, the learning rate, and some other parameters need to be continuously adjusted; there is randomness in the setting of the parameters.How to automatically and scientifically set these parameters is a problem that needs to be addressed in future research.In addition, more real data should be included to examine the validity of curve simulation in order to ensure the reliability of the model.Furthermore, as stated earlier, the four testing cases are experimented separately, and how to accurately predict the tidal level when multiple typhoons occur has not been covered by this study yet and will be explored in future study.

Figure 1 :
Figure 1: A classical three-layer BP network model.

Figure 2 :
Figure 2: The structure of proposed BP-KIA tidal level prediction model.

Figure 4 :
Figure 4: The structure of BP neural network in Matlab.

Figure 6 :
Figure 6: The tidal level prediction curve with time.
− ) : [0.6 ] (0 ≤  < 12) ( − 12) : [0.6 ] (12 ≤  < 23) Data.The typhoon data and tidal level data in this study are provided by Pudong Hydrological Bureau.There are 137952 groups of tidal level observation data, 360 groups of typhoon data, and 10143 groups of astronomical tide data at Luchaogang, from 2008 to 2012.The first step is to match the tidal level data and typhoon data occur simultaneously, and then 360 groups of typhoon data and correspondingly tidal level data are summarized.Next, tidal level data under the influence of typhoon are acquired by subtraction between the annual tidal level observation data and the corresponding astronomical tide data.The latitude and longitude of the typhoon, distance from the observation point to the typhoon, strength of the typhoon, pressure of the typhoon, and speed of the typhoon are employed as the input parameters; the corresponding tidal level data are adopted as the output parameters.
3.3.Data Normalization of Input Parameters.Because the measurement units and formats of the parameters of typhoon are not inconsistent, they cannot be directly used as the input layer of BP model: they must be normalized.For

Table 2 :
The comparison of BP model and BP-KIA model with influence of Haikui.

Table 3 :
The comparison of MSE and RMSE for the highest tide levels by BP model and BP-KIA model.

Table 4 :
The corresponding date and time of tidal level peak.

Table 5 :
The second highest tide level.

Table 6 :
The comparison of MSE and RMSE in the predicted time of tide level peak.model and the MSE and RMSE between the real occurrence time of the highest tidal level and its occurring time predicted by BP-KIA model are displayed in Table