Оценивает тренд для каждого пиксела вдоль измерения для одной или нескольких переменных в многомерном растре.
Использование
Приведем пример использования этого инструмента. У вас есть данные среднемесячной температуры океана за 40 лет, и вы хотите подогнать линию тренда для каждого пиксела, чтобы увидеть, где и как температура менялась с течением времени.
Поддерживаемые многомерные наборы растровых данных включают Cloud Raster Format (CRF), многомерные наборы данных мозаики или многомерные растровые слои, созданные с помощью файлов netCDF, GRIB или HDF.
Этот инструмент создает многомерный набор растровых данных в формате Cloud Raster Format (CRF). В настоящее время другие форматы выхода не поддерживаются.
По умолчанию выходной многомерный растр будет сжиматься с использованием типа сжатия LZ77. Однако рекомендуется изменить тип сжатия на LERC и настроить максимальное значение ошибки на основе ваших данных. Например, если вы ожидаете, что результаты анализа будут иметь точность до трех десятичных знаков, используйте 0,001 для максимального значения ошибки. Лучше избегать излишних требований к точности, поскольку они увеличивают время обработки и размер хранилища.
Этот инструмент может использоваться для размещения данных вдоль линейной, гармонической или полиномиальной линии тренда, или его можно использовать для определения тренда с помощью теста Mann-Kendall или Seasonal-Kendall.
Тесты Mann-Kendall и Seasonal-Kendall используются для определения наличия монотонного тренда в данных. Они являются непараметрическими, т.е. они не учитывают определенное распределение данных. Тест Mann-Kendall не учитывает корреляцию рядов или сезонные эффекты. Если данные являются сезонными, лучше использовать тест Seasonal-Kendall.
Если инструмент используется для выполнения теста Mann-Kendall или Seasonal-Kendall, выходными данными является пятиканальный растр:
Канал 1 = склон Сена
Канал 2 = p-значение
Канал 3 = оценка Mann-Kendall (S)
Канал 4 = S-дисперсия
Канал 5 = Z-оценка
Выходные данные теста Mann-Kendall или Seasonal-Kendall могут использоваться для определения пикселей в многомерных временных рядах, которые имеют статистически значимый тренд. Эту информацию можно использовать вместе с анализом линейного, гармонического или полиномиального тренда для получения значимых трендов во временных рядах. Вы можете сгенерировать маску, включающую пиксели со значимыми p-значениями, применить маску к многомерному растру и использовать этот многомерный растр с маской как входные данные для инструмента, чтобы выполнить анализ линейного, гармонического или полиномиального тренда.
Существует три варианта линии тренда для выстраивания тренда к значениям переменных по размеру: линейный, полиномиальный и гармонический. Три варианта выстраивания тренда описаны ниже.
Линейная – линейная линия тренда является наиболее подходящей прямой линией, которая используется для оценки простых линейных отношений. Линейный тренд выделяет скорость изменения, которая увеличивается или уменьшается с постоянной скоростью. Формула для линейной линии тренда выглядит следующим образом:
y = значение переменной пиксела
х = значение измерения
β0 = y-перехват
β1 = линейный уклон или скорость изменения
β1 > 0 указывает на растущий тренд
β1 < 0 указывает на убывающий тренд
Гармоническая – гармоническая линия тренда – это периодически повторяющаяся криволинейная линия, которая лучше всего используется для описания данных, следующих циклической схеме, например сезонных изменений температуры. Формула для гармонической линии тренда выглядит следующим образом:
y = значение переменной пиксела
t = дата по Юлианскому календарю
β0 = y-перехват
ß1 = скорость изменения
α, γ = коэффициенты межгодовых или внутригодовых изменений
ω = i
f = гармоническая частота
Полиномиальная – полиномиальная линия тренда – это кривая, которая используется для данных с флуктуациями. В этом случае значение полиномиального порядка используется для указания максимального числа возникающих флуктуаций. Формула для полиномиальной линии тренда выглядит следующим образом:
Если инструмент используется для анализа линейного, гармонического или полиномиального тренда, выходной растр тренда можно применить как входные данные инструмента Прогнозировать, используя растр тренда. Растр тренда представляют собой многомерный растр, в котором каждый срез является многоканальным растром, содержащим информацию о линии тренда. Если вы анализируете тренд для одной переменной в наборе данных, содержащем одно измерение (например, время), в выходном наборе данных будет один срез. При анализе одной переменной для набора данных, содержащего несколько измерений (например, время и глубину), каждый срез будет содержать информацию о тренде для каждого значения измерения, не включенного в анализ.
Для анализа линейного тренда выходные данные содержат трехканальные растры, где:
Канал 1 = Уклон
Канал 2 = Пересечение
Канал 3 = Среднеквадратичная ошибка (RMSE) или ошибка вокруг линии наилучшего соответствия
Для анализа гармонического тренда количество каналов на выходе зависит от порядка гармонической частоты. Когда установлена частота 1, в результате создается пятиканальный растр, где:
Канал 1 = Уклон
Канал 2 = Пересечение
Канал 3 = Harmonic_sin1
Канал 4 = Harmonic_cos1
Канал 5 = RMSE
Когда установлена частота 2, в результате создается семиканальный растр, где:
Канал 1 = Уклон
Канал 2 = Пересечение
Канал 3 = Harmonic_sin1
Канал 4 = Harmonic_cos1
Канал 5 = Harmonic_sin2
Канал 6 = Harmonic_cos2
Канал 7 = RMSE
Для анализа полиномиального тренда количество каналов на выходе зависит от степени полинома. Полиномиальное выстраивание второго порядка создает четырехканальный растр, где:
Канал 1 = Polynomial_2
Канал 2 = Polynomial_1
Канал 3 = Polynomial_0
Канал 4 = RMSE
Полиномиальное выстраивание третьего порядка создает пятиканальный растр, где:
Канал 1 = Polynomial_3
Канал 2 = Polynomial_2
Канал 3 = Polynomial_1
Канал 4 = Polynomial_0
Канал 5 = RMSE
Параметр Длина цикла гармонического тренда используется для указания количества и длины циклов, которые вы ожидаете увидеть в своих данных в течение дня или года. Например, если вы ожидаете, что ваши данные будут проходить через два цикла изменения в течение одного года, то продолжительность цикла составит 182,5 дня или 0,5 года. Если у вас есть данные о температуре, собранные через каждые три часа, и есть один цикл изменения в день, то продолжительность цикла будет составлять 1 день.
Параметр Частота используется для описания гармонической модели, чтобы соответствовать данным. Если частота установлена на 1, то для подгонки модели будет использоваться комбинация линейной и гармонической кривой первого порядка. Если частота равна 2, то для подгонки данных будет использоваться комбинация линейных гармонических кривых первого порядка и гармонических кривых второго порядка. Если частота равна 3, то для моделирования данных будет использоваться дополнительная гармоническая кривая третьего порядка и т. д.
Статистика соответствия модели может быть создана как дополнительные выходные данные для линейного, гармонического и полиномного растра тренда. Среднеквадратичная ошибка (RMSE), R-квадрат и значение p наклона тренда могут быть вычислены и отображены в окне Свойства выходного растра в разделе Статистика. Вы также можете отобразить статистику, отобразив выходной растр тренда в RGB и задав в качестве статистики красный, зеленый и синий каналы.
Измерение, по которому будет извлечен тренд для переменной или переменных, выбранных в анализе.
String
Переменные [Dimension Info] (Описание)
(Дополнительный)
Переменная или переменные, для которых будут рассчитываться тренды. Если переменная не задана, будет анализироваться первая переменная многомерного растра.
String
Тип тренда
(Дополнительный)
Задает тип анализа тренда для значений пикселов в данном измерении.
Линейная—Переменные значения пикселов будут расположены вдоль линии линейного тренда. Это значение по умолчанию.
Полиномиальная—Переменные значения пикселов будут расположены вдоль линии тренда полинома второго порядка.
Гармоническая—Переменные значения пикселов будут расположены вдоль линии гармонического тренда.
Mann-Kendall—Переменные значения пикселей будут оцениваться с помощью теста тренда Mann-Kendall.
Seasonal-Kendall—Переменные значения пикселей будут оцениваться с помощью теста тренда Seasonal-Kendall.
String
Частота / Порядок многочлена
(Дополнительный)
Частота или номер порядка полинома для использования в подгонке тренда. Если тренд полиномиальный, этот параметр определяет порядок полинома. Если тренд гармонический, этот параметр задает число моделей, используемых для подгонки тренда.
Этот параметр включается в анализ тренда только в том случае, если анализируемым измерением является время.
Если значение параметра Тип тренда Гармонический, используется значение по умолчанию 1, то есть для подгонки модели будет использоваться гармоническая кривая первого порядка.
Если значение параметра Тип трендаПолиномиальный, значение по умолчанию - 2, соответствующее полиному второго порядка.
Long
Игнорировать NoData
(Дополнительный)
Определяет, будут ли игнорироваться значения NoData в анализе.
Отмечено – анализ будет включать все действительные пикселы по данному измерению и игнорировать любые пикселы NoData. Используется по умолчанию.
Не отмечено – результатом анализа будет значение NoData, если для этого пиксела по данному измерению есть хотя бы одно значение NoData.
Boolean
Длина цикла
(Дополнительный)
Длина периодической вариации для моделирования. Этот параметр необходим, если для параметра Тип тренда задано Гармонический. Например, зеленый цвет листьев часто имеет один сильный цикл изменения в течение одного года, поэтому длина цикла составляет 1. Почасовые температурные данные имеют один сильный цикл изменения в течение одного дня, поэтому длина цикла равна 1 день.
Длина по умолчанию для данных, которые варьируются в зависимости от годового цикла, составляет 1 год.
Double
Единицы измерения цикла
(Дополнительный)
Определяет единицу времени, которая будет использоваться для длины гармонического цикла.
Дни—Единицей измерения длины для гармонического цикла является день.
Годы—Единицей измерения длины для гармонического цикла является год. Это значение по умолчанию.
String
RMSE
(Дополнительный)
Указывает, следует ли вычислить среднеквадратичную ошибку (RMSE) линии тренда.
Отмечено – RMSE будет рассчитана и отображена в свойствах набора растровых данных в разделе Статистика. Это значение по умолчанию.
Не отмечено – RMSE не вычисляется.
Boolean
R-квадрат
(Дополнительный)
Указывает, следует ли вычислять статистику пригодности R-квадрата для линии тренда.
Отмечено – значение R-квадрат будет рассчитано и отображено в свойствах набора растровых данных в разделе Статистика.
Не отмечено – R-квадрат не вычисляется. Это значение по умолчанию.
Boolean
P-значение коэффициента уклона
(Дополнительный)
Указывает, следует ли вычислять статистику p-значения для коэффициента уклона линии тренда.
Отмечено – p-значение будет рассчитано и отображено в свойствах набора растровых данных в разделе Статистика.
Не отмечено – p-значение не вычисляется. Это значение по умолчанию.
Boolean
Сезонный период
(Дополнительный)
Задает единицы измерения времени, использующиеся для продолжительности сезонного периода при выполнении теста Seasonal-Kendall.
Дни—Единицей измерения продолжительности для сезонного периода является день. Это значение по умолчанию.
Месяцы—Единицей измерения продолжительности для сезонного периода является месяц.
String
Возвращаемое значение
Подпись
Описание
Тип данных
Выходной многомерный растр
Выходной многомерный набор растровых данных Cloud Raster Format (CRF).
Измерение, по которому будет извлечен тренд для переменной или переменных, выбранных в анализе.
String
variables
[variables,...]
(Дополнительный)
Переменная или переменные, для которых будут рассчитываться тренды. Если переменная не задана, будет анализироваться первая переменная многомерного растра.
String
line_type
(Дополнительный)
Задает тип анализа тренда для значений пикселов в данном измерении.
LINEAR—Переменные значения пикселов будут расположены вдоль линии линейного тренда. Это значение по умолчанию.
POLYNOMIAL—Переменные значения пикселов будут расположены вдоль линии тренда полинома второго порядка.
HARMONIC—Переменные значения пикселов будут расположены вдоль линии гармонического тренда.
MANN-KENDALL—Переменные значения пикселей будут оцениваться с помощью теста тренда Mann-Kendall.
SEASONAL-KENDALL—Переменные значения пикселей будут оцениваться с помощью теста тренда Seasonal-Kendall.
String
frequency
(Дополнительный)
Частота или номер порядка полинома для использования в подгонке тренда. Если тренд полиномиальный, этот параметр определяет порядок полинома. Если тренд гармонический, этот параметр задает число моделей, используемых для подгонки тренда.
Этот параметр включается в анализ тренда только в том случае, если анализируемым измерением является время.
Если значение параметра line_type - HARMONIC, значение по умолчанию - 1, то есть для подгонки модели будет использоваться гармоническая кривая первого порядка.
Если значение параметра line_type - POLYNOMIAL, значение по умолчанию - 2, соответствующее полиному второго порядка.
Long
ignore_nodata
(Дополнительный)
Определяет, будут ли игнорироваться значения NoData в анализе.
DATA—Анализ будет включать все действительные пикселы по данному измерению и игнорировать любые пикселы NoData. Используется по умолчанию.
NODATA—Результатом анализа будет значение NoData, если для этого пиксела по данному измерению есть хотя бы одно значение NoData.
Boolean
cycle_length
(Дополнительный)
Длина периодической вариации для моделирования. Этот параметр требуется, когда для параметра line_type задано значение HARMONIC. Например, зеленый цвет листьев часто имеет один сильный цикл изменения в течение одного года, поэтому длина цикла составляет 1. Почасовые температурные данные имеют один сильный цикл изменения в течение одного дня, поэтому длина цикла равна 1 день.
Длина по умолчанию для данных, которые варьируются в зависимости от годового цикла, составляет 1 год.
Double
cycle_unit
(Дополнительный)
Определяет единицу времени, которая будет использоваться для длины гармонического цикла.
DAYS—Единицей измерения длины для гармонического цикла является день.
YEARS—Единицей измерения длины для гармонического цикла является год. Это значение по умолчанию.
String
rmse
(Дополнительный)
Указывает, следует ли вычислить среднеквадратичную ошибку (RMSE) линии тренда.
RMSE—RMSE будет вычислена. Это значение по умолчанию.
NO_RMSE—RMSE не будет вычисляться.
Boolean
r2
(Дополнительный)
Указывает, следует ли вычислять статистику пригодности R-квадрата для линии тренда.
R2—R-квадрат будет вычисляться.
NO_R2—R-квадрат не вычисляется. Это значение по умолчанию.
Boolean
slope_p_value
(Дополнительный)
Указывает, следует ли вычислять статистику p-значения для коэффициента уклона линии тренда.
SLOPEPVALUE—p-значение будет вычисляться.
NO_SLOPEPVALUE—p-значение не вычисляется. Это значение по умолчанию.
Boolean
seasonal_period
(Дополнительный)
Задает единицы измерения времени, использующиеся для продолжительности сезонного периода при выполнении теста Seasonal-Kendall.
DAYS—Единицей измерения продолжительности для сезонного периода является день. Это значение по умолчанию.
MONTHS—Единицей измерения продолжительности для сезонного периода является месяц.
String
Возвращаемое значение
Имя
Описание
Тип данных
out_multidimensional_raster
Выходной многомерный набор растровых данных Cloud Raster Format (CRF).
Raster
Пример кода
GenerateTrendRaster, пример 1 (окно Python)
В этом примере вычисляется соответствие полиномиальному тренду для данных об изменении количества выпадающих осадков с течением времени.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Execute
trendCoeffMultidim = arcpy.ia.GenerateTrendRaster("model_time_series.crf",
"StdTime", "precip", "POLYNOMIAL", 2, "DATA", None, '', "RMSE","R2", None)
# Save output
trendCoeffMultidim.save("C:/data/polynomial_trend_coefficients.crf")
GenerateTrendRaster, пример 2 (автономный скрипт)
В этом примере вычисляется соответствие полиномиальному тренду для данных об изменении температуры и солености при изменении глубины.
# Import system modules
import arcpy
from arcpy.ia import *
# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")
# Define input parameters
inFile = "C:/Data/ClimateVariables.crf"
dimensionName = "Depth"
variables = "salinity;temp"
trend_model = "LINEAR"
ignore_Nodata = "DATA"
# Execute - fit a linear model for salinity and temperature
trendCoeffMultidim = GenerateTrendRaster(inFile, dimensionName,
variables, trend_model, None, ignore_nodata)
# Save output
trendCoeffMultidim.save("C:/data/linear_trend_coefficients.crf")
GenerateTrendRaster, пример 3 (автономный скрипт)
В этом примере проверяется монотонный тренд, затем вычисляется соответствие гармоническому тренду по временным рядам NDVI.