Лучший метод для коротких временных рядов

35

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

Тим
источник
Что такое единица времени? Вы можете опубликовать данные?
Дмитрий Владимирович Мастеров
8
Какие бы предположения вы ни делали - относительно сезонности, стационарности и т. Д. - короткий временной ряд даст вам возможность выявить только самые грубые нарушения; поэтому предположения должны быть обоснованы в области знаний. Вам нужно моделировать или просто делать прогнозы? В соревнованиях M3 сравнивались различные «автоматические» методы прогнозирования по сериям из разных областей, некоторым из которых не более 20.
Scortchi - Восстановить Монику
5
+1 к комментарию @ Scortchi. Между прочим, из 3 003 серий M3 (доступных в Mcompпакете для R) 504 имеют 20 или менее наблюдений, в частности 55% ежегодной серии. Таким образом, вы можете посмотреть оригинальную публикацию и посмотреть, что хорошо работает для годовых данных. Или даже копаться в оригинальных прогнозах, представленных на соревнования М3, которые доступны в Mcompпакете (списке M3Forecast).
С. Коласса - Восстановить Монику
Привет, я не буду ничего добавлять к ответу, но просто поделюсь кое-чем о вопросе, который, я надеюсь, может помочь другим понять проблему здесь: когда вы говорите надежный, это наименее подвержено ошибкам из-за факта ограниченного количество наблюдений . Я полагаю, что устойчивость является важной концепцией в статистике, и здесь она имеет решающее значение, поскольку при таком небольшом количестве данных любое моделирование будет сильно зависеть от предположений самой модели или выбросов. С помощью надежности вы делаете эти ограничения менее сильными, не позволяя предположению ограничивать ваши результаты. Надеюсь, это поможет.
Томмазо
2
Надежные методы @TommasoGuerrini не делают меньше предположений, они делают разные предположения.
Тим

Ответы:

31

Это очень характерно для очень простых методов прогнозирования , как «прогноз исторических среднего» опережать более сложные методы. Это еще более вероятно для коротких временных рядов. Да, в принципе, вы можете подогнать ARIMA или даже более сложную модель под 20 или менее наблюдений, но вы, скорее всего, переоцените их и получите очень плохие прогнозы.

Итак: начните с простого теста, например,

  • историческое среднее
  • историческая медиана для дополнительной надежности
  • случайная прогулка (прогноз последнего наблюдения)

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

Да, как пишет Роб Хиндман в своем посте, на который ссылается Александр , тестирование вне выборки само по себе является проблемой для коротких серий, но хорошей альтернативы действительно нет. ( Не используйте подгонку в выборке, которая не поможет определить точность прогноза .) AIC не поможет вам с медианой и случайным блужданием. Тем не менее, вы можете использовать перекрестную проверку временных рядов , которую AIC приближает в любом случае.

С. Коласса - Восстановить Монику
источник
Только что обнаружил ваш ответ (+1). Я сделал еще один комментарий, на тот случай, если вы заинтересованы и хотели бы уточнить.
Александр Блех
17

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

Первый подход заключается в использовании стандартных / линейных моделей временных рядов (AR, MA, ARMA и т. Д.), Но при этом следует обращать внимание на некоторые параметры, как описано в этом посте [1] Роба Хиндмана, которому не требуется введение в временные ряды и прогнозирование мира. Второй подход, на который ссылается большая часть соответствующей литературы, которую я видел, предлагает использовать нелинейные модели временных рядов , в частности, пороговые модели [2], которые включают в себя пороговую модель авторегрессии (TAR) , самовозбуждение TAR ( SETAR) , модель порогового авторегрессивного скользящего среднего (TARMA) и модель TARMAX , расширяющая TARмодель для экзогенных временных рядов. Прекрасные обзоры моделей нелинейных временных рядов, включая пороговые модели, можно найти в этой статье [3] и в этой статье [4].

Наконец, другая связанная с ИМХО исследовательская работа [5] описывает интересный подход, основанный на представлении Вольтерра-Вейнера нелинейных систем - см. Это [6] и это [7]. Утверждается, что этот подход превосходит другие методы в контексте коротких и шумных временных рядов .

