2.2. Data Sets and Pre-Processing
Two NDVI time series from 2000 to 2009 are used for the first study region to compare BFAST with JUST. The 16-day Moderate Resolution Imaging Spectroradiometer (MODIS) NDVI composites (250 m spatial resolution) are used to obtain these two time series which are the same as the ones shown in the middle and bottom panels of Figure 8 in [
8], downloaded from [
45]. The binary MODIS Quality Assurance flags are used to choose the cloud-free data with optimal quality. The NDVI time series corresponding to the bottom panel of Figure 8 in [
8] has several missing values, replaced by linear interpolation between neighboring values within the time series before applying BFAST [
8,
45]. However, no interpolation technique is required when applying JUST.
For the second study region, Landsat 8 surface reflectance data products from the U.S. Geological Survey (USGS) with 30 m spatial resolution are used [
47]. The Landsat 8 satellite is in a near-polar, sun-synchronous, circular orbit with 705 km altitude and has a 16-day repeat cycle [
48]. The Landsat orbits are poleward convergent, and thus Landsat 8 sensor can acquire more frequent scene coverage at higher latitudes [
49]. The amount of Landsat data in the U.S. Landsat archive is not constant temporally and spatially among Landsat sensors due to various factors, such as sensor health, and the capability of data reception and acquisition [
48,
49,
50]. According to the product guide for the Landsat 8 surface reflectance code, the calibration parameters from the metadata files associated with the Landsat 8 data are used to generate Top Of Atmosphere (TOA) reflectance and TOA brightness temperature. Then an atmospheric correction procedure is applied to Landsat 8 TOA reflectance data, using additional input data, such as water vapor, ozone, and aerosol optical thickness, as well as a digital elevation derived model to generate the surface reflectance data products.
The surface reflectance bands 2 (Blue), 4 (Red), and 5 (Near Infrared) are used to calculate EVI defined as follows
where
,
, and
signify the spectral reflectance measurements acquired in the Near Infrared, Red, and Blue regions, respectively. Coefficients
G,
L,
, and
are the gain factor, canopy background adjustment, and aerosol resistance terms, respectively [
10]. Herein, the adopted coefficients
,
,
, and
for the Landsat 8 imagery are used [
51]. The scale factor
is multiplied by each band value to convert their values to floating point values from 0.0 to 1.0 before calculating EVI. This scale multiplication is not necessary for NDVI because NDVI defined by
with the value range from
to 1, does not have the adjustment factor
L [
11,
34,
52]. The value range for EVI is usually from
to 1 (may exceed) and varies between
and
for healthy vegetation [
52].
2.3. Weighted Vegetation Time Series
A per-pixel vegetation time series is obtained from a set of spatially aligned pixels in the vegetation images, also referred to as vegetation time series [
21].
Figure 2 demonstrates the process of obtaining an EVI time series from a set of spatially aligned pixels (shown in solid colors). The Pixel Quality Assessment (PQA) band obtained for each Landsat 8 satellite image is used to define the weights. According to the product guide for Landsat 8, if a pixel value in the PQA band is 322, 386, 834, 898, or 1346, then the pixel is clear, otherwise, there is a high chance that the pixel is contaminated with clouds, cloud shadows, water, snow, ice, smoke, or haze. The following technique shows how one may obtain a weighted vegetation time series using the PQA band.
The key point here is to assign lower weights to the observations with higher uncertainties, and vice versa. For a given Landsat 8 EVI image, first count the number of pixels for each spatial window of size nine whose PQA band values are not equal to 322, 386, 834, 898, or 1346 and denote it by
. To account more for the observational uncertainty corresponding to the pixel located at the window center, add one unit to
if that pixel is contaminated, so
. If
, then there is a high chance that the pixel in the center of the spatial window is contaminated, and so one may mask out that pixel (ignore the observation). Otherwise, assign an appropriate weight to each pixel located at the window center, herein defined by
and multiplied by 100 to express it as percentage. Therefore, for all spatially aligned windows with the same region coverage, a weighted vegetation time series will be obtained for the spatially aligned pixels located at centers of the spatial windows, see the shaded gray and solid pixels in
Figure 2 used to define weights for the solid pixels. Continuing this process for all the spatially aligned pixels located at the centers of the spatially aligned windows, a set of weighted vegetation time series will be obtained covering a region of interest (the second study region herein). For each pixel, considering the uncertainties in its neighboring pixels can reduce the noise effect of the pixel during the season-trend analysis because it is possible that the PQA band incorrectly states that the pixel is clear (cloud-free, etc.) while the PQA band shows some of the neighboring pixels are in fact contaminated. Choosing larger sizes for the spatial window (e.g., 25 pixels) may also provide a more reliable weight for the pixel in the center of the spatial window. The weighting procedure presented here could be applied to image time series prior to any change detection method. Therefore, this is an option for a generally improved pre-processing of optical satellite data.
2.4. Jumps Upon Spectrum and Trend (JUST)
This section focuses on analyzing a time series that can be a weighted vegetation time series. JUST is established by simultaneous estimation of spectrum and trend for a given time series with an associated covariance matrix whose inverse, denoted by
(weight matrix), can be used to control the effect of noisy measurements [
30]. Please note that the relative weights play a significant role for improving the estimation of trend and seasonal components, but the proposed method is not sensitive to any covariance factor [
53]. In the next section, the weight matrix is a diagonal matrix whose diagonal entries are obtained from the observational uncertainties and is treated as a vector for the sake of computational efficiency. The seasonal component of the time series may not be stable over time, i.e., its frequencies and amplitudes may change over time, and so performing the spectral analysis on the entire time series can potentially reduce the accuracy of estimating the trend and seasonal components [
30]. To detect jumps, a temporal segmentation technique is proposed to account for changes within the trend and seasonal components. A sequential approach is then performed that scans each time series segment using ALLSSA to determine statistically at which location there exists a significant jump in the segment.
For a better understanding of the segmentation of the time series, the term
window (temporal window) is used. In this terminology, a window contains a time series segment with its associated statistical weights as well as the constituents of known forms (e.g., linear trend) and sinusoidal functions being fitted to the segment [
30]. The window size
R is defined as the number of observations within the window or simply the segment size. However, the window length is the time difference between the last and the first observations within the window [
30]. For an unequally spaced time series, a translating window with a fixed size rather than a fixed length may contain additional observations from the neighboring seasons which may allow better estimation of trend and seasonal components, a useful approach when there are few observations available within a particular season [
54]. Please note that the window size selected herein is fixed during translation by
observations over time, and it is independent of frequency, a special case of LSWA when the window size parameter
is zero [
30].
For each segment of size R within the translating window, ALLSSA can be set up to find an optimal piece-wise linear function with two pieces along with a set of estimated sinusoidal functions (the sequential approach). In other words, the constituents of known forms in ALLSSA may be selected as the linear functions with two pieces whose intercepts and slopes will be simultaneously estimated with the sinusoidal functions. Therefore, sequentially two linear pieces will be selected that along with the estimated sinusoids minimize the weighted L2 norm of the residual segment, where the residual segment is the original segment minus the estimated linear trend with two pieces and the estimated sinusoids. In ALLSSA, for a given linear trend with two pieces as the constituents of known forms, the frequencies and amplitudes of the sinusoidal functions will be estimated simultaneously with the intercepts and slopes of the two linear pieces until there is no more statistically significant peak in the spectrum at a certain confidence level (usually selected at which corresponds to the significance level ).
Now, let
and
be the estimated slopes and
and
be the estimated intercepts of the two linear pieces for the segment, respectively. These estimated coefficients can be used to derive the direction and magnitude of the potential jump respectively as
where the hat symbol stands for estimation, and
is the time of the potential jump determined by the sequential approach. Please note that JUST can also detect
as the time when a jump in trend occurs even if
because the intercepts and slopes of the two linear trends can be different (
but still making the magnitude equal to zero (the word “jump” is used loosely in this case).
Figure 3a demonstrates three time series such that each has a jump at
(the ninth observation). The time series whose observations are shown by the blue circles has a weak jump at
with a small negative direction and a small positive magnitude. For example, a very small and negligible part of an arid region, corresponding to a per-pixel NDVI time series, starts growing plants around the jump location. One may disregard this jump by applying certain thresholds (e.g.,
and
, where
is the absolute value). The time series, shown by red diamonds, has a jump with
. For example, in real-world applications, a jump with a negative magnitude may have been created by harvesting, wildfire, insect attack, etc. The time series, shown by green squares, has a jump with positive direction and zero magnitude, e.g., it may have been created indirectly by irrigation after a gradual drought.
JUST evaluates a determined jump location
(breakpoint) by its occurrence that is the number of times that
is determined as a jump location within all the windows containing
. When there are several identical or close enough jump locations, each detected within a window, JUST selects the one that has the maximum occurrence, then the one whose time index
ℓ is closer to the time index of its corresponding window location [
30]. The latter is because the selected
has data support from both sides of the window, making the magnitude and direction of the jump more accurate [
30,
31]. Certain thresholds for the direction and magnitude of a jump may be applied at this point to ignore weak changes and to reduce false-positive rates in real-world applications.
Given the jump locations, ALLSSA may optionally be applied to a new set of segments to estimate the trend and seasonal components within each segment. A weighted moving average method, whose weights are obtained from a symmetric Gaussian function [
30], may then be applied to estimate the trend and seasonal components of the entire time series. Alternatively, given the jump locations, the LSWAVE software may be implemented to study seasonal changes in the time-frequency domain [
32].
To understand the JUST algorithm better, an NDVI time series along with two windows are illustrated in
Figure 3b. The red window translates to the green window by
observations (the windowing or segmentation approach). Within each window, the sequential approach is performed which finds a potential jump in the segment, see the red and green arrows pointing to the jumps detected within the red and green windows, respectively. Since the two detected jump locations are close to each other, JUST selects the point in the segment within the green window (see the green arrow) because it has more observations on its right hand side within the green window to support a more reliable simultaneous estimation of trend and seasonal components. Having the list of all detected jump locations within translating windows is useful as it may also reveal the potential outliers. For example, the observation shown by the red arrow in
Figure 3b, may be an outlier due to the presence of atmospheric or background noise that could not be detected from a cloud masking method, neither an appropriate weight could be assigned to this observation to mitigate its effect [
21,
55]. Please note that within each window, ALLSSA estimates a separate set of sinusoidal functions that can change as the window translates to account for the phenological changes [
7,
8,
56].
Figure 4 shows the flowchart of JUST for the sake of completeness.
The Ordinary Least-Squares (OLS) estimation simply fits the constituents of known forms, such as trends and sinusoids of known frequencies to the time series to estimate their coefficients [
22]. For each time series segment, the OLS-based method proposed herein (the simple case of JUST) finds an optimal piece-wise linear function with two pieces along with sinusoidal functions of fixed cyclic frequencies (
cycles per year) like in BFAST. The flowchart of the OLS-based method for a given time series is the same as the one shown in
Figure 4 but instead of applying ALLSSA, OLS is applied to estimate the trend and sinusoids of fixed cyclic frequencies (
cycles per year) for each segment. The OLS estimation not only may increase the false-positive rate for change detection but it may also cause the over/under-fitting problem [
21,
57]. Unlike the OLS-based method, JUST searches each segment to find statistically significant spectral peaks without any assumptions on the existence of seasonal component and its frequencies. JUST simultaneously estimates the trend and statistically significant seasonal components within each segment, introducing a robust change detection method.
To validate the sequential approach and also to seek an effective window size for the segmentation approach, in
Section 3.1.1 and
Section 3.1.2, the results of jump detection methods using two window sizes
and
are compared, where
M is an average sampling rate. For an unequally spaced time series, the sampling rate cannot be a fixed number [
58], and so an average sampling rate may be computed as
, where
n is the number of observations,
is the start time, and
is the end time, e.g.,
observations per year, where
and
. Both window sizes can account for inter-annual variations caused by several factors, such as climate change, land management or land degradation [
7,
59]. It is shown that selecting window size
performs better in identifying true jumps within time series with poorer signal-to-noise ratio than
, however,
can be a better choice for less noisy time series whose components have more variability of amplitude and frequency over time. Please note that noise in this context refers to components other than trend and seasonal, such as random noise from cloud contamination, and other high-frequency signatures. For the automation purposes in environmental applications,
and
are recommended. This selection is capable of detecting jumps occurred approximately one year apart and is robust in capturing inter-annual and seasonal variations within satellite image time series. The main inputs and outputs of the JUST code are listed in
Table 1.