Корреляция многомерного растра (Image Analyst)

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

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

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

Инструмент берет в качестве входных данных два многомерных растра, сравнивает две переменные при помощи метода корреляции Пирсона, Кендалла или Спирмена и выводит растр корреляции, где каждая ячейка представляет значения корреляции соответствующих массивов пикселов. Выходной растр может отображать, где две переменные коррелированы, а где они не коррелированы.

Инструмент также может вычислить взаимную корреляцию, где лаг является ненулевым значением, и вычислить автоматическую корреляцию, когда пара входных данных одинакова.

Вы можете анализировать корреляции между двумя переменными в одном или двух многомерных растрах. Выходными данными является растр корреляции, в котором каждый пиксел представляет корреляцию двух временных рядов из двух переменных. Инструмент можно использовать для вычисления корреляции с лагом, взаимной корреляции или автокорреляции. Например, растр корреляции на следующем рисунке вычислен по переменной влажности почвы во времени и переменной осадков во времени.

Иллюстрация

Иллюстрация инструмента Корреляция многомерного растра
Растр корреляции вычислен исходя из ежемесячной влажности почвы и ежемесячных осадков.

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

  • Для каждого местоположения пиксела в двух многомерных растрах инструмент использует два соответствующих массива пикселов из двух переменных и вычисляет значение корреляции. Инструмент сравнивает два упорядоченных массива для каждого перекрывающегося пиксела, отсекая ненужные данные. Когда длина массивов пикселов различна, хвост более длинного массива будет отсечен.

  • У двух многомерных растров должны быть одинаковые размер ячейки, пространственный экстент и проекция. Одинаковый временной экстент или интервал для них не требуются.

  • Используйте инструмент Агрегировать многомерный растр или функцию Интерполировать растр по измерению, чтобы пересчитать интервал измерения, если необходимы одинаковые интервалы.

  • Используйте инструмент Поднабор многомерного растра или функцию Многомерный фильтр, чтобы задать одинаковый экстент измерений.

  • Или можно использовать параметр Лаг для управления тем, как две переменные будут выровнены по измерению, чтобы вычислить значение корреляции, путем смещения массива пикселов на заданный шаг. Значение 0 указывает на отсутствие смещения, значение 2 означает смещение первой переменной на два индекса (шага) вперед для вычисления, -2 указывает на смещение первой переменной на два шага назад.

    Например, массив пикселов в первом растре: - 0, 1, 2, 3, а массив пикселов во втором: - 4, 5, 6, 7, 8, 9.

    Используйте параметр Лаг для фильтра многомерных данных
    Две переменные выровнены по измерению при помощи параметра Лаг. Для значения 0: будут вычислены 0, 1, 2, 3 против 4, 5, 6, 7; для значения 2: 0, 1, 2, 3 против 6, 7, 8, 9; а для значения -1: 1, 2, 3 против 4, 5, 6.

  • Лаг описывает ситуацию, в которой одна (ведущая) переменная взаимно коррелирует со значениями другой (запаздывающей) переменной в более поздние моменты времени и при синхронизации.

  • Взаимная корреляция вычисляет растр корреляции для каждого лага в указанном диапазоне, и итоговые растры корреляции будут сохранены как многоканальные растры. Если отмечен параметр Вычислить p-значение, в выходные данные будут добавлены дополнительные каналы. Разработайте свой рабочий процесс таким образом, чтобы избежать создания ненужных выходных каналов.

  • Для вычисления автокорреляции задайте первые и вторые входные данные с одинаковым многомерным растром, именем измерения и переменной.

Параметры

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

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

Первый многомерный растр в любом поддерживаемом формате.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service
Входной многомерный растр 2

Второй многомерный растр, который будет коррелирован с первым входным. Автокорреляция будет вычислена, если значение параметра Входной многомерный растр 1 будет таким же, как Входной многомерный растр 2. Автокорреляция относится к степени корреляции одних и тех же переменных между двумя последовательными временными интервалами.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service
Имя измерения растра 1
(Дополнительный)

