Подпись | Описание | Тип данных |
Входной куб Пространство-Время | Куб пространство-время, содержащий переменную для анализа. У файлов куба пространство-время расширение - .nc; они создаются разнообразными инструментами в наборе инструментов Углубленный анализ пространственно-временных закономерностей. | File |
Переменная анализа | Числовая переменная в файле netCDF, меняющаяся во времени, которая будет использована для различения кластеров. | String |
Выходные объекты | Новый выходной класс объектов, содержащий все местоположения куба пространства-времени и поле, обозначающее принадлежность к кластерам. Этот класс объектов является 2D представлением кластеров в ваших данных. | Feature Class |
Характеристика интереса | Указывает характеристики временного ряда, которые будут использоваться для определения того, какие местоположения должны быть кластеризованы вместе.
| String |
Число кластеров (Дополнительный) | Число создаваемых кластеров. Если оставить пустым, инструмент определит оптимальное число кластеров с помощью псевдо F-статистики. Оптимальное число кластеров будет показано в окне сообщения. | Long |
Выходная таблица для диаграмм (Дополнительный) | Если задано, в эту таблицу помещаются репрезентативные временные ряды для каждого кластера, основанные на двух параметрах: среднее каждого кластера временных рядов и медоид временных рядов. Диаграммы, созданные из этой таблицы, доступны в разделе Автономные таблицы. | Table |
Игнорируемые характеристики временных рядов (Дополнительный) | Задает характеристики, которые будут игнорироваться при определении сходства между двумя временными рядами. Если обе характеристики игнорируются, то два временных ряда будут считаться похожими, если длительности периодов одинаковы, даже если они начинаются в разное время и имеют разные значения в пределах периодов.
| String |
Включение всплывающих окон временных рядов (Дополнительный) | Указывает, будут ли во всплывающих окнах каждого выходного объекта создаваться диаграммы временных рядов, показывающие временные ряды объекта и средние временные ряды всех объектов в том же кластере, что и объект.
| Boolean |
Краткая информация
Разделяет временные ряды, хранящиеся в кубе пространства-времени, на основе сходства характеристик временных рядов. Временные ряды могут быть кластеризованы на основе трех критериев: одинаковые значения времени, одновременная тенденция к увеличению и уменьшению и сходные повторяющиеся закономерности. На выходе этого инструмента создается 2D карта, отображающая каждое местоположение в кубе, обозначенное принадлежностью к кластеру, и сообщениями. В выходных данных также имеется диаграмма с информацией о репрезентативной сигнатуре временных рядов для каждого кластера.
Подробнее о том, как работает инструмент Кластеризация временных рядов
Иллюстрация
Использование
Этот инструмент использует файлы netCDF, созданные инструментами в Наборе инструментов Углубленный анализ пространственно-временных закономерностей.
Инструмент сравнивает временные ряды в каждом местоположении со всеми остальными местоположениями во Входном кубе пространства-времени, и временные ряды кластеризуются на основе сходства. Параметр Характеристика интереса используется для задания характеристики, которая будет определять сходство двух временных рядов, и можно установить сходство на основе одной из трех характеристик:
- Значение - Временные ряды схожи, если имеют приблизительно равные значения Переменной анализа во времени. Например, временной ряд со значениями (1, 0, 1, 0, 1) больше схож с временным рядом со значениями (1, 1, 1, 1, 1), чем с временным рядом со значениями (10, 0, 10, 0, 10), потому что значения более схожи.
- Профиль (Корреляция) – временные ряды схожи, если их значения имеют тенденцию к увеличению и уменьшению в одно и то же время и приблизительно пропорциональны (другими словами, что они коррелируются во времени). Например, временной ряд со значениями (1, 0, 1, 0, 1) больше схож с временным рядом со значениями (10, 0, 10, 0, 10), чем с временным рядом со значениями (1, 1, 1, 1, 1), потому что значения увеличиваются и уменьшаются одновременно и сохраняют пропорции.
- Профиль (Фурье) - Временные ряды схожи, если имеют одинаковые гладкие периодические закономерности значений во времени. Эти периоды иногда называют циклами или сезонами, и они представляют собой длительность закономерности, который затем повторяется в новом периоде. Например, компании могут увидеть периодически повторяющиеся еженедельные закономерности в общих продажах, с периодом, начинающимся в понедельник и заканчивающимся в воскресенье. При необходимости можно проигнорировать некоторые характеристики этих закономерностей, используя параметр Игнорируемые характеристики временных рядов. Повторяющиеся закономерности обнаруживаются с помощью функционального анализа данных Фурье. Чтобы этот параметр был наиболее эффективным, временной ряд входного куба пространство-время должен охватывать полностью хотя бы один период. Например, годовой цикл температур определяется сезонами, но если все данные были собраны в течение нескольких месяцев одного года, этот параметр может быть не в состоянии обнаружить годовой цикл.
Используя определение подобия, положения куба пространства-времени группируются с помощью одного из нескольких алгоритмов кластеризации для получения конечных кластеров, возвращаемых инструментом. Дополнительную информацию об алгоритмах кластеризации см. в разделе Как работает кластеризация временных рядов.
Выходные объекты будут добавлены на панель Содержание с применением метода отображения, основанного на поле CLUSTER_ID, который обозначает принадлежность каждого кластера определенному местоположению. Если вы указали, что требуется три кластера, каждая запись будет содержать значение Value 1, 2 или 3 в поле CLUSTER_ID. Поле CENTER_REP используется для идентификации медоида временного ряда каждого кластера и содержит значение 1 для медоида временного ряда каждого кластера и 0 для всех других объектов.
-
Этот инструмент создает сообщения и, дополнительно, диаграммы, которые помогают понять характеристики определенных кластеров. Вы можете получить доступ к сообщению, переместив курсор мыши на индикатор выполнения, щелкнув на всплывшую кнопку или развернув раздел сообщений на панели Геообработка. Вы также можете открыть сообщения, касающиеся предыдущего запуска инструмента Кластеризация временных рядов с панели История геообработки. Если вы зададите Выходную таблицу для диаграмм, то для выходной таблицы будут созданы диаграммы, отображающие средние временные ряды для каждого кластера и медоид временных рядов в каждом кластере. Доступ к этим диаграммам можно получить на панели Содержание под таблицей, созданной в разделе Автономные таблицы. Дополнительные сведения о выходных сообщениях и диаграммах см. в разделе Как работает инструмент Кластеризация временных рядов.
-
Иногда вы знаете какое число кластеров лучше всего подходит для ваших данных. Если это не так, можно попробовать различные количества кластеров, отмечая, какие значения обеспечивают наилучшую дифференциацию кластеров. Если оставить параметр Число кластеров пустым, инструмент будет оценивать оптимальное число кластеров с помощью псевдо F-статистики и сообщит об оптимальном числе кластеров в виде сообщения геообработки. Чем больше псевдо F-статистика, тем больше каждый кластер отличается от других кластеров. Оптимальное число кластеров не будет больше 10, и вычисление оптимального числа кластеров занимает большую часть времени выполнения инструмента. Рекомендуется указать число кластеров, если известно соответствующее значение или если время выполнения инструмента слишком велико.
При расчете оптимального количества кластеров инструмент будет искать значение между двумя и десятью кластерами. Для каждого из этих 9 возможных чисел кластеров инструмент будет выполнять кластеризацию 10 раз, используя случайные начальные значения (за исключением случаев, когда Профиль (Корреляция) используется с более чем 10 000 местоположениями в кубе пространства-времени, когда каждое число соседей повторяется 20 раз). Это дает 90 (или 180) возможных результатов кластеризации (по 10 или 20 для каждого из 9 возможных вариантов числа кластеров), и для конечного числа кластеров, используемых в инструменте, выбирается тот, который имеет наибольшую псевдо F-статистику. Самая большая псевдо F-статистика для каждого из девяти возможных кластеров выводится в виде таблицы в сообщениях геообработки.
Примечание:
Псевдо F-статистика бесконечности означает, что все временные ряды в одном кластере имеют одинаковые значения.
-
ID кластера, присваиваемый значению, может меняться при последующих запусках инструмента, поскольку алгоритм случайно выбирает начальные значения для отсчета кластеров. Например, предположим, что вы разбиваете местоположения на два кластера на основе ежегодного прироста населения. При первом запуске анализа вы можете видеть, что местоположения с высоким приростом обозначены как кластер 2, а объекты с низким - как кластер 1; при повторном запуске этого же анализа, объекты с высоким приростом могут быть обозначены как кластер 1. Вы также можете видеть, что некоторые объекты со средним приростом переходят из одного кластера в другой. Это связано со случайной составляющей в алгоритме кластеризации. Если результаты кластеризации существенно меняются при повторном запуске инструмента с теми же параметрами, это может говорить о необходимости изменить параметр Число кластеров.
Параметры
arcpy.stpm.TimeSeriesClustering(in_cube, analysis_variable, output_features, characteristic_of_interest, {cluster_count}, {output_table_for_charts}, {shape_characteristic_to_ignore}, {enable_time_series_popups})
Имя | Описание | Тип данных |
in_cube | Куб пространство-время, содержащий переменную для анализа. У файлов куба пространство-время расширение - .nc; они создаются разнообразными инструментами в наборе инструментов Углубленный анализ пространственно-временных закономерностей. | File |
analysis_variable | Числовая переменная в файле netCDF, меняющаяся во времени, которая будет использована для различения кластеров. | String |
output_features | Новый выходной класс объектов, содержащий все местоположения куба пространства-времени и поле, обозначающее принадлежность к кластерам. Этот класс объектов является 2D представлением кластеров в ваших данных. | Feature Class |
characteristic_of_interest | Указывает характеристики временного ряда, которые будут использоваться для определения того, какие местоположения должны быть кластеризованы вместе.
| String |
cluster_count (Дополнительный) | Число создаваемых кластеров. Если оставить пустым, инструмент определит оптимальное число кластеров с помощью псевдо F-статистики. Оптимальное число кластеров будет показано в окне сообщения. | Long |
output_table_for_charts (Дополнительный) | Если задано, в эту таблицу помещаются репрезентативные временные ряды для каждого кластера, основанные на двух параметрах: среднее каждого кластера временных рядов и медоид временных рядов. Диаграммы, созданные из этой таблицы, доступны в разделе Автономные таблицы. | Table |
shape_characteristic_to_ignore [shape_characteristic_to_ignore,...] (Дополнительный) | Задает характеристики, которые будут игнорироваться при определении сходства между двумя временными рядами.
Если обе характеристики игнорируются, то два временных ряда будут считаться похожими, если длительности периодов одинаковы, даже если они начинаются в разное время и имеют разные значения в пределах периодов. | String |
enable_time_series_popups (Дополнительный) | Указывает, будут ли во всплывающих окнах каждого выходного объекта создаваться диаграммы временных рядов, показывающие временные ряды объекта и средние временные ряды всех объектов в том же кластере, что и объект. Всплывающие окна временных рядов не поддерживаются для выходных данных в формате шейп-файл.
| Boolean |
Пример кода
Скрипт Python, демонстрирующий использование функции TimeSeriesClustering.
import arcpy
arcpy.env.workspace = r"C:\Analysis"
# Value
arcpy.stpm.TimeSeriesClustering(r"Temperature.nc",
"Air_NONE_ZEROS", r"Analysis.gdb\Temp_Value_3Clusts",
"VALUE", 3, "Temp_Value_3Clusts_Chart", None, "CREATE_POPUP")
# Profile - correlation
arcpy.stpm.TimeSeriesClustering(r"Temperature.nc", "Air_NONE_ZEROS",
r"Analysis.gdb\Temp_Profile_3Clusts", "PROFILE", 3,
r"Temp_Profile_3Clusts_Chart", None, "CREATE_POPUP")
# Profile - Fourier
arcpy.stpm.TimeSeriesClustering(r"Temperature.nc",
"Air_NONE_ZEROS", r"Analysis.gdb\Temp_Fourier_3Clusts",
"PROFILE_FOURIER", 3, r"Temp_Fourier_3Clusts_Chart",
"TIME_LAG", "CREATE_POPUP")
В следующем скрипте Python показано, как использовать функцию TimeSeriesClustering для кластеризации похожих магазинов:
# Create clusters of store locations with similar sales volumes over time.
# Import system modules.
import arcpy
# Set overwriteOutput property to overwrite existing output, by default.
arcpy.env.overwriteOutput = True
# Set workspace...
workspace = r"C:\Analysis"
arcpy.env.workspace = workspace
# Create 3 clusters of location with similar extent of fluctuation in temperature.
arcpy.stpm.TimeSeriesClustering(r"Temperature.nc", "Air_NONE_ZEROS",
r"Analysis.gdb\Temperature_TSC",
"PROFILE_FOURIER", 3, "Temp_Chart", None,
"CREATE_POPUP")
# Create a feature class containing all the bins in the input space time cube.
arcpy.stpm.VisualizeSpaceTimeCube3D(r"Temperature.nc", "Air_NONE_ZEROS", "VALUE",
r"Temp_Bins.shp")
# Make the bins as a feature layer.
arcpy.management.MakeFeatureLayer("Temp_Bins.shp", "Temp_Bins_Temp_Layer")
# Join the clustering results to the bins so each bin now has a cluster ID.
arcpy.management.AddJoin("Temp_Bins_Temp_Layer", "Location",
r"Analysis.gdb\Temperature_TSC", "Location", "KEEP_ALL")
# Summarize the bins using Summary Statistics with Cluster ID as a case field
# to get the minimum, maximum, and average temperature for each cluster.
arcpy.analysis.Statistics("Temp_Bins_Temp_Layer", "Temp_Bins_Statistics.shp",
"Temp_Bins.VALUE MEAN;Temp_Bins.VALUE MAX;Temp_Bins.VALUE MIN",
"Temperature_TSC.CLUSTER_ID")
Параметры среды
Особые случаи
- Генератор случайных чисел
В качестве генератора случайных чисел всегда используется Mersenne Twister.