Ссылки

  1. Хиндман Р. (4 марта 2014 г.). Подгонка моделей к коротким временным рядам. [Сообщение блога]. Получено с http://robjhyndman.com/hyndsight/short-time-series
  2. Университет штата Пенсильвания. (2015). Пороговые модели. [Интернет материалы курса]. СТАТ 510, Прикладной анализ временных рядов. Получено с https://onlinecourses.science.psu.edu/stat510/node/82
  3. Живот Э. (2006). Нелинейные модели временных рядов. [Примечания класса]. ECON 584, Эконометрика временных рядов. Вашингтонский университет. Получено с http://faculty.washington.edu/ezivot/econ584/notes/nonlinear.pdf
  4. Чен, CWS, Со, MKP, & Лю, Ф.-С. (2011). Обзор моделей пороговых временных рядов в финансах. Статистика и ее интерфейс, 4 , 167–181. Получено с http://intlpress.com/site/pub/files/_fulltext/journals/sii/2011/0004/0002/SII-2011-0004-0002-a012.pdf
  5. Barahona, M. & Poon, C.-S. (1996). Обнаружение нелинейной динамики коротких, шумных временных рядов. Nature, 381 , 215-217. Получено с http://www.bg.ic.ac.uk/research/m.barahona/nonlin_detec_nature.PDF
  6. Франц, МО (2011). Вольтерра и Винер серии. Scholarpedia, 6 (10): 11307. Получено с http://www.scholarpedia.org/article/Volterra_and_Wiener_series
  7. Franz, MO & Scholkopf, B. (nd). Объединяющий взгляд на теорию Винера и Вольтерры и регрессию полиномиального ядра. Получено с http://www.is.tuebingen.mpg.de/fileadmin/user_upload/files/publications/nc05_%5B0%5D.pdf.
Александр Блех
источник
4
+1 Не могли бы вы написать в своем ответе ссылки на эти статьи? Недавно мы обнаружили, что многие ссылки на статьи гниют через некоторое время, что в конечном итоге делает их практически бесполезными, если авторы, названия и т. Д. Также не упоминаются в тексте.
whuber
2
@whuber: Спасибо. Нет проблем, я дополню свой ответ ссылками сегодня вечером.
Александр Блех
2
+1 за ссылку на пост Роба Хиндмана. (Тем не менее, я испытываю к -1 для сложных моделей. Я был бы очень осторожен с использованием порогового значения или какими - либо другими нелинейных методов временных рядов на временных рядах менее 20 наблюдений. Вы почти наверняка overfit, который идет непосредственно счетчик к требованию ОП о надежном методе.)
С. Коласса - Восстановить Монику
3
[2,3,4] не упоминают короткие временные ряды, а посмотрите на графики в [2]:> 120 наблюдений. [4] концентрируется на финансах, где у вас есть более 20 наблюдений. [5] пишет о «коротких временных рядах, обычно длиной в 1000 пунктов» (стр. 216). Я не вижу способа надежно и надежно подогнать TAR или аналогичную модель или любую из более сложных, на которые вы ссылаетесь, с <20 наблюдениями. (Кстати: я также делаю некоторую логическую статистику на стороне, и с менее чем 20 наблюдениями вы действительно не можете оценить больше, чем среднее значение и еще один параметр.)
С. Коласса - Восстановить Монику
5
Не за что ;-) Я предполагаю, что «короткий» очень зависит от контекста: для серии считываний данных с датчиков или для финансов 1000 точек данных являются «короткими» - но в управлении цепочками поставок 20 ежемесячных наблюдений почти нормально и «короткий» будет начинаться только с 12 или менее наблюдений.
С. Коласса - Восстановить Монику
11

T20

Следующие качественные методы хорошо работают на практике для очень коротких данных или без данных:

  • Композитные прогнозы
  • Обзоры
  • Метод Дельфи
  • Сценарий здания
  • Прогноз по аналогии
  • Исполнительное мнение

