# BFAST Lite: A Lightweight Break Detection Method for Time Series Analysis

^{*}

## Abstract

**:**

## 1. Introduction

`bfast`package has even become a basis for new change detection packages that implement change detection frameworks, such as

`TSS.RESTREND`[15] and STEF [16].

`bfast`R package, consists of several stages, of which one requires decomposition of the input time series into trend and season components. This decomposition step, in turn, requires a complete regular time series with no missing data, which is rare when using optical satellite imagery due to cloud cover. In addition, BFAST uses an iterative approach for convergence of change, in both the seasonal and trend components. This approach takes a significant amount of processing time.

`bfast`R package. BFAST Lite is particularly simple to use for current users of the

`bfast`package, who are already familiar with other BFAST algorithms provided by the package.

## 2. Data and Methods

#### 2.1. The BFAST Lite Algorithm

`strucchangeRcpp`package.

`bfast::bfastlite()`) implemented in R in the free and open-source

`bfast`package, starting from version 1.6.0, available on CRAN. The source code can be found on GitHub, at https://github.com/bfast2/bfast [25], accessed on 20 August 2021. The package is now maintained by volunteers, with GitHub infrastructure facilitating more rapid update cycles, code review and continuous integration. Users are encouraged to submit bug reports and ideas for improvement via GitHub.

#### 2.2. Testing the Performance of BFAST Lite

#### 2.2.1. Compared Algorithms

`stlplus`, which reconstructs the missing values by taking also the values in the same season within neighbouring years into account. This option has also been newly implemented in the

`bfast`package for the original BFAST function, starting from version 1.6.0. This imputation approach results in a smoother time series without interruptions in seasonality, compared to the linear interpolation approach.

`bfast`version 1.6.0, a new backend engine written in C++ was introduced. It replaces the previous R engine by default with the option to switch back to the R engine if desired by the user. This change was done to substantially decrease the time needed to run all of the BFAST family algorithms.

`microbenchmark`package [29]. It runs all of the algorithms interleaved to avoid any effect of random busy periods of computer activity on the benchmark results. It also repeats the benchmark multiple times to ensure robust results.

#### 2.2.2. Satellite Data

#### 2.2.3. Reference Data and Validation

## 3. Results

#### 3.1. Accuracy Comparison

#### 3.2. Run Time Benchmark

`bfast`release was faster than the R engine in all cases, with the gains consistently ranging between 2.5 and 3 times the speed of the R implementation.

## 4. Discussion and Outlook

## 5. Conclusions

`bfast`package version 1.6 on CRAN. BFAST Lite can handle missing data (irregular time series) and has a variety of user-customisable parameters, including the newly introduced LWZ information criterion for automatic determination of the number and timing of breakpoints. Our results showed that BFAST Lite performs similar to BFAST when using comparable parameters, with a higher user’s accuracy but a lower producer’s accuracy of change, and with a better balance between the two statistics. The choice of parameters has a big influence on the results, which allows tuning the model, e.g., decreasing commission errors when there is a lower incidence of change. In addition, BFAST Lite provides more statistics about the breakpoints and goodness-of-fit compared to other BFAST methods, which allows postprocessing of the results.

## Author Contributions

## Funding

## Institutional Review Board Statement

## Informed Consent Statement

## Data Availability Statement

## Acknowledgments

`bfast`and

`strucchangeRcpp`packages. We thank the CGLS-LC100 project (Bruno Smets, Marcel Buchhorn, Linlin Li, Agnieszka Tarko) for ideas and support. We thank IIASA (Myroslava Lesiv, Steffen Fritz) for providing us with land cover change reference data. We thank VITO and the Terrascope platform for MODIS data and computational facilities.

## Conflicts of Interest

## Abbreviations

AIC | Akaike’s Information Criterion. 3, 11 |

BFAST | Breaks For Additive Season and Trend. 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 14 |

BIC | Bayesian Information Criterion. 3, 5, 9, 11 |

CCDC | Continuous Change Detection and Classification. 1, 2 |

CGLS-LC100 | Copernicus Global Land Services Land Cover 100 m. 3, 6, 13 |

EWMACD | Exponentially Weighted Moving Average Change Detection. 1 |

IIASA | International Institute for Applied Systems Analysis. 6, 13 |

JUST | Jumps Upon Spectrum and Trend. 1 |

LWZ | information criterion of Liu,Wu and Zidek. 3, 5, 8, 9, 11, 12, 13 |

OLS-MOSUM | ordinary least squares residual moving sum. 3, 4, 6, 8, 10 |

RSS | residual sum of squares. 3, 11 |

STL | Seasonal decomposition of Time series by Loess. 3, 11 |

TSCCD | Time-Series Classification approach based on Change Detection. 1 |

## Appendix A

