Создать растр тренда (Image Analyst)

Доступно с лицензией Image Analyst.

Краткая информация

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

Использование

  • Приведем пример использования этого инструмента. У вас есть данные среднемесячной температуры океана за 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 = гармоническая частота
    • Полиномиальная – полиномиальная линия тренда – это кривая, которая используется для данных с флуктуациями. В этом случае значение полиномиального порядка используется для указания максимального числа возникающих флуктуаций. Формула для полиномиальной линии тренда выглядит следующим образом:
      уравнение полиномиальной линии тренда
      • y = значение переменной пиксела
      • х = значение измерения
      • ß0, ß1, ß2, ß3, ..., ßn = константные коэффициенты
  • Если инструмент используется для анализа линейного, гармонического или полиномиального тренда, выходной растр тренда можно применить как входные данные инструмента Прогнозировать, используя растр тренда. Растр тренда представляют собой многомерный растр, в котором каждый срез является многоканальным растром, содержащим информацию о линии тренда. Если вы анализируете тренд для одной переменной в наборе данных, содержащем одно измерение (например, время), в выходном наборе данных будет один срез. При анализе одной переменной для набора данных, содержащего несколько измерений (например, время и глубину), каждый срез будет содержать информацию о тренде для каждого значения измерения, не включенного в анализ.

    Для анализа линейного тренда выходные данные содержат трехканальные растры, где:

    • Канал 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 и задав в качестве статистики красный, зеленый и синий каналы.

Параметры

ПодписьОписаниеТип данных
Входной многомерный растр

Входной многомерный набор растровых данных.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
Измерение

Измерение, по которому будет извлечен тренд для переменной или переменных, выбранных в анализе.

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).

Raster

GenerateTrendRaster(in_multidimensional_raster, dimension, {variables}, {line_type}, {frequency}, {ignore_nodata}, {cycle_length}, {cycle_unit}, {rmse}, {r2}, {slope_p_value}, {seasonal_period})
ИмяОписаниеТип данных
in_multidimensional_raster

Входной многомерный набор растровых данных.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
dimension

Измерение, по которому будет извлечен тренд для переменной или переменных, выбранных в анализе.

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) линии тренда.

  • RMSERMSE будет вычислена. Это значение по умолчанию.
  • NO_RMSERMSE не будет вычисляться.
Boolean
r2
(Дополнительный)

Указывает, следует ли вычислять статистику пригодности R-квадрата для линии тренда.

  • R2R-квадрат будет вычисляться.
  • NO_R2R-квадрат не вычисляется. Это значение по умолчанию.
Boolean
slope_p_value
(Дополнительный)

Указывает, следует ли вычислять статистику p-значения для коэффициента уклона линии тренда.

  • SLOPEPVALUEp-значение будет вычисляться.
  • NO_SLOPEPVALUEp-значение не вычисляется. Это значение по умолчанию.
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.

# 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/ndvi_time_series.crf"
dimensionName = "StdTime"
variables = "ndvi"
trend_test = "SEASONAL_KENDALL"
trend_model = "HARMONIC"
harmonic_frequency = 1
ignore_Nodata = "DATA"
length_of_cycle = 365.25
rmse = RMSE
r_square = NO_r2
p_value = NO_SLOPEPVALUE

# Test for monotonic trend 

trendtest = GenerateTrendRaster(inFile, dimensionName, variables,
	trend_test, '', ignore_Nodata, '', '', '', '', '', 'MONTHS')

# Execute 
trendCoeffMultidim = GenerateTrendRaster(inFile, dimensionName, 
	variables, trend_model, harmonic_frequency, ignore_nodata,
	length_of_cycle,rmse,r_square,p_value)
	
# Save output
trendCoeffMultidim.save("C:/data/harmonic_trend_coefficients.crf")

Информация о лицензиях

  • Basic: Обязательно Image Analyst
  • Standard: Обязательно Image Analyst
  • Advanced: Обязательно Image Analyst

Связанные разделы