Создание набора различных сценариев на основе некоторых начальных наблюдений.

Вопрос или проблема

У меня в руках 3 разные временные ряда, которые моделируют 3 разные сценария (базовый, неблагоприятный, благоприятный). Каждый из этих временных рядов зависит от набора из 11 различных атрибутов, которые принимают значения для различных временных интервалов. Большинство различных признаков входных данных сильно коррелированы. Также существует функция вероятности (cdf), которая определяет, насколько вероятен каждый сценарий (каждый квантиль) в любой момент времени. В моем случае я хочу создать больше входных данных на основе текущих наблюдений и создать разные временные ряды/симуляции. Например, рассмотрим случай базового сценария. Первая идея, которая пришла мне в голову, была рассчитать матрицу ковариации и среднее значение различных данных во времени, а затем просто взять выборки из многомерного нормального распределения. Но это очевидно неправильно, потому что, даже если корреляция между различными атрибутами сохраняется, некоторые свойства временных рядов нет. Если я просто нарисую случайные точки и назначу их на разные временные интервалы, некоторые из этих атрибутов могут стать переменными. И, например, если один атрибут чем-то похож на ‘ВВП’, то не имеет смысла колебаться в течение коротких периодов времени.

На данный момент я обдумал несколько способов, как решить эту проблему, но не пришел к полному аналитическому решению. Кто-то другой уже пытался рассмотреть это раньше. Он просто определил нормальные распределения для каждой точки времени, используя значения атрибутов для 3 сценариев и cdf. Например, если значение атрибута равно [1.25, 1.5, 2] для каждого сценария соответственно и для некоторых значений cdf, эти точки можно использовать для создания распределения, а затем отобрать различные точки. Но в таком случае все новые временные ряды имеют форму базового (одинаковое колебание), и они сконцентрированы около этого ряда.

На данном этапе меня в основном интересует простой подход к этой проблеме, который даст какие-то разумные результаты. Было бы здорово, если бы вы могли дать какие-то советы или ссылки для поиска информации.

Вы можете использовать блочный бутстрепинг. Например, ВВП составил 100, 150, 300, 100, 130. В процентах это +50%, +100%, -67%, +30%. Вы выбираете блоки по два. Так что у вас есть два блока (+50%, +100%) и (-67%, +30%). Таким образом, вы берете случайные блоки для вашего сценария. Возможные варианты:

  1. +50%, +100%, -67%, +30%
  2. +50%, +100%, +50%, +100%
  3. -67%, +30%, -67%, +30%
  4. -67%, +30%, +50%, +100%

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

Объяснение того, как делать блочный бутстрепинг, можно найти на сайте Cross Validated StackExchange:
https://stats.stackexchange.com/questions/25706/how-do-you-do-bootstrapping-with-time-series-data

Ответ или решение

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

1. Исходные наблюдения и проблема

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

2. Подходы к созданию новых временных рядов

2.1. Блоковый бутстрэппинг

Блоковый бутстрэппинг — это метод, который позволяет сохранять автокорреляцию в данных и корректно переносить взаимосвязи между переменными. Вы предлагаете разбить данные на блоки, из которых затем случайным образом формируются новые временные ряды. Этот метод имеет несколько очевидных преимуществ:

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

Пример применения блоков:

При наличии исходного ряда изменений ВВП [+50%, +100%, -67%, +30%], можно взять блоки—пары значений, например, [+50%, +100%] и [-67%, +30%]. Затем вы будете случайным образом комбинировать их для создания новых сценариев.

2.2. Метод Монте-Карло

Метод Монте-Карло можно использовать совместно с блоковым бутстрэппингом для генерации новых сценариев. Здесь вы можете:

  • Определить вероятностные распределения для каждого атрибута, основываясь на исторических данных (например, с использованием симуляции конечных различий).
  • Генерировать случайные значения с помощью нормального или логнормального распределения, которые будут учитывать ваши достоверные статистические параметры: среднее, стандартное отклонение и кумулятивные функции распределения (CDF).

2.3. Один из возможных вариантов

Сначала выделите временные блоки, используемые в блоковом бутстрэппинге, затем настроить их по Monte Carlo метод. Непосредственный пример смешивания:

  1. Разделите ваши атрибуты на приемлемые блоки.
  2. С применением CDF определите вероятности для каждого блока.
  3. Примените метод бутстрэппинга для создания сотен или тысяч различных симуляций, чтобы получить широкую выборку временных рядов с учётом уникальных сценариев.

3. Резюме

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

Ссылки для дальнейшего изучения:

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

Оцените материал
Добавить комментарий

Капча загружается...