Имя изменения первого набора данных, по которому задан массив пискелов. Если входные данные содержат два непространственных измерения, измерение необходимо указать. Длина измерения, используемого в корреляции, должна быть больше 2.

String
Переменная 1
(Дополнительный)

Имя переменной из первого входного растра.

String
Имя измерения растра 2
(Дополнительный)

Имя изменения второго набора данных. Длина измерения, используемого в корреляции, должна быть больше 2.

String
Переменная 2
(Дополнительный)

Имя переменной из второго входного растра.

String
Метод корреляции
(Дополнительный)

Определяет метод вычисления корреляции, который будет использоваться.

  • ПирсонКорреляция методом Пирсона. Это значение по умолчанию
  • СпирменКорреляция методом Спирмена.
  • КендаллКорреляция методом Кендалла.
String
Лаг
(Дополнительный)

Вычислите значение корреляции путем смещения массива пикселов на указанный шаг, от 0 до измерение/2, в зависимости от временного лага. По умолчанию - 0.

Long
Вычислить взаимную корреляцию в лагах
(Дополнительный)

Указывает, будет ли вычисляться взаимная корреляция в лагах.

Если включено, корреляции будут вычисляться в каждом лаге в пределах диапазона, заданного значением лага. Например, если значение лага равно 2, будут вычислены корреляции -2, -1, 0, 1 и 2 и сохранены как каналы в выходном растре.

  • Отмечено — Взаимная корреляция будет вычислена в лагах.
  • Не отмечено — Взаимная корреляция не будет вычислена в лагах. Это значение по умолчанию

Boolean
Вычислить p-значение
(Дополнительный)

Указывает, будет ли вычисляться p-значение в лагах. P-значение - это значение достоверности, которое описывает, насколько хорошо коррелируют две переменные.

  • Отмечено — p-значение будет вычислено в лагах. Выходные данные включат в себя дополнительные каналы, хранящие p-значение.
  • Не отмечено — p-значение не будет вычислено в лагах. Это значение по умолчанию

Boolean
Выходной растр максимальной корреляции
(Дополнительный)

Растр с двумя каналами со значениями максимальной корреляции и лагами, в которых произошла максимальная корреляция. Растр будет создан, если включен параметр Вычислить взаимную корреляцию в лагах.

Растр с двумя каналами со значениями максимальной корреляции и лагами, в которых произошла максимальная корреляция. Растр будет создан, если параметр calculate_xcorr задан как ALL_CROSS_CORRELATION.

Raster Dataset

Возвращаемое значение

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

Выходной набор растровых данных. Если значение параметра lag не равно 0, будет вычислена взаимная корреляция в каждом лаге и сохранена как каналы в выходных данных.

Raster Dataset

MultidimensionalRasterCorrelation(in_mdim_raster1, in_mdim_raster2, {dimension1}, {variable1}, {dimension2}, {variable2}, {corr_method}, {lag}, {calculate_xcorr}, {calculate_pvalue}, {out_max_corr_raster})
ИмяОписаниеТип данных
in_mdim_raster1

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

Первый многомерный растр в любом поддерживаемом формате.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service
in_mdim_raster2

Второй многомерный растр, который будет коррелирован с первым входным. Длина измерения, используемого в корреляции, должна быть больше 2. Автокорреляция будет вычислена, если значение параметра in_mdim_raster1 будет таким же, как in_mdim_raster2. Автокорреляция относится к степени корреляции одних и тех же переменных между двумя последовательными временными интервалами.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service
dimension1
(Дополнительный)

Имя изменения первого набора данных, по которому задан массив пискелов. Если входные данные содержат два непространственных измерения, измерение необходимо указать. Длина измерения, используемого в корреляции, должна быть больше 2.

String
variable1
(Дополнительный)

Имя переменной из первого входного растра.

