Announcement: All noncommercial projects registered to use Earth Engine beforeApril 15, 2025 mustverify noncommercial eligibility to maintain access. If you have not verified by September 26, 2025, your access may be on hold.

ee.Algorithms.TemporalSegmentation.Ewmacd

  • Exponentially Weighted Moving Average Change Detection computes a harmonic model for training data, subtracts it, and analyzes residuals with Shewhart X-bar charts and EWMA to indicate disturbed pixels when exceeding control limits.

  • The output is a 5-band image containing EWMA score, harmonic coefficients, RMSE, r-squared, and residuals.

  • Negative EWMA values indicate disturbance, and positive values indicate recovery.

Exponentially Weighted Moving Average Change Detection. This algorithm computes a harmonic model for the 'training' portion of the input data and subtracts that from the original results. The residuals are then subjected to Shewhart X-bar charts and an exponentially weighted moving average. Disturbed pixels are indicated when the charts signal a deviation from the given control limits.

 The output is a 5 band image containing the bands:

    ewma: a 1D array of the EWMA score for each input image. Negative values represent disturbance and positive values represent recovery.

    harmonicCoefficients: A 1-D array of the computed harmonic coefficient pairs. The coefficients are ordered as [constant, sin0, cos0, sin1, cos1...]

    rmse: the RMSE from the harmonic regression.

    rSquared: r-squared value from the harmonic regression.

    residuals: 1D array of residuals from the harmonic regression.

See: Brooks, E.B., Wynne, R.H., Thomas, V.A., Blinn, C.E. and Coulston, J.W., 2014. On-the-fly massively multitemporal change detection using statistical quality control charts and Landsat data. IEEE Transactions on Geoscience and Remote Sensing, 52(6), pp.3316-3332.

UsageReturns
ee.Algorithms.TemporalSegmentation.Ewmacd(timeSeries, vegetationThreshold, trainingStartYear, trainingEndYear,harmonicCount,xBarLimit1,xBarLimit2,lambda,lambdasigs,rounding,persistence)Image
ArgumentTypeDetails
timeSeriesImageCollectionCollection from which to extract EWMA. This collection is expected to contain 1 image for each year and be sorted temporally.
vegetationThresholdFloatThreshold for vegetation. Values below this are considered non-vegetation.
trainingStartYearIntegerStart year of training period, inclusive.
trainingEndYearIntegerEnd year of training period, exclusive.
harmonicCountInteger, default: 2Number of harmonic function pairs (sine and cosine) used.
xBarLimit1Float, default: 1.5Threshold for initial training xBar limit.
xBarLimit2Integer, default: 20Threshold for running xBar limit.
lambdaFloat, default: 0.3The 'lambda' tuning parameter weighting new years vs the running average.
lambdasigsFloat, default: 3EWMA control bounds, in units of standard deviations.
roundingBoolean, default: trueShould rounding be performed for EWMA.
persistenceInteger, default: 3Minimum number of observations needed to consider a change.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2024-07-13 UTC.