Прогнозирование подгонки кривой (Углубленный анализ пространственно-временных закономерностей)

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

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

Инструмент вписывает параметрическую кривую в каждое местоположение Входного куба пространство-время и прогнозирует временной ряд, экстраполируя эту кривую на будущие шаги. Кривые могут быть линейными, параболическими, S-образными (функция Гомперса) или экспоненциальными. Вы можете использовать один и тот же тип кривой для каждого местоположения в пространственно-временном кубе, либо разрешить инструменту самому устанавливать, какой тип кривой подходит локации больше всего.

Более подробно о том, как работает инструмент Прогнозирование подгонки кривой

Иллюстрация

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

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

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

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

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

  • Для каждого местоположения в параметре Входной куб пространство-время инструмент строит следующие модели, которые служат разным целям:

    • Прогнозная модель – эта модель используется для прогнозирования значений куба пространство-время путем вычерчивания кривой по значениям временного ряда и экстраполяции этой кривой на будущие временные шаги. Подгонка прогнозной модели к значениям куба пространство-время измеряется прогнозным значением RMSE.
    • Модель проверки - эта модель используется для проверки модели прогноза и проверки того, насколько точно она может прогнозировать значения. Если для параметра Число временных шагов, исключаемых для проверки указано число больше 0, эта модель строится с использованием включенных временных шагов и используется для прогнозирования значений временных шагов, которые были исключены. Это позволяет увидеть, насколько хорошо выбранный тип кривой может предсказывать значения. Подгонка прогнозных значений к исключенным значениям измеряется Проверкой RMSE.

    Более подробно о прогнозной модели, модели проверки и статистике RMSE

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

  • Значения параметра Выходные объекты будут добавлены на панель Содержание с отображением, основанным на конечном прогнозируемом временном шаге.

  • Этот инструмент создает сообщения геообработки и всплывающие диаграммы, чтобы помочь вам понять и визуализировать результаты прогноза. Сообщения содержат информацию о структуре куба пространство-время и сводную статистику значений RMSE. При щелчке по объекту с помощью навигационного инструмента Исследовать на панели Всплывающие окна отображается линейная диаграмма, показывающая значения куба пространство-время, кривую, используемую для прогнозирования, и прогнозируемые значения для этого местоположения.

  • Параметр Опция выброса может использоваться для определения статистически значимых выбросов в значениях временных рядов в каждом местоположении.

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

  • Решение о том, сколько временных шагов следует исключить для проверки, является важным выбором. Чем больше временных шагов исключается, тем меньше остается времени для оценки модели проверки. Однако если исключить слишком мало временных шагов, то Проверка RMSE будет оцениваться с использованием небольшого объема данных и может выдать результат, вводящий в заблуждение. Рекомендуется исключить как можно больше временных шагов при сохранении достаточного их количества для оценки модели проверки. Также предполагается, что вы удерживаете по крайней мере такое количество временных шагов для проверки, равное количеству временных шагов, которые вы собираетесь спрогнозировать, если куб пространство-время имеет достаточно временных шагов, чтобы позволить это.

Параметры

ПодписьОписаниеТип данных
Входной куб пространство-время

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

File
Переменная анализа

Числовая переменная в файле netCDF, которая будет прогнозироваться на будущие временные шаги.

String
Выходные объекты

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

Feature Class
Выходной куб пространство-время
(Дополнительный)

Новый куб пространство-время (файл .nc), содержащий значения входного куба пространство-время с добавлением прогнозируемых временных шагов. Можно использовать инструмент Создать слой куба пространство-время, чтобы создать слой куба, который можно использовать для одновременного просмотра наблюдаемых и предсказанных значений.

File
Количество временных шагов для прогноза
(Дополнительный)

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

Long
Тип кривой
(Дополнительный)

Задает тип кривой, который будет использоваться для прогнозирования значений входного Куба пространство-время.

  • ЛинейныйВременной ряд линейно увеличивается или уменьшается с течением времени.
  • ПараболическаяВременной ряд следует параболе или квадратичной кривой с течением времени.
  • ЭкспоненциальнаяВременной ряд экспоненциально увеличивается или уменьшается с течением времени.
  • S-образная (функция Гомперса)Временной ряд увеличивается или уменьшается в соответствии с формой буквы S с течением времени.
  • АвтоопределениеВсе четыре типа кривых выполняются для каждого местоположения, и модель получает наименьшее значение при Проверке RSE. Если для проверки не исключаются временные срезы, то используется модель с наименьшим прогнозным значением RMSE. Это значение по умолчанию
String
Количество временных шагов, исключаемых для проверки
(Дополнительный)

Количество временных шагов в конце каждого временного ряда, которые необходимо исключить для проверки. Значение по умолчанию равно 10 процентам (округляется в меньшую сторону) от числа входных временных шагов, и это значение не может быть больше 25 процентов от числа временных шагов. Укажите значение 0, чтобы не исключать никаких временных шагов.