Parameter | BFAST | BFAST Lite |
---|---|---|

Minimum segment size h | 15% by default | 15% by default |

Trend component | Always included | Included by default, can be disabled |

Seasonality component | Either harmonics or seasonal dummies | Harmonics, seasonal dummies, both or external regressor |

Maximum harmonic order | Preset to 3 | Customisable, defaults to 3 |

Number of seasonal dummies | Preset to equal to observations per year | Customisable, defaults to the number of observations per year but can be fewer |

Maximum number of iterations | 10 by default | 1 |

Structural change test type | OLS-MOSUM by default | None, from version 1.7: optional with none by default |

Structural change test significance threshold | 0.05 by default | None, from version 1.7: optional with 0.05 by default |

Decomposition algorithm | STL by default or stlplus | None by default, STL or stlplus on any of the components |

Break number selection criterion | Preset to BIC | LWZ by default, BIC, RSS |

Autoregressive components | None (not supported) | None by default, seasonal lag, trend lag, or both |

## References

- Kennedy, R.E.; Yang, Z.; Cohen, W.B. Detecting trends in forest disturbance and recovery using yearly Landsat time series: 1. LandTrendr—Temporal segmentation algorithms. Remote Sens. Environ.
**2010**, 114, 2897–2910. [Google Scholar] [CrossRef] - Verbesselt, J.; Hyndman, R.; Newnham, G.; Culvenor, D. Detecting trend and seasonal changes in satellite image time series. Remote Sens. Environ.
**2010**, 114, 106–115. [Google Scholar] [CrossRef] - Verbesselt, J.; Zeileis, A.; Herold, M. Near real-time disturbance detection using satellite image time series. Remote Sens. Environ.
**2012**, 123, 98–108. [Google Scholar] [CrossRef] - Zhu, Z.; Woodcock, C.E. Continuous change detection and classification of land cover using all available Landsat data. Remote Sens. Environ.
**2014**, 144, 152–171. [Google Scholar] [CrossRef] [Green Version] - Brooks, E.B.; Wynne, R.H.; Thomas, V.A.; Blinn, C.E.; Coulston, J.W. On-the-Fly Massively Multitemporal Change Detection Using Statistical Quality Control Charts and Landsat Data. IEEE Trans. Geosci. Remote Sens.
**2014**, 52. [Google Scholar] [CrossRef] - Yan, J.; Wang, L.; Song, W.; Chen, Y.; Chen, X.; Deng, Z. A time-series classification approach based on change detection for rapid land cover mapping. ISPRS J. Photogramm. Remote Sens.
**2019**, 158, 249–262. [Google Scholar] [CrossRef] - Ghaderpour, E.; Vujadinovic, T. Change Detection within Remotely Sensed Satellite Image Time Series via Spectral Analysis. Remote Sens.
**2020**, 12, 4001. [Google Scholar] [CrossRef] - Kennedy, R.E.; Yang, Z.; Gorelick, N.; Braaten, J.; Cavalcante, L.; Cohen, W.B.; Healey, S. Implementation of the LandTrendr Algorithm on Google Earth Engine. Remote Sens.
**2018**, 10, 691. [Google Scholar] [CrossRef] [Green Version] - Hamunyela, E.; Rosca, S.; Mirt, A.; Engle, E.; Herold, M.; Gieseke, F.; Verbesselt, J. Implementation of BFASTmonitor Algorithm on Google Earth Engine to Support Large-Area and Sub-Annual Change Monitoring Using Earth Observation Data. Remote Sens.
**2020**, 12, 2953. [Google Scholar] [CrossRef] - De Jong, R.; Verbesselt, J.; Zeileis, A.; Schaepman, M.E. Shifts in Global Vegetation Activity Trends. Remote Sens.
**2013**, 5, 1117–1133. [Google Scholar] [CrossRef] [Green Version] - Watts, L.M.; Laffan, S.W. Effectiveness of the BFAST algorithm for detecting vegetation response patterns in a semi-arid region. Remote Sens. Environ.
**2014**, 154, 234–245. [Google Scholar] [CrossRef] - Fang, X.; Zhu, Q.; Ren, L.; Chen, H.; Wang, K.; Peng, C. Large-scale detection of vegetation dynamics and their potential drivers using MODIS images and BFAST: A case study in Quebec, Canada. Remote Sens. Environ.
**2018**, 206, 391–402. [Google Scholar] [CrossRef] - Murillo-Sandoval, P.J.; Hilker, T.; Krawchuk, M.A.; Van Den Hoek, J. Detecting and Attributing Drivers of Forest Disturbance in the Colombian Andes Using Landsat Time-Series. Forests
**2018**, 9, 269. [Google Scholar] [CrossRef] [Green Version] - Bernardino, P.N.; Keersmaecker, W.D.; Fensholt, R.; Verbesselt, J.; Somers, B.; Horion, S. Global-scale characterization of turning points in arid and semi-arid ecosystem functioning. Glob. Ecol. Biogeogr.
**2020**, 29, 1230–1245. [Google Scholar] [CrossRef] [Green Version] - Burrell, A.L.; Evans, J.P.; Liu, Y. Detecting dryland degradation using Time Series Segmentation and Residual Trend analysis (TSS-RESTREND). Remote Sens. Environ.
**2017**, 197, 43–57. [Google Scholar] [CrossRef] - Hamunyela, E.; Verbesselt, J.; Herold, M. Using spatial context to improve early detection of deforestation from Landsat time series. Remote Sens. Environ.
**2016**, 172, 126–138. [Google Scholar] [CrossRef] - Cleveland, R.; Cleveland, W.; McRae, J.E.; Terpenning, I.J. STL: A seasonal-trend decomposition procedure based on LOESS (with discussion). J. Off. Stat.
**1990**, 6, 3–73. [Google Scholar] - Bai, J.; Perron, P. Computation and analysis of multiple structural change models. J. Appl. Econom.
**2003**, 18, 1–22. [Google Scholar] [CrossRef] [Green Version] - Jakubauskas, M.E.; Legates, D.R.; Kastens, J.H. Harmonic analysis of time-series AVHRR NDVI data. Photogramm. Eng. Remote Sens.
**2001**, 67, 461–470. [Google Scholar] - Makridakis, S.G.; Wheelwright, S.C.; Hyndman, R.J. Forecasting: Methods and Applications, 3 ed.; Wiley: New York, NY, USA, 1997. [Google Scholar]
- Dutrieux, L.P.; Verbesselt, J.; Kooistra, L.; Herold, M. Monitoring forest cover loss using multiple data streams, a case study of a tropical dry forest in Bolivia. ISPRS J. Photogramm. Remote Sens.
**2015**, 107, 112–125. [Google Scholar] [CrossRef] - Zeileis, A.; Kleiber, C.; Krämer, W.; Hornik, K. Testing and dating of structural changes in practice. Comput. Stat. Data Anal.
**2003**, 44, 109–123. [Google Scholar] [CrossRef] [Green Version] - Liu, J.; Wu, S.; Zidek, J.V. On segmented multivariate regression. Stat. Sin.
**1997**, 7, 497–525. [Google Scholar] - Shao, Q.; Campbell, N.A. Applications: Modelling trends in groundwater levels by segmented regression with constraints. Aust. N. Z. J. Stat.
**2002**, 44, 129–141. [Google Scholar] [CrossRef] - Masiliūnas, D.; Verbesselt, J.; Zeileis, A.; Appel, M. bfast. Version 1.6.1; Zenodo: Genève, Switzerland, 2021. [Google Scholar] [CrossRef]
- Awty-Carroll, K.; Bunting, P.; Hardy, A.; Bell, G. An Evaluation and Comparison of Four Dense Time Series Change Detection Methods Using Simulated Data. Remote Sens.
**2019**, 11, 2779. [Google Scholar] [CrossRef] [Green Version] - Hafen, R. Stlplus: Enhanced Seasonal Decomposition of Time Series by Loess; R Package Version 0.5.1. 2016. Available online: https://cran.r-project.org/web/packages/stlplus/stlplus.pdf (accessed on 20 August 2021).
- Dutrieux, L.P.; Jakovac, C.C.; Latifah, S.H.; Kooistra, L. Reconstructing land use history from Landsat time-series: Case study of a swidden agriculture system in Brazil. Int. J. Appl. Earth Obs. Geoinf.
**2016**, 47, 112–124. [Google Scholar] [CrossRef] - Mersmann, O. Microbenchmark: Accurate Timing Functions; R Package Version 1.4-7. 2019. Available online: https://cran.r-project.org/web/packages/microbenchmark/microbenchmark.pdf (accessed on 20 August 2021).
- Badgley, G.; Field, C.B.; Berry, J.A. Canopy near-infrared reflectance and terrestrial photosynthesis. Sci. Adv.
**2017**, 3. [Google Scholar] [CrossRef] [Green Version] - Buchhorn, M.; Bertels, L.; Smets, B.; Roo, B.D.; Lesiv, M.; Tsendbazar, N.E.; Masiliūnas, D.; Li, L. Copernicus Global Land Service: Land Cover 100 m: Version 3 Globe 2015–2019: Algorithm Theoretical Basis Document; Zenodo: Genève, Switzerland, 2021. [Google Scholar] [CrossRef]
- Zhou, X.; Del Valle, A. Range Based Confusion Matrix for Imbalanced Time Series Classification. In Proceedings of the 2020 6th Conference on Data Science and Machine Learning Applications (CDMA), Riyadh, Saudi Arabia, 4–5 March 2020; pp. 1–6. [Google Scholar] [CrossRef]
- Cohen, W.B.; Healey, S.P.; Yang, Z.; Stehman, S.V.; Brewer, C.K.; Brooks, E.B.; Gorelick, N.; Huang, C.; Hughes, M.J.; Kennedy, R.E.; et al. How similar are forest disturbance maps derived from different Landsat time series algorithms? Forests
**2017**, 8, 98. [Google Scholar] [CrossRef] - Xu, L.; Herold, M.; Tsendbazar, N.E.; Masiliūnas, D.; Li, L.; Lesiv, M.; Fritz, S.; Verbesselt, J. Time series analysis for global land cover change monitoring: A comparison across sensors. in review.

