bfast-package {bfast} | R Documentation |
Breaks For Additive Season and Trend (BFAST)
Description
BFAST integrates the decomposition of time series into trend, seasonal, and remainder components with methods for detecting and characterizing abrupt changes within the trend and seasonal components. BFAST can be used to analyze different types of satellite image time series and can be applied to other disciplines dealing with seasonal or non-seasonal time series,such as hydrology, climatology, and econometrics. The algorithm can be extended to label detected changes with information on the parameters of the fitted piecewise linear models.
Additionally monitoring disturbances in BFAST-type models at the end of time series (i.e., in near real-time) is available: Based on a model for stable historical behaviour abnormal changes within newly acquired data can be detected. Different models are available for modeling the stable historical behavior. A season-trend model (with harmonic seasonal pattern) is used as a default in the regresssion modelling.
Details
The package contains:
-
bfast()
: Main function for iterative decomposition and break detection as described in Verbesselt et al (2010a,b). -
bfastlite()
: lightweight and fast detection of all breaks in a time series using a single iteration with all components at once. -
bfastmonitor()
: Monitoring approach for detecting disturbances in near real-time (see Verbesselt et al. 2012). -
bfastpp()
: Data pre-processing for BFAST-type modeling. Functions for plotting and printing, see
bfast()
.-
simts: Artificial example data set.
-
harvest: NDVI time series of a P. radiata plantation that is harvested.
-
som: NDVI time series of locations in the south of Somalia to illustrate the near real-time disturbance approach
Package options
bfast uses the following options to modify the default behaviour:
-
bfast.prefer_matrix_methods
: logical value defining whether methods should try to use the design matrix instead of the formula and a dataframe whenever possible. This can avoid expensive repeated calls ofmodel.matrix
andmodel.frame
and make model fitting faster usinglm.fit
. -
bfast.use_bfastts_modifications
: logical value defining whether a faster version ofbfastts()
should be used. -
strucchange.use_armadillo
: logical value defining whether to use C++ optimised code paths in strucchangeRcpp.
By default, all three are enabled.
See set_fallback_options()
for a convenient interface for setting them all off
for debugging purposes.
References
Verbesselt J, Zeileis A, Herold M (2012). “Near real-time disturbance detection using satellite image time series.” Remote Sensing of Environment, 123, 98–108. ISSN 0034-4257, doi: 10.1016/j.rse.2012.02.022, https://doi.org/10.1016/j.rse.2012.02.022.
Verbesselt J, Hyndman R, Newnham G, Culvenor D (2010). “Detecting trend and seasonal changes in satellite image time series.” Remote Sensing of Environment, 114(1), 106–115. ISSN 0034-4257, doi: 10.1016/j.rse.2009.08.014, https://doi.org/10.1016/j.rse.2009.08.014.
Verbesselt J, Hyndman R, Zeileis A, Culvenor D (2010). “Phenological change detection while accounting for abrupt and gradual trends in satellite image time series.” Remote Sensing of Environment, 114(12), 2970–2980. ISSN 0034-4257, doi: 10.1016/j.rse.2010.08.003, https://doi.org/10.1016/j.rse.2010.08.003.