Сглаживание временных рядов (Пространственная статистика)

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

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

Более подробно о работе сглаживания временных рядов

Иллюстрация

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

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

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

  • Параметр Поле времени указывает время для каждой входной записи. Не может быть больше одного значения в одно и то же время в одном временном ряде.

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

  • Можно выбрать несколько временных рядов, используя параметр Метод группировки. Вы можете группировать все значения в одном местоположении в один временной ряд, группировать значения по полю ID или группировать все значения (независимо от местоположения) в одни и те же временные ряды. Если вы группируете значения, убедитесь, что во всех группах есть несколько записей, относящихся к разному времени, чтобы сглаживание можно было выполнить в пределах каждой группы.

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

  • Если параметр Включить всплывающие окна временных рядов отмечен, инструмент создаст диаграмму для каждого временного ряда и добавит диаграмму к первой записи объекта в каждом временном ряду. На 2D-карте выберите объект, чтобы просмотреть диаграмму во всплывающем окне. В 3D-сцене выберите первый объект временного ряда, чтобы просмотреть диаграмму во всплывающем окне.

    Примечание:

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

Параметры

ПодписьОписаниеТип данных
Входные объекты или таблица

Объекты или таблица, содержащая данные временных рядов и поле для сглаживания.

Feature Layer; Table View
Поле времени

Поле, содержащее время для каждой записи.

Field
Поле анализа

Поле, содержащее значения, которые будут сглажены.

Field
Метод группировки
(Дополнительный)

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

  • По местоположениюОбъекты в одном и том же местоположении будут сгруппированы в одинаковые временные ряды. Это значение по умолчанию
  • По полю IDОбъекты с одинаковым значением в поле ID будут сгруппированы в одинаковые временные ряды.
  • НетВсе записи будут сгруппированы в одинаковые временные ряды.
String
Метод сглаживания
(Дополнительный)

Указывает метод сглаживания, который будет применен.

  • Обратное скользящее среднееСглаженное значение - среднее значение записи и значений в пределах временного окна перед ним. Это значение по умолчанию
  • Центрированное скользящее среднееСглаженное значение - среднее значение записи и значений в пределах временного окна перед и после него. Будет использована половина длительности временного окна перед записью, и половина - после.
  • Прямое скользящее среднееСглаженное значение - среднее значение записи и значений в пределах временного окна после него.
  • Линейная регрессия с адаптивной шириной полосыСглаженное значение - результат локальной линейной регрессии, центрированной на записи. Размер временного окна оптимизирован для каждой записи.
String
Временное окно
(Дополнительный)

Длительность временного окна Значения можно указать в секундах, минутах, часах, днях, неделях, месяцах или годах. Для скользящих средних, центрированных, прямых или обратных, необходимо указать значение и единицы измерения. Для линейной регрессии с адаптивной шириной полосы значение можно оставить пустым, временное окно будет прогнозировать эту величину независимо для каждого значения. Значения, попадающие на границу временного окна, будут включены в окно. Например, у вас есть ежедневные данные, и вы используете обратное скользящее среднее в пределах временного окна в 5 дней - в расчет сглаженной записи включается 5 значения в пределах окна - само значение записи, и 4 предшествующих значения.

Time Unit
Присоединение полей ко входным данным
(Дополнительный)

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

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

Boolean
Выходные объекты
(Дополнительный)

Выходные объекты, содержащие сглаженные значения, а также поля для временного окна и количества соседей.

Feature Class; Table
Поле ID
(Дополнительный)

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

Field
Применить сокращение временного окна в начале и в конце
(Дополнительный)

Определяет, будет ли временное окно сокращено в начале и в конце каждого временного ряда.

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

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

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

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

Boolean

Производные выходные данные

ПодписьОписаниеТип данных
Обновленные объекты или таблица

Обновленная входная таблица или класс объектов с присоединенными выходными полями.

Feature Class, Table

arcpy.stats.TimeSeriesSmoothing(in_features, time_field, analysis_field, {group_method}, {method}, {time_window}, {append_to_input}, {output_features}, {id_field}, {apply_shorter_window}, {enable_time_series_popups})
ИмяОписаниеТип данных
in_features

Объекты или таблица, содержащая данные временных рядов и поле для сглаживания.

Feature Layer; Table View
time_field

Поле, содержащее время для каждой записи.

Field
analysis_field

