# Offline-Online Change Detection for Sentinel-1 InSAR Time Series
## 4 Discussion  
Previous InSAR time series detectors relied on machine learning methods to train an algorithm on specific changes in a time series resulting from ground deformation, for example volcano inflation (e.g., [8; 18; 21; 40]). The method described in this paper is purely statistical and therefore process independent, meaning that changes are detected in the time series regardless of the geophysical cause behind it. While our approach is more broadly applicable, it does mean that we are more prone to false positives due to signal noise, but we show that we are able to reduce these by spatial filtering. Figure 8: An example of how the Gaussian blur filter is able to remove isolated pixel detections, which we assume are false positives, leaving the spatially continuous detection clusters. Yellow points are pixels that our algorithm has highlighted as having a change from steady-state (offset or gradient) at this time (28 July 2018). Purple colours are either NaN pixels or pixels with no changes in their displacements. (**a**) Shows the raw detections using our algorithm, and (**b**) the results after spatial filtering. (**c**) are the spatially isolated pixels that were removed by the filter. Axis represent the rows and columns of the pixels  
Currently most machine learning-based detection methods are trained using deformation on volcanoes, so are only applicable to detecting volcanic unrest signals in InSAR data. Progress is being made to train an algorithm to detect deformation in the built environment [20]. However, in this paper we show that a statistical approach is simpler and also able to detect changes in InSAR time series, without the need for a large training dataset, the main requirement for a machine learning algorithm. [PERSON] et al. [41] did not use a machine learning-based method but instead detected gradient changes in the last 150 days of an InSAR time series by calculating the average velocity (gradient) in the final 150 day window of the series and comparing it to the average velocity of the remaining time series, identified as the 'historical' velocity. If the difference is \(>10\) mm/yr then a gradient change is flagged. However this approach will fail if the 'historical' portion of the time series has non-linear trends. Our method using the _Student's_\(t\)-test on the second derivative series is more robust with respect to detecting gradient changes, even with a non-linear 'historical' time series. Additionally our method does not rely on the choice of an arbitrary threshold velocity. Our assumption that the standard deviation of test statistics remains the same for new data points shortens the time required to test new data for the online detections. However some investment in time is required to calculate this standard deviation from the existing 5 years of data. Our test case over Hatfield Moors with nearly 3 million pixels and over 250 time steps completed the offline detection and standard deviation calculations in approximately 3 hours. However the online detections for new incoming data points were completed in less than 15 minutes. In fact, interferogram formation and the addition of new images to the time series (1-2 h) is much more time consuming, and therefore the rate-limiting step when it comes to using InSAR for early warning. These times are of course, dependent on the quality and type of the processing machine the software is running on. Our tests used a 16 core (32 thread) Intel(R) Xeon(R) Gold 6130 CPU @ 2.10 GHz linux server with 186 GB of RAM. The choice of window size will determine the types of gradient changes that can be detected (Figure 9). Larger windows will be able to detect gradient changes that occur over a longer time period while shorter windows are more sensitive to noise. However larger windows may detect a gradient change too late to be of any use, unless it is a slow onset process. The window parameter therefore must be set based on the expected wavelength of the gradient changes we are trying to detect.