**Figure 1.**A schematic overview of the algorithms: (

**a**) BFAST, (

**b**) BFAST Lite. Dashed line indicates an optional step that is disabled by default. The breakpoint detection step [18] involves the following substeps: the generation of components for model fitting, fitting the model itself, determining all possible breakpoints and selecting an optimal number of breakpoints.

**Figure 2.**Locations of all land cover change reference sites. Each site covers a 300 by 300 m area, aligned with the PROBA-V 300 m UTM grid, and indicates whether more than 50% of this area underwent a land cover change between each pair of years between 2015 and 2018. Sites with at least one year of land cover change are marked in red, others in green. Background: World Bank Official Boundaries.

**Figure 3.**Algorithm accuracy comparison across the range of confidence in the time series having at least one break (i.e., ordinary least squares residual moving sum (OLS-MOSUM) test p-value) among the entire reference data set. Towards the left on the x axis are time series with high confidence of a break and towards the right with a high confidence of no break. The data are binned to ∼1000 locations per bin.

**Figure 4.**Algorithm accuracy comparison across the range of confidence in the time series having at least one break (i.e., OLS-MOSUM test p-value) among time series that have at least one land cover change event. Towards the left on the x axis are time series with high confidence of a break and towards the right with a high confidence of no break. The data are binned to ∼300 locations per bin.