Long
Опция Выброс
(Дополнительный)

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

  • НетВыбросы не будут определяться. Это значение по умолчанию
  • Определять выбросыВыбросы будут определяться с использованием теста Генерализованный ESD.
String
Уровень достоверности
(Дополнительный)

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

  • 90%Уровень достоверности для теста будет 90 процентов. Это значение по умолчанию
  • 95%Уровень достоверности для теста будет 95 процентов.
  • 99%Уровень достоверности для теста будет 99 процентов.
String
Максимальное число выбросов

Максимальное число временных шагов, которые могут быть объявлены выбросами в каждом местоположении. Значение по умолчанию составляет 5 процентов (округлено вниз) от количества временных шагов входного куба пространство-время (значение хотя бы 1 будет использоваться всегда). Значение не может превышать 20 процентов от числа временных шагов.

Long

arcpy.stpm.CurveFitForecast(in_cube, analysis_variable, output_features, {output_cube}, {number_of_time_steps_to_forecast}, {curve_type}, {number_for_validation}, {outlier_option}, {level_of_confidence}, maximum_number_of_outliers)
ИмяОписаниеТип данных
in_cube

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

File
analysis_variable

Числовая переменная в файле netCDF, которая будет прогнозироваться на будущие временные шаги.

String
output_features

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

Feature Class
output_cube
(Дополнительный)

Новый куб пространство-время (файл .nc), содержащий значения входного куба пространство-время с добавлением прогнозируемых временных шагов. Можно использовать инструмент Создать слой куба пространство-время, чтобы создать слой куба, который можно использовать для одновременного просмотра наблюдаемых и предсказанных значений.

File
number_of_time_steps_to_forecast
(Дополнительный)

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

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

Задает тип кривой, который будет использоваться для прогнозирования значений входного Куба пространство-время.

  • LINEARВременной ряд линейно увеличивается или уменьшается с течением времени.
  • PARABOLICВременной ряд следует параболе или квадратичной кривой с течением времени.
  • EXPONENTIALВременной ряд экспоненциально увеличивается или уменьшается с течением времени.
  • GOMPERTZВременной ряд увеличивается или уменьшается в соответствии с формой буквы S с течением времени.
  • AUTO_DETECTВсе четыре типа кривых выполняются для каждого местоположения, и модель получает наименьшее значение при Проверке RSE. Если для проверки не исключаются временные срезы, то используется модель с наименьшим прогнозным значением RMSE. Это значение по умолчанию
String
number_for_validation
(Дополнительный)

Количество временных шагов в конце каждого временного ряда, которые необходимо исключить для проверки. Значение по умолчанию равно 10 процентам (округляется в меньшую сторону) от числа входных временных шагов, и это значение не может быть больше 25 процентов от числа временных шагов. Укажите значение 0, чтобы не исключать никаких временных шагов.

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

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

  • NONEВыбросы не будут определяться. Это значение по умолчанию
  • IDENTIFYВыбросы будут определяться с использованием теста Генерализованный ESD.
String
level_of_confidence
(Дополнительный)

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

  • 90%Уровень достоверности для теста будет 90 процентов. Это значение по умолчанию
  • 95%Уровень достоверности для теста будет 95 процентов.
  • 99%Уровень достоверности для теста будет 99 процентов.
String
maximum_number_of_outliers

Максимальное число временных шагов, которые могут быть объявлены выбросами в каждом местоположении. Значение по умолчанию составляет 5 процентов (округлено вниз) от количества временных шагов входного куба пространство-время (значение хотя бы 1 будет использоваться всегда). Значение не может превышать 20 процентов от числа временных шагов.

Long

Пример кода

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

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

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

# Forecast four time steps using a linear curve.
arcpy.stpm.CurveFitForecast("Population.nc", "Pop_NONE_ZEROS", 
                            "Analysis.gdb/Forecasts", 
                            "outForecastCube.nc", 4, 
                            "LINEAR", 5)
CurveFitForecast, пример 2 (автономный скрипт)

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

# Forecast population levels using curve fitting.

# Import system modules.
import arcpy

# Set property to overwrite existing output.
arcpy.env.overwriteOutput = True

# Set workspace.
workspace = r"C:\Analysis"
arcpy.env.workspace = workspace

# Forecast three time steps using auto-detect.
arcpy.stpm.CurveFitForecast("Population.nc", "Pop_NONE_ZEROS", 
                            "Analysis.gdb/Forecasts", "outForecastCube.nc",
                            3, "AUTO_DETECT", 5, "IDENTIFY", "90%", 4)

# Create a feature class visualizing the forecasts.
# Output can only be viewed in a Scene view.
arcpy.stpm.VisualizeSpaceTimeCube3D("outForecastCube.nc", "Pop_NONE_ZEROS", 
                                    "VALUE", "Analysis.gdb/ForecastsFC")