Мне нужно автоматизировать прогнозирование временных рядов, и я заранее не знаю особенностей этих рядов (сезонность, тренд, шум и т. Д.).
Моя цель не в том, чтобы получить лучшую модель для каждой серии, а в том, чтобы избежать довольно плохих моделей. Другими словами, каждый раз получать небольшие ошибки - не проблема, но время от времени получать большие ошибки.
Я думал, что смогу достичь этого, комбинируя модели, рассчитанные с использованием различных методов.
То есть, хотя ARIMA будет лучшим подходом для конкретной серии, он может быть не лучшим для другой серии; то же самое для экспоненциального сглаживания.
Однако, если я объединю одну модель из каждой методики, даже если одна модель не очень хороша, другая приблизит оценку к реальной стоимости.
Общеизвестно, что ARIMA лучше работает для долговременных рядов с хорошим поведением, в то время как экспоненциальное сглаживание выделяется для кратковременных шумных рядов.
- Моя идея состоит в том, чтобы объединить модели, сгенерированные из обоих методов, чтобы получить более надежные прогнозы, имеет ли смысл?
Там может быть много способов объединить эти модели.
- Если это хороший подход, как мне их объединить?
Можно использовать простое среднее значение прогнозов, но, возможно, я мог бы получить более точные прогнозы, если бы взвесил среднее значение в соответствии с некоторым показателем качества модели.
- Какой будет обработка дисперсии при объединении моделей?
источник
Ответы:
Объединение прогнозов - отличная идея. (Я думаю, что не будет преувеличением сказать, что это одна из немногих вещей, с которыми согласны академические прогнозисты.)
Я случайно написал статью, в которой рассматривал различные способы взвешивания прогнозов при их объединении: http://www.sciencedirect.com/science/article/pii/S0169207010001032 В принципе, использование весов (Акаике) не улучшало последовательно комбинации над простыми или усеченными / winsorized средствами или медианами, поэтому я лично дважды подумал бы, прежде чем внедрять сложную процедуру, которая может не принести определенной выгоды (напомним, однако, что комбинации последовательно превосходили выбор отдельных методов по информационным критериям). Конечно, это может зависеть от конкретных временных рядов, которые у вас есть.
Я смотрел на объединение интервалов предсказания в статье выше, но не на объединение дисперсии как таковой. Кажется, я вспоминаю статью, недавно появившуюся в IJF с таким фокусом, поэтому вы можете искать «объединение» или «комбинацию» в прошлых выпусках IJF.
Несколько других работ, которые рассматривали объединение прогнозов, здесь (с 1989 года, но обзор) и здесь и здесь (также рассматриваются плотности) и здесь и здесь, Многие из них отмечают, что до сих пор плохо понимают, почему комбинации прогнозов часто превосходят отдельные выбранные модели. Второй по последнему документу доклад о конкурсе прогнозов М3; Одним из их основных выводов было (номер (3) на стр. 458), что «Точность комбинации различных методов в среднем превосходит конкретные комбинируемые методы и хорошо справляется с другими методами». Последняя из этих статей показывает, что комбинации не обязательно работают лучше, чем отдельные модели, но что они могут значительно снизить риск катастрофического отказа (что является одной из ваших целей). Больше литературы следует легко найти в Международном журнале прогнозирования , журнале прогнозирования. и для более специфических применений в литературе по эконометрике или цепочке поставок.
источник
Почему бы не указать это дальше? Я не думаю, что какая-то модель, которую вы бы изготовили, могла бы быть лучше или лучше, чем конкретный выбор.
С учетом вышесказанного, если вы можете немного сузить свой выбор до тех, для которых вы можете проверить, и ввод данных может быть стандартизирован, то почему бы не написать автоматизированную процедуру тестирования в R?
Допустим, вы решили, что ваши данные попадут в диапазон, который будет оцениваться пятью моделями, а также одним «запасным вариантом». Скажем, вы можете охарактеризовать вход с помощью различных тестов. Затем просто напишите алгоритм R (или подобную программу), который запускает это для вас. Это работает, если вы можете создать блок-схему какой модели для запуска на основе тестовых данных, то есть если любая точка дерева решений является двоичной.
Если это не вариант, потому что решение не может быть двоичным, я предлагаю вам внедрить систему оценки, основанную на применимых тестах, и запустить некоторые смоделированные «экстремальные случаи» данные в вашей таблице, чтобы увидеть, являются ли результаты тем, что вы ищете.
Очевидно, что вы можете комбинировать эти вещи, например, проверка на нестационарность может дать определенное да-нет, в то время как другие атрибуты могут попадать в диапазон, такой как мультиколлинеарность.
Вы можете сначала нарисовать это на бумаге, а затем собрать, смоделировать с известными дистрибутивами, которые вы ожидаете получить.
Затем просто запускайте R-программу каждый раз, когда поступают новые данные. Я не вижу необходимости сочетать несколько моделей с вычислительными возможностями, которые вы, скорее всего, имеете под рукой.
источник
Есть хорошие и простые формулы для объединения двух методов прогнозирования, вы просто взвешиваете их, умножая первый на a, а другой на (1 - a), где a определяется путем минимизации дисперсии этого комбинированного прогноза. Поскольку вы знаете ошибки обоих методов прогнозирования, вы можете рассчитать ошибки комбинации, которая будет зависеть от «а». Расчет прост, когда среднее значение каждого метода равно 0. Для объединения более двух методов формулы все еще «просты» в том смысле, что вы можете рассчитать их аналитически «вручную» или также использовать опцию Solver из EXCEL.
источник