GPS Solutions (2018) 22:25 https://doi.org/10.1007/s10291-017-0689-3 GPS TOOLBOX A MATLAB‑based Kriged Kalman Filter software for interpolating missing data in GNSS coordinate time series Ning Liu1 · Wujiao Dai1 · Rock Santerre2 · Cuilin Kuang1 Received: 6 May 2017 / Accepted: 26 November 2017 / Published online: 9 December 2017 © Springer-Verlag GmbH Germany, part of Springer Nature 2017 Abstract GNSS coordinate time series data for permanent reference stations often suffer from random, or even continuous, missing data. Missing data interpolation is necessary due to the fact that some data processing methods require evenly spaced data. Traditional missing data interpolation methods usually use single point time series, without considering spatial correlations between points. We present a MATLAB software for dynamic spatiotemporal interpolation of GNSS missing data based on the Kriged Kalman Filter model. With the graphical user interface, users can load source GNSS data, set parameters, view the interpolated series and save the final results. The SCIGN GPS data indicate that the software is an effective tool for GNSS coordinate time series missing data interpolation. Keywords GNSS · Missing data · Kriged Kalman Filter · MATLAB software Introduction GNSS coordinate time series might include tectonic displacements and non-tectonic signals such as seasonal variations and noise. Many methods can be used to separate useful signals from GNSS time series, such as the wavelet transform (Collin and Warnant 1995), principle component analysis (PCA, Dong et al. 2006), independent component analysis (ICA, Liu et al. 2015; Peng et al. 2017; Liu et al. 2017) and spectral analysis (SA, Mao et al. 1999). Some methods are integrated into various GNSS time series GPS Tool Box is a column dedicated to highlighting algorithms and source code utilized by GPS engineers and scientists. If you have an interesting program or software package you would like to share with our readers, please pass it along; e-mail it to us at [email protected]. To comment on any of the source code discussed here, or to download source code, visit our website at http://www.ngs.noaa.gov/gps-toolbox. This column is edited by Stephen Hilla, National Geodetic Survey, NOAA, Silver Spring, Maryland, and Mike Craymer, Geodetic Survey Division, Natural Resources Canada, Ottawa, Ontario, Canada. * Wujiao Dai [email protected] 1 School of Geosciences and Info‑Physics, Central South University, Changsha 410083, Hunan, China 2 Center for Research in Geomatics, Laval University, Quebec G1V 0A6, Canada analysis software, such as the IDL package for GPS position time series analysis iGPS (Tian 2011) and the GPS interactive time series analysis GITSA (Goudarzi et al. 2013) software. However, all of these methods can only process the evenly spaced time series without missing data. Unfortunately, with permanent GNSS reference stations running automatically, missing data are very common in GNSS coordinate time series because of the interruption of communication links or power failures. The missing data could be random, e.g., 3–5 days, but more often, it continues for a long period of time, e.g., more than 3 months. In those cases, the coordinate time series are discarded, though they may contain useful information. Thus, missing data interpolation is an essential data preprocessing step before the GNSS time series analysis. There are three types of GNSS missing data interpolation methods: conventional interpolation methods, the singular spectrum analysis (SSA)-based method and the iterative empirical orthogonal function (EOF)-based method. Conventional interpolation methods include the nearest interpolation, linear interpolation, cubic spline interpolation, polynomial interpolation and sectioned Hermite interpolation. Goudarzi et al. (2013) integrated these methods into a GNSS analysis software, called GITSA. But they work well only with random missing data. Therefore, time series with continuous missing data during GNSS time series analysis are often discarded (Wang et al. 2012). The SSA-based 13 Vol.:(0123456789) 25 Page 2 of 8 method is widely used, because it does not require any prior knowledge of the behavior of the time series. It has been introduced to describe the change of abundance of zooplankton (Colebrook 1978). Kondrashov and Ghil (2006) first proposed to use it for filling dataset gaps in sea-surface temperature time series. Qiu et al. (2015) and Wang et al. (2016) used it to interpolate GNSS missing data. Results show that this method performs well even for GNSS continuous missing data. But the interpolated results are too smooth and the technique cannot keep high frequency signals. The EOF-based method (Xu 2016) is another method which does not require any prior knowledge of the behavior of the time series and it also considers offsets and colored noise presented in real GPS coordinate time series. But all of these methods focus on single point time series, without considering the spatial correlation among points in a region. We propose a MATLAB software, called the GNSS Missing Data Interpolation Software (GMIS), for interpolating GNSS coordinate time series with missing data using a dynamic spatiotemporal model based on the Kriged Kalman Filter (KKF). KKF was first proposed to deal with sulfur dioxide distribution in the UK (Mardia et al. 1998). After that, a Distributed Kriged Kalman Filter DKKF (Cortes 2010) and a Bayesian Kriged Kalman Filter BKKF (Sahu and Mardia 2005; Lasinio et al. 2007; Al-Awadhi and Alhajraf 2012) were proposed. Nowadays, KKF has been successfully applied in environment pollution monitoring (Mardia et al. 1998; Sahu and Mardia 2005), climate (Lasinio et al. 2007), wind farm (Qing et al. 2012) and dam deformation monitoring (Dai et al. 2016). However, KKF has been rarely applied for the analysis of GNSS coordinate time series. We first review briefly the KKF model and introduce the interpolation method for GNSS missing data based on KKF. The installation and introduction of this software are followed. Finally, a SCIGN GPS missing data interpolation experiment using this software is presented. KKF model The spatiotemporal observation Z(s, t) in a KKF model can be decomposed into (1) where s = {s1 , s2 , .., sn } is the position, t = {1, 2, … , m} is T the time, operator. The spatial field [ and (∗) is the transpose ]T 𝐡(s) = h1 (s)h2 (s) … hp (s) can be obtained by the universal kriging (Mardia et al. 1998). 𝜶(t) represents the state vector of the system and 𝜀t (s) is the observation noise. Z(s, t) = 𝐡(s)T 𝜶(t) + 𝜀t (s) 13 GPS Solutions (2018) 22:25 For dimension reduction, we consider the generalized bending energy matrix B (Mardia et al. 1998; Bookstein 1989) describing the degree of spatial variation, which is as follows: )−1 ( T −1 −1 F F T Σ−1 F F Σ − Σ B = Σ−1 𝜍 𝜍 𝜍 𝜍 (2) w h e[r e (∗)−1 i s t h e ]i n v e r s e o p e r a t o r , ( )T ( )T ( )T F = f s1 ; f s2 ; … ; f sn is the trend matrix. The [ ]T chosen space trend field f (s) = f1 (s)f2 (s) … fq (s) could be constant, linear or cubic polynomials. Σ𝜍 is the covariance matrix of (the )residuals after removing a space trend, and its elements Σ𝜍 ij can be calculated through the fitted semi( ) variogram model 𝛾𝜍 si , sj : ) ( ) ( ( ) Σ𝜍 ij = C − 𝛾𝜍 si , sj = C − 𝛾𝜍 si − sj (3) where C is the sill of the semi-variogram model, and ‖ ∗ ‖ is the distance operator. The semi-variogram model can be obtained by fitting the empirical semi-variogram value 𝛾̂𝜍 (d): m 𝛾̂𝜍 (d) = ]2 1 ∑[ Dt (s) − Dt (s + d) 2m t=1 (4) ∑∗ where ∗ (∗) is the sum operator, (∗)2 is the square operator and d is the lag distance. Dt (s) = Z(s, t) − f (s)𝛽t is the residual after removing a space ( trend, )−1 and coefficient 𝛽t can be calculated by 𝛽t = F T F F T Zt , where [ ( ) ( ) ( )]T Zt = Z s1 , t Z s2 , t … Z sn , t . More often, the lag distance is divided into some groups from 0 to maximum lag distance for semi-variogram calculation, and one can calculate an empirical semi-variogram value in each group for the same lag distance, so d is the middle lag distance of each group. In order to measure the spatial variation degree, the spectral decomposition of B is performed: B = UEU T , B𝐮i = ei 𝐮i (i = 1, 2, … , n) (5) ( ) where the column vectors of U = 𝐮1 𝐮2 … 𝐮n( are eigen-) vectors and the diagonal elements of E = diag e1 , e2 , .., en are the corresponding eigenvalues, and diag(∗) is diagonal matrix operator. Bookstein (1989) and Sahu and Mardia (2005) reported that smaller eigenvalues are associated with larger spatial variation and larger eigenvalues represent more local spatial variations. To reduce the dimension, one only needs to take the first p spatial variation, which can be cal∑p ∑ culated while the ratio r = i=1 ei / ni=1 ei is greater than a certain proportion, where usually 90 or 95% are chosen. Spatial field 𝐡(s) can be obtained following the work of Mardia et al. (1998) and Sahu and Mardia (2005): hj (s) = fj (s) hk (s) = ek 𝝈 𝜍 (s)T 𝐮k j = 1, 2, .., q k = q + 1, … , p (6) Page 3 of 8 25 GPS Solutions (2018) 22:25 vector with its elements (where)𝝈 𝜍 (s) stands ( for covariance ) 𝝈 𝜍 (s) i = C − 𝛾𝜍 s − si , and i = 1, 2, … , n. Now, one can write (1)–(6) into matrix forms: [ ( ) ( ) ( )]T 𝜺t = 𝜀t s1 𝜀t s2 … 𝜀t sn [ ( ) ( ) ( )]T H = 𝐡 s1 𝐡 s2 … 𝐡 sn (7) and the observation equation of KKF can be expressed by: (8) where 𝜺t ∼ N(0, R), N(∗, ∗) represents the normal distribution. Let 𝜶(t) evolve in time with a first-order autoregressive [AR(1)] model and form the state transition equation of KKF: Zt = H𝜶(t) + 𝜺t (9) where 𝛷 is the state transition matrix and the system noise is 𝜼t ∼ N(0, Q). Equations (8) and (9) form the KKF model. More details on KKF model are discussed in Mardia et al. (1998) and Sahu and Mardia (2005). 𝜶(t) = 𝛷𝜶(t − 1) + 𝜼t Missing data interpolation method The key issue of dynamic spatiotemporal interpolation of missing data using KKF is how to continuously perform the process while missing data arise randomly and continue for a certain period of time. Shumway and Stoffer (1982, 2010) established a Kalman Filter observation equation for missing data. Suppose at time t the KKF observation equation can be written as follows: ( Z1t Z2t ) = ( ) ( 1) H1 𝜺t 𝜶(t) + H2 𝜺2t (10) where Z1t , H 1 and 𝜺1t are the observed data, the spatial field of the observed data and the noise of the observed data, respectively. Z2t , H 2 and 𝜺2t are the missing data, the spatial field of the missing data and observed noise of the missing data, respectively. The distribution of observation noise can be expressed by: ( 1) ( ) R11 R12 𝜺t ∼ N 0, (11) 𝜺2t R21 R22 Replace Z2t and H 2 with 0 vector and 0 matrix, so the missing data Z2t are not involved in the estimation of 𝜶(t). Then, replace R12 and R21 with 0 matrix. It shows that the replaced 0 vector is uncorrelated with observed data Z1t . Using the Kalman recursion of the updated observation equation to estimate 𝜶(t), then the missing data Z2t can be interpolated by Z2t = H 2 𝜶(t). In simple terms, the procedure of the above-mentioned interpolation method involves three steps: (1) interpolate unobserved data Z2t by the universal kriging only using the KKF observation equation; (2) forecast Z2t by the AR(1) model only using the KKF state transition equation; and (3) combine the interpolated result in the spatial domain with the forecasted result in the temporal domain to generate the spatiotemporal prediction result. The effect of missing data interpolation by KKF is closely related to the precision of spatial { field H and the}estimation of Kalman parameters 𝜃 = â 0|0 , P0|0 , 𝛷, R, Q , where ( ) 𝜶(0) ∼ N â 0|0 , P0|0 . The fitted semi-variogram model reflects the precision of spatial field H . There are three main reasons for incorrectly fitted semi-variogram model: (1) an improper space trend field f (s) is chosen, which results in non-stationary residuals; (2) the measurement sites are so sparse that observed values cannot grasp the spatial correlation; and (3) observations in the spatial domain are uncorrelated in itself. If the semi-variogram model is poorly fitted, using inaccurate spatial field H will lead to filter divergence. In this case, a unit matrix, instead of the spatial field, which shows no correlation in the spatial domain, is a better choice. Shumway and Stoffer (1982) proposed a method, which combines Expectation Maximum (EM) estimation and Kalman smoothing, to estimate Kalman parameters 𝜃 . If the data contain missing values, this method can also reasonably estimate 𝜃 . But Kalman smoothing needs to save the filtered state covariance matrix Pt|t , smoothed state covariance matrix Pn|t , and cross-covariance Pt|t−1 for all time t = {1, 2, … , m}, which results in three p × p × m matrices. If the monitoring time m is long, this computation load is very large. The experiment of Shumway and Stoffer (1982) only involved 28 issues of data, which is suitable for using Kalman smoothing. But for GNSS data, the monitoring often continues for a few years, even tens of years. Compared with Kalman smoothing, Kalman filtering, which only saves the filtered state covariance matrix Pt|t and cross-covariance Pt|t−1 of the previous time, needs less computation time and computer memory. Although the accuracy of Kalman smoothing is better than Kalman filtering, GMIS software still keeps Kalman filter option for computers with lower computational abilities. Table 1 shows the steps of the GNSS missing data interpolation method based on a KKF model. Software platform and installation The GMIS software was developed using a MATLAB graphic user interface. MATLAB provides excellent matrix manipulation ability and powerful graphic capability. Also, MATLAB has integrated a lot of useful data analysis algorithms and developers can use it directly and scan its source code. Moreover, MATLAB graphic user interfaces can compile source code into an executable program, which can be used in most operating systems, such as Windows 13 25 Page 4 of 8 GPS Solutions (2018) 22:25 Table 1 Steps of GNSS missing data interpolation-based KKF model Establishment of spatial field H (1) Analyze GNSS data spatial distribution characteristics and choose suitable space trend field f (s) (2) Obtain residuals after removing space trend and calculate empirical semi-variogram value (3) Choose a suitable semi-variogram model to fit experimental semi-variogram value, then construct the spatial field Estimation of KKF model parameters 𝜃 (4) Use expectation maximum (EM) estimation with Kalman filter (or Kalman smoothing) to estimate KKF model parameters 𝜃 Dynamic spatiotemporal GNSS missing data interpolation (5) t = 1 (6) Check whether data contain missing data. If yes, then replace corresponding missing value Z2t , spatial field H 2 and covariance matrix R12 and R21 between observed data and missed data with 0 vector or 0 matrix (7) Use the Kalman filter equation to estimate state vector 𝜶(t) at time t (8) Interpolate missing data at time t : Z2t = H 2 𝜶(t) (9) t = t + 1 (10) Repeat steps (5)–(9) until all missing data are interpolated and Linux. So, MATLAB is a suitable platform to develop our software for GNSS missing data interpolation. In addition, GMIS software needs extra ‘variogramfit.m’ and ‘fminsearchbnd.m’ toolboxes, which can be downloaded from http://cn.mathworks.com/matlabcentral/fileexchange for free. These two toolboxes have been included in the GMIS software. The GMIS software and its source codes are publicly available through the Internet. The software can be downloaded from http://faculty.csu.edu.cn/daiwujiao/en/ lwcg/35988/content/11646.htm or http://www.ngs.noaa. gov/gps-toolbox/GMIS.htm. There are two ways to use this software: (1) check that your computer has an installed MATLAB Compiler Runtime (MCR) for version 8.1, then double-click the executable program to run the software; (2) add the source code folder into the MATLAB search path, type GMIS in the MATLAB command window, then the main interface of the GMIS software will pop up. Software introduction The software is composed of three graphic user interfaces (GUI): GMIS, SemiVarigFit and InterpolationMode. GMIS is the main GUI, which is used to load input GNSS data, save interpolated GNSS results, invoke SemiVarigFit GUI and InterpolationMode GUI, and view source and interpolated GNSS time series. GMIS allows only two native formats as input and output data files, which are the GNSS missing time series format (GMS) and the MATLAB mat-file format (MAT). One GMS data file only records one GNSS site data. The GMS file is an ASCII text containing header block and data block. Header block records the name, longitude and latitude of GNSS sites, start date and end date of interpolation, etc. The 13 Load Data (GMIS GUI) Calculate empirical semi -variogram values (SemiVarigFit GUI) Fit empirical semi -variogram values (SemiVarigFit GUI) Interpolate missing data (InterpolationMode GUI) Save interpolated result (GMIS GUI) Fig. 1 GMIS software operation flowchart data block records source GNSS time series or interpolated GNSS time series in the north, east and up directions. The input MAT file is a MATLAB mat file containing a structure. All GNSS site data are saved in this structure. This structure with an arbitrary name contains 7 fields, and the field names are fixed. Field ‘day’ saves monitoring time. Fields ‘dn,’ ‘de’ and ‘du’ show GNSS data in the North, East and Up directions, and missing values are substituted by NaN (Not a Number). Position coordinates information is shown in the ‘x’ and ‘y’ fields, in which ‘x’ represents the Page 5 of 8 25 GPS Solutions (2018) 22:25 Fig. 2 Interpolation effects for four sites (BLYT, SIBE, LNMT and GNPS) with seriously missed data in the GNSS coordinates time series Original data 0 5 SIBE-N 0 -5 -10 -15 BLYT-N -10 GPS series(mm) -20 0 -10 0 -10 -20 -30 SIBE-E 30 SIBE-U 20 10 0 -10 5 GNPS-N 0 -5 -10 -15 -20 BLYT-E -30 30 BLYT-U 20 10 0 5 LNMT-N 0 -5 0 0 -20 -10 -20 LNMT-E -30 GNPS-E 30 GNPS-U 20 10 0 -40 20 LNMT-U 10 0 -10 Filter and Interpolated data 2005-09-01 2006-05-02 2005-09-01 2006-05-02 Time(Year-Month-Day) longitude and ‘y’ the latitude. The last field ‘site’ is used to save the site name. The output MAT data file contains all the fields of the source data file, but with 4 added fields to save the final results. The added fields ‘interp_dn,’ ‘interp_de’ and ‘interp_du’ save interpolated GNSS data, and the added ‘VarigPar’ field saves the fitted semi-variogram model result. It is worth noting that the first day value of all input GNSS time series in the three directions should be translated to zero, because the initial state of Kalman filter is set by a zero vector in this software. More GMS and MAT data file details can be found in the user manual. Empirical semi-variogram value calculation and its semi-variogram model fitness for three directions are carried out in the SemiVarigFit GUI. In SemiVarigFit, users can choose spatial trends for three directions, set the maximum lag distance for semi-variogram calculation and set number of groups that the distance should be divided into. Once these parameters are set, clicking the ‘Plot-Exp-Variog Value’ button will bring empirical semi-variogram value and draw it into the left box panel. Note that the maximum distance is an important parameter for semi-variogram calculation, because sometimes the spatial correlation is local in scale, and the use of the default value, which may be a large scale, will result in a disorganized empirical semivariogram value. Users can decrease the maximum distance gradually to obtain a better fitted effect of semi-variogram model into the three directions. According to the empirical semi-variogram value in the left box panel, set a proper initial range, sill and nugget parameters (Cressie 1993), and choose a suitable semi-variogram model. If users want to use the number of observations in each lag distance group as the weight function for fitting semi-variogram model, just choose ‘cressie85’ (Cressie 1985) or ‘mcbratney86’ (Mcbratney and Webster 1986) for the weight function. After the fitting parameters are all properly assigned, click ‘Fit Exp-Varigo Value’ button to fit the empirical semi-variogram value, which can be shown in the left box panel. Once the semi-variogram model is fitted, the fitted result will be saved automatically. Some configurations of KKF can be assigned in the InterpolationMode GUI, e.g., the number of Expectation Maximum (EM) iterations, the option to use unit matrix instead of an inaccurate spatial field, and an option to use ‘EM + Kalman filter’ mode or ‘EM + Kalman smooth’ mode. If the user is not satisfied with the fitted effect of the semi-variogram model in one of the three directions, 13 25 Page 6 of 8 GPS Solutions (2018) 22:25 Fig. 3 Interpolation effects with the introduction of artificial gaps for four slightly missed data at GPS sites 7ODM, BSRY, DVPB and HOGS Original data Artificial gaps 20 7ODM-N 10 5 0 0 -10 -5 0 0 -20 BSRY-N -20 -40 -60 7ODM-E 40 7ODM-U GPS series(mm) Filter and Interpolated data -40 BSRY-E 20 BSRY-U 20 10 0 0 -20 -10 20 DVPB-N 40 10 HOGS-N 20 0 0 0 -20 -40 -60 -80 HOGS-E 20 0 -20 -40 -60 DVPB-E 20 DVPB-U 10 0 -10 10 HOGS-U Time(Day) 0 -10 2005-09-01 2006-05-02 2005-09-01 2006-05-02 Time(Year-Month-Day) he can use a unit matrix instead of the spatial field in the InterpolationMode GUI. When all parameters or options are assigned, the spatial field will be calculated automatically and the GMIS software is ready to interpolate missing data. A software flowchart is shown in Fig. 1. More details about the software can be found in the user manual showing how to use this software with two step-by-step examples. Table 2 RMS for the interpolation results of artificial gaps in four GPS sites 7ODM, BSRY, DVPB and HOGS with slightly missed data (unit: mm) North East Up 7ODM BSRY DVPB HOGS 2.6 3.2 9.9 0.8 0.7 2.8 1.6 1.1 6.3 0.6 0.7 2.1 GPS missing data interpolation experiment This section presents the GNSS missing data interpolation results using the GMIS software as an example. The data that are used, containing GPS coordinates from daily solutions for 209 sites, come from the Southern California Integrated GPS Network (SCIGN: http://www.scign.org/) from January 1, 2005, to January 1, 2007, for a total of 731 days. Before the experiment, GPS offsets and some gross errors are removed and the first day value of all site series in the three directions are translated to zero. Furthermore, in order to show the efficiency of the GMIS software, we also remove 100 days of data for four GPS sites, and use the GMIS software to fill these artificial gaps. 13 Some parameters of the fitting semi-variogram model and configurations of KKF can be seen in the SCIGN example in the user manual. The interpolation effects for the four sites with seriously missed data are displayed in Fig. 2. Figure 3 shows the interpolated result for artificial gaps of four slightly missed GPS sites, and the interpolated results fit well with the original data. Table 2 shows the root mean square (RMS) of artificial gaps interpolated results. The largest RMS is 9.9 mm in the Up direction of 7ODM site, the smallest RMS is 0.6 mm in the North direction of HOGS site, and the average RMS is 2.7 mm. We also compared the computation time of the ‘EM + Kalman filter’ mode and that of the ‘EM + Kalman smooth’ mode. All computations were carried out in GPS Solutions (2018) 22:25 MATLAB on a Windows 10 system with a 2 GHz Intel processor and 4 GB memory. The computations related to the ‘EM + Kalman filter’ mode cost 3264 s (54.4 min) and 5574 (92.9 min) seconds for ‘EM + Kalman smooth’ mode. Conclusions We presented a MATLAB software, called GMIS, for GNSS missing data interpolation based on a dynamical spatiotemporal model KKF. This software can serve as a GNSS preprocessing tool for software which requires evenly spaced GNSS coordinate time series. The GMIS software and all source codes are available from the compressed files. If there are any questions, suggestions or corrections about GMIS software, please send them to the following e-mail address: [email protected]. Acknowledgements This work was supported by the National Natural Science Foundation of China (Grant No. 41674011) and the State Key Development Program of Basic Research of China (Grant No. 2013CB733303). References Al-Awadhi FA, Alhajraf A (2012) Prediction of non-methane hydrocarbons in Kuwait using regression and Bayesian kriged Kalman model. Environ Ecol Stat 19(3):393–412 Bookstein FL (1989) Principal warps: thin-plate splines and the decomposition of deformations. IEEE Pattern A 11(6):567–585 Colebrook JM (1978) Continuous plankton records: zooplankton and environment, North-East Atlantic and North Sea, 1948–1975. Oceanol Acta 1(1):9–23 Collin F, Warnant R (1995) Application of the wavelet transform for GPS cycle slip correction and comparison with Kalman filter. Manuscr Geod 20(3):161–172 Cortes J (2010) Distributed Kriged Kalman filter for spatial estimation. IEEE Autom Control 54(12):2816–2827 Cressie N (1985) Fitting variogram models by weighted least squares. Math Geol 17(5):563–586 Cressie N (1993) Statistics for spatial data. Wiley, New York Dai WJ, Liu N, Santerre R, Pan JB (2016) Dam deformation monitoring data analysis using space–time Kalman filter. ISPRS Int J Geo-Inf 5(12):236–251 Dong D, Fang P, Bock Y, Webb F, Prawirodirdjo L, Kedar S, Jamason P (2006) Spatiotemporal filtering using principal component analysis and Karhunen–Loeve expansion approaches for regional GPS network analysis. J Geophys Res 111(B3):1581–1600 Goudarzi MA, Cocard M, Santerre R (2013) GPS interactive time series analysis software. GPS Solut 17(4):595–603 Kondrashov D, Ghil M (2006) Spatio-temporal filling of missing points in geophysical datasets. Nonlinear Process Geophys 13(2):151–159 Lasinio GJ, Sahu SK, Mardia KV (2007) Modeling rainfall data using a Bayesian Kriged-Kalman model. In: Upadhy SK, Singh U, Dey DK (eds) Bayesian statistics and its applications, 1st edn. Anshan, Tunbridge Wells, pp 1–24 Page 7 of 8 25 Liu B, Dai WJ, Peng W, Meng XL (2015) Spatiotemporal analysis of GPS time series in vertical direction using independent component analysis. Earth Planets Space 67(1):1–10. https://doi. org/10.1186/s40623-015-0357 Liu B, Dai W, Liu N (2017) Extracting seasonal deformations of the Nepal Himalaya region from vertical GPS position time series using independent component analysis. Adv Space Res. https:// doi.org/10.1016/j.asr.2017.02.028 Mao A, Harrison C, Dixon TH (1999) Noise in GPS coordinate time series. J Geophys Res 104(B2):2797–2816 Mardia KV, Goodall C, Redfern EJ, Alonso FJ (1998) The Kriged Kalman filter. Test 7(2):217–282 Mcbratney AB, Webster R (1986) Choosing functions for semi-variograms of soil properties and fitting them to sampling estimates. Eur J Soil Sci 37(4):617–639 Peng W, Dai WJ, Santerre R, Kuang CL (2017) GNSS vertical coordinate time series analysis using single-channel independent component analysis method. Pure Appl Geophys 174(2):723– 736. https://doi.org/10.1007/s00024-016-1309-9 Qing XY, Yang FW, Wang XY (2012) Short-term wind speed forecasting for multiple wind farms using Bayesian Kriged-Kalman model. Proc Chin Soc Electr Eng 32(35):107–114 Qiu RH, Cheng YY, Wang H, Wang XM, Cao BQ (2015) The interpolation application of interval quartering algorithm of singular spectrum analysis iterative in GPS coordinate time series. J Geod Geodyn 35(6):1017–1020 Sahu SK, Mardia KV (2005) A Bayesian kriged Kalman model for short-term forecasting of air pollution levels. Appl Stat 54(1):223–244 Shumway RH, Stoffer DS (1982) An approach to time series smoothing and forecasting using the EM algorithm. J Time Ser Anal 3(4):253–264 Shumway RH, Stoffer DS (2010) Time series analysis and its applications: with R examples. Springer, New York Tian Y (2011) iGPS: IDL tool package for GPS position time series analysis. GPS Solut 15(3):299–303 Wang W, Zhao B, Wang Q, Yang XM (2012) Noise analysis of continuous GPS coordinate time series for CMONOC. Adv Space Res 49(5):943–956 Wang XM, Cheng YY, Wu SQ, Zhang KF (2016) An effective toolkit for the interpolation and gross error detection of GPS time series. Surv Rev 48(348):202–211 Xu C (2016) Reconstruction of gappy GPS coordinate time series using empirical orthogonal functions. J Geophys Res 121(12):9020–9033 Ning Liu is a master student in the School of Geosciences and Info-Physics at the Central South University, China. His research focuses on spatiotemporal Kalman Filter model and its application in deformation monitoring. 13 25 Page 8 of 8 GPS Solutions (2018) 22:25 Wujiao Dai is a professor in the School of Geosciences and InfoPhysics at the Central South University, China. He received his Ph.D. from CSU in 2007 and worked as a research assistant in Hong Kong Polytechnic University for 3 years. His research mainly focuses on GNSS data processing and deformation monitoring. Rock Santerre is a full professor of Geodesy and GPS in the Department of Geomatics Sciences and a member of the Center for Research in Geomatics at Laval University. Since 1983, his research activities have been mainly related to high-precision GPS for static and kinematic positioning. Dr. Santerre is 13 the author and coauthor of more than 150 publications, and he holds three patents related to GPS equipment. Cuilin Kuang is an associate professor in the School of Geosciences and Info-Physics of Central South University, China. He received his Ph.D. from Wuhan University in 2008. His research mainly focuses on GNSS data processing and deformation monitoring.