String
dimension2
(Дополнительный)

Имя изменения второго набора данных. Длина измерения, используемого в корреляции, должна быть больше 2.

String
variable2
(Дополнительный)

Имя переменной из второго входного растра.

String
corr_method
(Дополнительный)

Определяет метод вычисления корреляции, который будет использоваться.

  • PEARSONКорреляция методом Пирсона. Это значение по умолчанию
  • SPEARMANКорреляция методом Спирмена.
  • KENDALLКорреляция методом Кендалла.
String
lag
(Дополнительный)

Вычислите значение корреляции путем смещения массива пикселов на указанный шаг, от 0 до измерение/2, в зависимости от временного лага. По умолчанию - 0.

Long
calculate_xcorr
(Дополнительный)

Указывает, будет ли вычисляться взаимная корреляция в лагах.

Если ALL_CROSS_CORRELATION указано, корреляции будут вычисляться в каждом лаге в пределах диапазона, заданного значением лага. Например, если значение лага равно 2, будут вычислены корреляции -2, -1, 0, 1 и 2 и сохранены как каналы в выходном растре.

  • ALL_CROSS_CORRELATIONВзаимная корреляция будет вычислена в лагах.
  • NO_CROSS_CORRELATIONВзаимная корреляция не будет вычислена в лагах. Это значение по умолчанию
Boolean
calculate_pvalue
(Дополнительный)

Указывает, будет ли вычисляться p-значение в лагах. P-значение - это значение достоверности, которое описывает, насколько хорошо коррелируют две переменные.

  • CALCULATE_P_VALUEP-значение будет вычислено в лагах. Выходные данные включат в себя дополнительные каналы, хранящие p-значение.
  • NO_P_VALUEP-значение не будет вычислено в лагах. Это значение по умолчанию
Boolean
out_max_corr_raster
(Дополнительный)

Растр с двумя каналами со значениями максимальной корреляции и лагами, в которых произошла максимальная корреляция. Растр будет создан, если параметр calculate_xcorr задан как ALL_CROSS_CORRELATION.

Raster Dataset

Возвращаемое значение

ИмяОписаниеТип данных
out_raster

Выходной набор растровых данных. Если значение параметра lag не равно 0, будет вычислена взаимная корреляция в каждом лаге и сохранена как каналы в выходных данных.

Raster Dataset

Пример кода

MultidimensionalRasterCorrelation, пример 1 (окно Python)
# Import system modules 
import arcpy 
from arcpy.ia import * 

# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 

# Execute 
arcpy.env.workspace = r"c:\data" 
output=arcpy.ia.MultidimensionalRasterCorrelation("soil2022.crf", "weather2022.crf", "StdTime", "soilm", "StdTime", "temperature", "PEARSON", 0, "NO_CROSS_CORRELATION", "NO_P_VALUE", None)
output.save("correlationraster.crf")
MultidimensionalRasterCorrelation, пример 2 (автономный скрипт)
# Import system modules 
import arcpy 
from arcpy.ia import * 

# Check out the ArcGIS Image Analyst extension license 
arcpy.CheckOutExtension("ImageAnalyst") 

# Define input parameters
raster1=r"E:\data\soil2022.crf"
raster2=r"E:\data\weather2022.crf"
dimension1="StdTime"
variable1="soilm"
dimension2="StdTime"
variable2="temperature"
correlation_method="PEARSON"
lag=3
calculate_cross_correlation="ALL_CROSS_CORRELATION"
calculate_pvalue="CACULATE_P_VALUE"
out_max_correlation_raster=r"E:\data\max_correlation.crf"

# Execute 
output = arcpy.ia.MultidimensionalRasterCorrelation(raster1, raster2, dimension1, variable1, dimension2, variable2, correlation _method, lag, calculate_cross_correlatio, calculate_pvalue, out_max_ correlation_raster)
output.save(r"E:\data\cross_correlation_raster.crf")

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