ee.Algorithms.TemporalSegmentation.C2c

Реализация алгоритма Composite 2 Change (C2C). Этот алгоритм сегментирует временной ряд, используя кусочно-линейную аппроксимацию с минимальным количеством сегментов, необходимых для соответствия данным в пределах заданной максимальной среднеквадратичной ошибки (RMSE). Для каждого входного диапазона алгоритм возвращает следующие выходные диапазоны:
  • changeDate (Array[Double]): Даты, в которые обнаруживаются изменения. Формат даты определяется аргументом dateFormat.
  • значение (Array[Double]): Значение полосы в каждую дату изменения.
  • Величина (Array[Double]): разница между значениями до и после даты изменения. Первая величина всегда равна NaN.
  • duration (Array[Double]): Длительность сегмента, предшествующего дате изменения. Первая длительность всегда равна NaN.
  • rate (Array[Double]): Скорость изменения данных, предшествующих дате изменения. Первое значение rate всегда равно NaN.
Если параметр includePostMetrics имеет значение true, то для каждого диапазона включаются следующие переменные.
  • postMagnitude (Array[Double]): Абсолютная разница между значением в начале следующего сегмента и значением на дату изменения. Последнее значение postMagnitude всегда равно NaN.
  • postDuration (Array[Double]): Продолжительность сегмента, следующего за датой изменения. Последнее значение postDuration всегда равно NaN.
  • postRate (Array[Double]): Скорость изменения данных после даты изменения. Последнее значение postRate всегда равно NaN.
Если параметр includeRegrowth имеет значение true, то для каждой полосы включаются следующие переменные.
  • indexRegrowth (Array[Double]): Разница между значением на дату изменения и значением через пять точек данных.
  • recoveryIndicator (Array[Double]): отношение indexRegrowth к magnitude.
  • regrowth60 (Array[Double]): Разница во времени между датой изменения и точкой данных, где значение ряда составляет 60% от значения до возмущения.
  • regrowth80 (Array[Double]): Разница во времени между датой изменения и точкой данных, где значение ряда составляет 80% от значения до возмущения.
  • regrowth100 (Array[Double]): Разница во времени между датой изменения и точкой данных, где значение ряда составляет 100% от значения до возмущения.
См.: Hermosilla et al. (2015) https://doi.org/10.1016/j.rse.2014.11.005 для получения более подробной информации об оригинальном алгоритме. Реализация алгоритма доступна на GitHub: https://github.com/saveriofrancini/C2C-GEE Благодарности: FORWARDS и NextGenCarbon.

Цитирование: Тхомин Эрмосилья, Майкл А. Вулдер, Джоанн К. Уайт, Николас К. Купс, Даниэль Коэльо, Джованни Чиатто, Ноэль Горелик и Саверио Франчини. В процессе подготовки. Композитинг изображений, обнаружение изменений во временных рядах и временные метрики: реализация алгоритма Composite2Change (C2C) на Google Earth Engine.

Данный алгоритм находится на стадии предварительного просмотра и может быть изменен.

Использование Возвраты
ee.Algorithms.TemporalSegmentation.C2c(collection, dateFormat , maxErrorList , spikesToleranceList , spikeRemovalMagnitudeList , maxError , maxSegments , infill , spikesTolerance , spikeRemovalMagnitude , includePostMetrics , includeRegrowth , interpolateRegrowth , useRelativeRegrowth , negativeMagnitudeOnly ) Изображение
Аргумент Тип Подробности
collection Коллекция изображений Набор изображений, на которых будет запущен C2C.
dateFormat Целое число, по умолчанию: 0 Временная модель, используемая во время подгонки: 0 = jDays, 1 = дробные годы, 2 = время Unix в миллисекундах. Время начала, окончания и окончания каждого временного сегмента будет закодировано таким образом.
maxErrorList Список, по умолчанию: {} Список значений максимальной ошибки (RMSE), которые будут использоваться для каждого диапазона. Если значение maxError не указано, оно будет использоваться для всех диапазонов.
spikesToleranceList Список, по умолчанию: {} Список значений допустимых пиков, используемых для каждого диапазона. Значение 1 означает отсутствие удаления пиков. Если значение не указано, для всех диапазонов будет использоваться значение spikesTolerance.
spikeRemovalMagnitudeList Список, по умолчанию: {} Список значений величины пиков, используемых для удаления всплесков в каждом диапазоне. Пики с величиной выше этого значения удаляются. Если значение не указано, для всех диапазонов будет использоваться значение spikeRemovalMagnitude.
maxError Число с плавающей запятой, значение по умолчанию: 0,075 Максимально допустимая среднеквадратичная ошибка (RMSE) кусочно-линейной аппроксимации; контролирует чувствительность сегментации.
maxSegments Целое число, по умолчанию: 6 Максимально допустимое количество сегментов в подобранной траектории.
infill Логическое значение, по умолчанию: true Позволяет заполнять пробелы во временном ряду для обеспечения стабильной подгонки при наличии пропущенных значений (т. е. значений, равных 0).
spikesTolerance Число с плавающей запятой, значение по умолчанию: 0,85 Регулирует допустимый уровень всплесков во временном ряду. Диапазон значений от 0 до 1. Значение 1 означает отсутствие удаления всплесков, меньшие значения — более агрессивное удаление.
spikeRemovalMagnitude Число с плавающей запятой, значение по умолчанию: 0.1 Пороговое значение величины, при котором происходит удаление пиков. Удаляются пики с величиной (абсолютная разница со средним значением соседних пиков), превышающей это значение.
includePostMetrics Логическое значение, по умолчанию: true Возвращает дескрипторы изменений (postMagnitude, postDuration, postRate).
includeRegrowth Логическое значение, по умолчанию: false Возвращает метрики восстановления/повторного роста (indexRegrowth, recoveryIndicator, regrowth60/80/100).
interpolateRegrowth Логическое значение, по умолчанию: true Перед расчетом показателей восстановления выполните линейную интерполяцию временного ряда, используя обнаруженные изменения.
useRelativeRegrowth Логическое значение, по умолчанию: false Вычисляет пороговые значения возобновления роста в относительном выражении по сравнению с условиями до нарушения.
negativeMagnitudeOnly Логическое значение, по умолчанию: false Сохраняет только точки разрыва, связанные с отрицательными изменениями (направленная фильтрация).