# A Completion Method for Missing Concrete Dam Deformation Monitoring Data Pieces
## 2 Method  
### Completion Strategy for a Single Missing Value  
#### 2.1.1 Traditional Interpolation Completion Methods  
For non-uniform time series with unequal time intervals, interpolation is usually used to homogenize them to satisfy the application requirements of building a statistical model. Frequently used interpolation methods include the piecewise linear interpolation, the nearest point interpolation, the cubic spline interpolation, and the cubic Hermite interpolation [18]. The principles of these methods are as follows:  
1. Piecewise linear interpolation  
Linear interpolation refers to the interpolation method whose interpolation function is a first-degree polynomial. The linear interpolation approximates the original function by using a line passing through two endpoints and estimating the missing data by plugging points located between these two endpoints. The method is simple and convenient. The piecewise linear interpolation is a simple linear interpolation between each short interval \([x_{i},x_{i+1}]\), and the sub-interpolation polynomial on the interval \([x_{i},x_{i+1}]\) is:  
\[F_{i}=\frac{x-x_{i+1}}{x_{i}-x_{i+1}}f(x_{i})+\frac{x-x_{i}}{x_{i+1}-x_{i}}f(x _{i+1}) \tag{2}\]The interpolation function on the whole interval \([x_{i},x_{n}]\) is:  
\[F(x)=\sum_{i=1}^{n}F_{i}l_{i}(x) \tag{3}\]  
The definition of \(l_{i}(x)\) is as follows:  
\[l_{i}(x)=\left\{ \begin{array}{ll}\frac{x-x_{i-1}}{x_{i}-x_{i-1}}&x\in[x_{i-1}, x_{i}]\\ \frac{x-x_{i+1}}{x_{i}-x_{i+1}}&x\in[x_{i},x_{i+1}]\\ 0&x\
otin[x_{i-1},x_{i+1}]\end{array} \right. \tag{4}\]  
(2) Nearest point interpolation  
The nearest point interpolation estimates the function of the interpolation point by using the function of the nearest neighboring data point. This method is simple and intuitive, but the interpolation results are not so accurate. Assuming the interpolation point is \((x_{i},y_{i})\), then:  
\[y_{i}=y_{nearest} \tag{5}\]  
(3) Cubic spline interpolation  
The cubic spline interpolation, also called Spline interpolation for short, is an interpolation method to obtain the value of interpolation points by constructing a cubic spline interpolation function in the target interval. This method can effectively calculate the value of interpolation points and improve the smoothness of the interpolation curve. However, the computational cost of this interpolation is large. Suppose there are interpolation nodes on the interval \([a,b]\), \(a=x_{1}<x_{2}<\cdots<x_{n}=b\), and the corresponding function values are \(y_{1},y_{2},\cdots,y_{n}\). The cubic spline interpolation function \(S(x)\) satisfies that \(S(x_{i})=y_{i}(i=1,2,\cdots,n)\), and is not larger than the cubic polynomial value on the interval \([x_{i},x_{i+1}]\), and it has a second continuous derivative on the interval \([a,b]\). Suppose the cubic polynomial on each subinterval \([x_{i},x_{i+1}]\) is:  
\[S_{i}(x)=a_{i}x^{3}+b_{i}x^{2}+c_{i}x+d_{i},i=1,2,\cdots,n-1 \tag{6}\]  
The function \(S(x)\) needs to meet:  
\[S(x_{i})=y_{i},S(x_{i}-0)=S(x_{i}+0),i=2,3,\cdots n-1 \tag{7}\]  
\[S^{\prime}(x_{i}-0)=S^{\prime}(x_{i}+0),S^{\prime\prime}(x_{i}-0)=S^{\prime \prime}(x_{i}+0),i=2,3,\cdots n-1 \tag{8}\]  
The expression of \(S(x)\) can be obtained from a fixed boundary condition:  
\[ \begin{array}{ll}S(x)=&\frac{(x_{i+1}-x)^{3}}{6b_{i}}M_{i}+\frac{(x-x_{i})^ {3}}{6b_{i}}M_{i+1}+\left(y_{i}-\frac{M_{i}}{6}h_{i}^{2}\right)\frac{x_{i+1}- x}{h_{i}}+\\ &\left(y_{i+1}-\frac{M_{i+1}}{6}h_{i}^{2}\right)\frac{x-x_{i}}{h_{i}}\end{array}  \tag{9}\]  
where \(h_{i}=x_{i+1}-x_{i}\); \(M_{i}=S^{\prime\prime}(x_{i})\); \(M_{i+1}=S^{\prime\prime}(x_{i+1})\). By solving Equation (9) to get the parameters in Equation (8), the interpolation function on the interval \([a,b]\) can be constructed. \[\left[ \begin{array}{ccccc}2&1&&&&\\ \mu_{2}&2&\gamma_{2}&&\\ &\ddots&\ddots&\ddots&\\ &&\mu_{n-1}&2&\gamma_{n-1}\\ &&&\mu_{n}&2\end{array} \right]\left[ \begin{array}{c}M_{1}\\ M_{2}\\ \vdots\\ M_{n-1}\\ M_{n}\end{array} \right]=\left[