Один из лучших известных мне методов, который работает очень хорошо, - это использование структурированных аналогий (пятое в списке выше), где вы ищете похожие / аналогичные продукты в категории, которую вы пытаетесь прогнозировать, и используете их для прогнозирования краткосрочного прогнозирования. , См. Эту статью для примеров, и документ SAS о том, «как» сделать это, используя, конечно, SAS. Одним из ограничений является то, что прогноз по аналогиям сработает, только если у вас есть хорошие аналогии, в противном случае вы можете положиться на объективное прогнозирование. Вот еще одно видео из программы Forecastpro о том, как использовать такой инструмент, как Forecastpro, для прогнозирования по аналогии. Выбор аналогии - это больше искусство, чем наука, и вам нужно знание предметной области, чтобы выбрать аналогичные продукты / ситуации.

Два превосходных ресурса для краткого или нового прогноза продукта:

  • Принцип прогнозирования Армстронга
  • Прогноз нового продукта от Кан

Следующее является иллюстративной целью. Я только что закончил читать сигнал и шумNate Silver, в том, что есть хороший пример пузыря и прогноза на рынке жилья в США и Японии (аналог рынка США). В приведенной ниже таблице, если вы остановитесь на 10 точках данных и воспользуетесь одним из методов экстраполяции (экспоненциальное сглаживание / ets / arima ...) и посмотрите, куда он вас приведет и где фактическое закончилось. Опять же, приведенный мной пример гораздо сложнее, чем простая экстраполяция трендов. Это просто для того, чтобы подчеркнуть риски экстраполяции тренда с использованием ограниченных точек данных. Кроме того, если ваш продукт имеет сезонный характер, вы должны использовать некоторую форму аналогичных продуктов для прогнозирования. Я прочитал статью в журнале Business Journal, в которой говорится, что, если у вас 13 недель продаж продуктов в фармацевтике, вы можете прогнозировать данные с большей точностью, используя аналогичные продукты.

введите описание изображения здесь

предсказатель
источник
Спасибо за указание на другой подход! И я согласен, книга Нейта Сильверса великолепна.
Тим
5

Предположение о том, что количество наблюдений является критическим, было получено из необоснованного комментария GEP Box относительно минимального размера выборки для идентификации модели. Более нюансированный ответ, насколько мне известно, заключается в том, что проблема / качество идентификации модели зависит не только от размера выборки, но и от соотношения сигнал-шум в данных. Если у вас сильное отношение сигнал / шум, вам нужно меньше наблюдений. Если у вас низкий S / N, то вам нужно больше образцов для идентификации. Если ваш набор данных является ежемесячным, и у вас есть 20 значений, невозможно эмпирически определить сезонную модель ОДНАКО, если вы считаете, что данные могут быть сезонными, вы можете начать процесс моделирования, указав ar (12), а затем выполнить диагностику модели ( тесты значимости), чтобы либо уменьшить, либо дополнить вашу структурно несовершенную модель

IrishStat
источник
5

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

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

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

Джон
источник
0

Проблема, как вы мудро указали, заключается в «переоснащении», вызванном процедурами на основе фиксированного списка. Умный способ - постараться сохранить простоту уравнения, когда у вас есть незначительное количество данных. После многих лун я обнаружил, что если вы просто используете модель AR (1) и оставляете скорость адаптации (коэффициент ar) для данных, все может получиться достаточно хорошо. Например, если предполагаемый коэффициент ar близок к нулю, это означает, что общее среднее значение будет подходящим. если коэффициент близок к +1,0, то это означает, что последнее значение (с поправкой на константу) является более подходящим. Если коэффициент близок к -1,0, то отрицательный результат последнего значения (с поправкой на константу) будет лучшим прогнозом. Если коэффициент является иным, это означает, что средневзвешенное значение недавнего прошлого является подходящим.

Именно с этого начинается AUTOBOX, а затем отбрасывает аномалии, так как он точно настраивает оценочный параметр, когда встречается «небольшое количество наблюдений».

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

Ниже приводится автоматическая модель, разработанная для 12 точек данных без учета аномалий. введите описание изображения здесьс Actual / Fit и Forecast здесь введите описание изображения здесьи остаточным участком здесьвведите описание изображения здесь

IrishStat
источник