Поле, содержащее значения, которые будут сглажены.

Field
group_method
(Дополнительный)

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

  • LOCATIONОбъекты в одном и том же местоположении будут сгруппированы в одинаковые временные ряды. Это значение по умолчанию
  • ID_FIELDОбъекты с одинаковым значением в поле ID будут сгруппированы в одинаковые временные ряды.
  • NONEВсе записи будут сгруппированы в одинаковые временные ряды.
String
method
(Дополнительный)

Указывает метод сглаживания, который будет применен.

  • BACKWARDСглаженное значение - среднее значение записи и значений в пределах временного окна перед ним. Это значение по умолчанию
  • CENTEREDСглаженное значение - среднее значение записи и значений в пределах временного окна перед и после него. Будет использована половина длительности временного окна перед записью, и половина - после.
  • FORWARDСглаженное значение - среднее значение записи и значений в пределах временного окна после него.
  • ADAPTIVEСглаженное значение - результат локальной линейной регрессии, центрированной на записи. Размер временного окна оптимизирован для каждой записи.
String
time_window
(Дополнительный)

Длительность временного окна Значения можно указать в секундах, минутах, часах, днях, неделях, месяцах или годах. Для скользящих средних, центрированных, прямых или обратных, необходимо указать значение и единицы измерения. Для линейной регрессии с адаптивной шириной полосы значение можно оставить пустым, временное окно будет прогнозировать эту величину независимо для каждого значения. Значения, попадающие на границу временного окна, будут включены в окно. Например, у вас есть ежедневные данные, и вы используете обратное скользящее среднее в пределах временного окна в 5 дней - в расчет сглаженной записи включается 5 значения в пределах окна - само значение записи, и 4 предшествующих значения.

Time Unit
append_to_input
(Дополнительный)

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

  • APPEND_TO_INPUTВыходные поля будут присоединены к входным объектам. Эта опция изменяет входные данные.
  • NEW_OUTPUTВыходные поля не будут присоединены к входным объектам. В выходные таблицу или класс объектов, которые будут созданы, будут включены выходные поля. Это значение по умолчанию
Boolean
output_features
(Дополнительный)

Выходные объекты, содержащие сглаженные значения, а также поля для временного окна и количества соседей.

Feature Class; Table
id_field
(Дополнительный)

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

Field
apply_shorter_window
(Дополнительный)

Определяет, будет ли временное окно сокращено в начале и в конце каждого временного ряда.

  • APPLY_SHORTER_WINDOWВременное окно будет сокращено в начале и в конце временных рядов, чтобы избежать расширения временного окна в начале и в конце временных рядов.
  • NOT_APPLY_SHORTER_WINDOWВременное окно не будет сокращено. Если временное окно расширяется перед началом и после окончания временных рядов, сглаженное значение будет нулевым. Это значение по умолчанию
Boolean
enable_time_series_popups
(Дополнительный)

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

  • CREATE_POPUPВыходные данные будут включать всплывающие окна. Это значение по умолчанию
  • NO_POPUPВыходные данные не будут включать всплывающие окна.
Boolean

Производные выходные данные

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

Обновленная входная таблица или класс объектов с присоединенными выходными полями.

Feature Class, Table

Пример кода

TimeSeriesSmoothing, пример 1 (окно Python)

Следующий скрипт Python демонстрирует, как использовать функцию TimeSeriesSmoothing.

import arcpy
arcpy.stats.TimeSeriesSmoothing("temperature_CA", "START_DATE", "VALUE", 
            "LOCATION", "BACKWARD", "1 Months", "NEW_OUTPUT", "temperature_smoothed", 
            None, "NOT_APPLY_SHORTER_WINDOW", "CREATE_POPUP")
TimeSeriesSmoothing, пример 2 (автономный скрипт)

Следующий скрипт Python демонстрирует, как использовать функцию TimeSeriesSmoothing для прогнозирования численности населения.

import arcpy
arcpy.env.workspace = "C:/Analysis/data.gdb"

# Smooth temperature data using adaptive method by ID Field and revise input 
arcpy.stats.TimeSeriesSmoothing("temperature_CA", "START_DATE", "VALUE", 
            "ID_FIELD", "ADAPTIVE", None, "APPEND_TO_INPUT", None, "FIPS", 
            "NOT_APPLY_SHORTER_WINDOW", "NO_POPUP")