**Figure 5.**The run time benchmark between the tested algorithms. Each algorithm has been run 5 times on a dataset of 288 time series. The time axis represents the total time needed to process this dataset. “1 iter.” indicates that the algorithm was run for a single iteration rather than iteratively, and “linear int.” indicates filling in missing data using linear interpolation.

Algorithm | Sensitivity | Specificity | Precision | F1 score | OA | Beta |
---|---|---|---|---|---|---|

BFAST Lite (BIC) | 0.737 | 0.881 | 0.607 | 0.666 | 0.852 | 0.130 |

BFAST Lite (LWZ) | 0.569 | 0.943 | 0.715 | 0.633 | 0.868 | 0.146 |

BFAST (linear int.) | 0.880 | 0.807 | 0.518 | 0.653 | 0.821 | 0.362 |

BFAST (stlplus) | 0.811 | 0.832 | 0.540 | 0.648 | 0.827 | 0.271 |

BFAST Monitor | 0.852 | 0.851 | 0.587 | 0.695 | 0.851 | 0.265 |

**Table 2.**Feature comparison between the three BFAST family algorithms. See Table A1 for a detailed comparison of parameters between BFAST and BFAST Lite.

Algorithm | Advantages | Disadvantages |
---|---|---|

BFAST [2] | Detects breaks in trends and seasonality separately | Slow, limited number of parameters, overestimates change |

BFAST Monitor [3] | Designed to detect breaks at the end of time series (near real-time), fastest, many tunable parameters | By default not designed for multiple breakpoints, overestimates change |

BFAST Lite (this study) | Faster than BFAST, designed for multiple breakpoints, many tunable parameters, lowest bias between sensitivity and precision, highest OA | Needs parameter tuning to optimise performance, does not differentiate between breaks in seasonality and trend |

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |

© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Masiliūnas, D.; Tsendbazar, N.-E.; Herold, M.; Verbesselt, J.
BFAST Lite: A Lightweight Break Detection Method for Time Series Analysis. *Remote Sens.* **2021**, *13*, 3308.
https://doi.org/10.3390/rs13163308

**AMA Style**

Masiliūnas D, Tsendbazar N-E, Herold M, Verbesselt J.
BFAST Lite: A Lightweight Break Detection Method for Time Series Analysis. *Remote Sensing*. 2021; 13(16):3308.
https://doi.org/10.3390/rs13163308

**Chicago/Turabian Style**

Masiliūnas, Dainius, Nandin-Erdene Tsendbazar, Martin Herold, and Jan Verbesselt.
2021. "BFAST Lite: A Lightweight Break Detection Method for Time Series Analysis" *Remote Sensing* 13, no. 16: 3308.
https://doi.org/10.3390/rs13163308