Announcement: All noncommercial projects registered to use Earth Engine before April 15, 2025 must verify noncommercial eligibility to maintain Earth Engine access.
Stay organized with collections
Save and categorize content based on your preferences.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-07-13 UTC."],[[["\u003cp\u003eExponentially Weighted Moving Average Change Detection (EWMACD) identifies disturbed pixels by comparing image data to a harmonic model and analyzing residuals using control charts.\u003c/p\u003e\n"],["\u003cp\u003eEWMACD uses a training period to establish a baseline and then monitors deviations from this baseline in subsequent years.\u003c/p\u003e\n"],["\u003cp\u003eThe output includes an EWMA score indicating disturbance (negative values) or recovery (positive values), harmonic coefficients, RMSE, r-squared, and residuals.\u003c/p\u003e\n"],["\u003cp\u003eUsers can customize parameters such as the training period, harmonic count, control limits, and persistence for change detection.\u003c/p\u003e\n"],["\u003cp\u003eThe algorithm is designed for analyzing multitemporal image collections, particularly for vegetation change detection using thresholds.\u003c/p\u003e\n"]]],[],null,["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.\n\n\u003cbr /\u003e\n\nThe output is a 5 band image containing the bands:\n\newma: a 1D array of the EWMA score for each input image. Negative values represent disturbance and positive values represent recovery.\n\nharmonicCoefficients: A 1-D array of the computed harmonic coefficient pairs. The coefficients are ordered as \\[constant, sin0, cos0, sin1, cos1...\\]\n\nrmse: the RMSE from the harmonic regression.\n\nrSquared: r-squared value from the harmonic regression.\n\nresiduals: 1D array of residuals from the harmonic regression.\n\nSee: 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.\n\n| Usage | Returns |\n|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|\n| `ee.Algorithms.TemporalSegmentation.Ewmacd(timeSeries, vegetationThreshold, trainingStartYear, trainingEndYear, `*harmonicCount* `, `*xBarLimit1* `, `*xBarLimit2* `, `*lambda* `, `*lambdasigs* `, `*rounding* `, `*persistence*`)` | Image |\n\n| Argument | Type | Details |\n|-----------------------|------------------------|-------------------------------------------------------------------------------------------------------------------------------|\n| `timeSeries` | ImageCollection | Collection from which to extract EWMA. This collection is expected to contain 1 image for each year and be sorted temporally. |\n| `vegetationThreshold` | Float | Threshold for vegetation. Values below this are considered non-vegetation. |\n| `trainingStartYear` | Integer | Start year of training period, inclusive. |\n| `trainingEndYear` | Integer | End year of training period, exclusive. |\n| `harmonicCount` | Integer, default: 2 | Number of harmonic function pairs (sine and cosine) used. |\n| `xBarLimit1` | Float, default: 1.5 | Threshold for initial training xBar limit. |\n| `xBarLimit2` | Integer, default: 20 | Threshold for running xBar limit. |\n| `lambda` | Float, default: 0.3 | The 'lambda' tuning parameter weighting new years vs the running average. |\n| `lambdasigs` | Float, default: 3 | EWMA control bounds, in units of standard deviations. |\n| `rounding` | Boolean, default: true | Should rounding be performed for EWMA. |\n| `persistence` | Integer, default: 3 | Minimum number of observations needed to consider a change. |"]]