У меня есть вопрос, связанный с моделированием коротких временных рядов. Вопрос не в том, моделировать их , а в том, как это сделать. Какой метод вы бы порекомендовали для моделирования (очень) коротких временных рядов (скажем, длины )? Под «лучшим» я подразумеваю здесь самый надежный, который наименее подвержен ошибкам из-за ограниченного числа наблюдений. При коротких сериях отдельные наблюдения могут влиять на прогноз, поэтому метод должен обеспечивать осторожную оценку ошибок и возможной изменчивости, связанной с прогнозом. Меня обычно интересуют одномерные временные ряды, но было бы также интересно узнать о других методах.
35
Mcomp
пакете для R) 504 имеют 20 или менее наблюдений, в частности 55% ежегодной серии. Таким образом, вы можете посмотреть оригинальную публикацию и посмотреть, что хорошо работает для годовых данных. Или даже копаться в оригинальных прогнозах, представленных на соревнования М3, которые доступны вMcomp
пакете (спискеM3Forecast
).Ответы:
Это очень характерно для очень простых методов прогнозирования , как «прогноз исторических среднего» опережать более сложные методы. Это еще более вероятно для коротких временных рядов. Да, в принципе, вы можете подогнать ARIMA или даже более сложную модель под 20 или менее наблюдений, но вы, скорее всего, переоцените их и получите очень плохие прогнозы.
Итак: начните с простого теста, например,
Оцените их на данных вне выборки. Сравните любую более сложную модель с этими тестами. Вы можете быть удивлены, увидев, как трудно превзойти эти простые методы. Кроме того, сравните надежность различных методов с этими простыми, например, не только оценивая среднюю точность вне выборки, но и дисперсию ошибок , используя ваш любимый показатель ошибки .
Да, как пишет Роб Хиндман в своем посте, на который ссылается Александр , тестирование вне выборки само по себе является проблемой для коротких серий, но хорошей альтернативы действительно нет. ( Не используйте подгонку в выборке, которая не поможет определить точность прогноза .) AIC не поможет вам с медианой и случайным блужданием. Тем не менее, вы можете использовать перекрестную проверку временных рядов , которую AIC приближает в любом случае.
источник
Я снова использую вопрос как возможность узнать больше о временных рядах - одной из (многих) тем, которые меня интересуют. После краткого исследования мне кажется, что существует несколько подходов к проблеме моделирования коротких временных рядов.
Первый подход заключается в использовании стандартных / линейных моделей временных рядов (AR, MA, ARMA и т. Д.), Но при этом следует обращать внимание на некоторые параметры, как описано в этом посте [1] Роба Хиндмана, которому не требуется введение в временные ряды и прогнозирование мира. Второй подход, на который ссылается большая часть соответствующей литературы, которую я видел, предлагает использовать нелинейные модели временных рядов , в частности, пороговые модели [2], которые включают в себя пороговую модель авторегрессии (TAR) , самовозбуждение TAR ( SETAR) , модель порогового авторегрессивного скользящего среднего (TARMA) и модель TARMAX , расширяющая TARмодель для экзогенных временных рядов. Прекрасные обзоры моделей нелинейных временных рядов, включая пороговые модели, можно найти в этой статье [3] и в этой статье [4].
Наконец, другая связанная с ИМХО исследовательская работа [5] описывает интересный подход, основанный на представлении Вольтерра-Вейнера нелинейных систем - см. Это [6] и это [7]. Утверждается, что этот подход превосходит другие методы в контексте коротких и шумных временных рядов .
Ссылки
источник
Следующие качественные методы хорошо работают на практике для очень коротких данных или без данных:
Один из лучших известных мне методов, который работает очень хорошо, - это использование структурированных аналогий (пятое в списке выше), где вы ищете похожие / аналогичные продукты в категории, которую вы пытаетесь прогнозировать, и используете их для прогнозирования краткосрочного прогнозирования. , См. Эту статью для примеров, и документ SAS о том, «как» сделать это, используя, конечно, SAS. Одним из ограничений является то, что прогноз по аналогиям сработает, только если у вас есть хорошие аналогии, в противном случае вы можете положиться на объективное прогнозирование. Вот еще одно видео из программы Forecastpro о том, как использовать такой инструмент, как Forecastpro, для прогнозирования по аналогии. Выбор аналогии - это больше искусство, чем наука, и вам нужно знание предметной области, чтобы выбрать аналогичные продукты / ситуации.
Два превосходных ресурса для краткого или нового прогноза продукта:
Следующее является иллюстративной целью. Я только что закончил читать сигнал и шумNate Silver, в том, что есть хороший пример пузыря и прогноза на рынке жилья в США и Японии (аналог рынка США). В приведенной ниже таблице, если вы остановитесь на 10 точках данных и воспользуетесь одним из методов экстраполяции (экспоненциальное сглаживание / ets / arima ...) и посмотрите, куда он вас приведет и где фактическое закончилось. Опять же, приведенный мной пример гораздо сложнее, чем простая экстраполяция трендов. Это просто для того, чтобы подчеркнуть риски экстраполяции тренда с использованием ограниченных точек данных. Кроме того, если ваш продукт имеет сезонный характер, вы должны использовать некоторую форму аналогичных продуктов для прогнозирования. Я прочитал статью в журнале Business Journal, в которой говорится, что, если у вас 13 недель продаж продуктов в фармацевтике, вы можете прогнозировать данные с большей точностью, используя аналогичные продукты.
источник
Предположение о том, что количество наблюдений является критическим, было получено из необоснованного комментария GEP Box относительно минимального размера выборки для идентификации модели. Более нюансированный ответ, насколько мне известно, заключается в том, что проблема / качество идентификации модели зависит не только от размера выборки, но и от соотношения сигнал-шум в данных. Если у вас сильное отношение сигнал / шум, вам нужно меньше наблюдений. Если у вас низкий S / N, то вам нужно больше образцов для идентификации. Если ваш набор данных является ежемесячным, и у вас есть 20 значений, невозможно эмпирически определить сезонную модель ОДНАКО, если вы считаете, что данные могут быть сезонными, вы можете начать процесс моделирования, указав ar (12), а затем выполнить диагностику модели ( тесты значимости), чтобы либо уменьшить, либо дополнить вашу структурно несовершенную модель
источник
С очень ограниченными данными, я был бы более склонен соответствовать данным, используя байесовские методы.
Стационарность может быть немного сложнее при работе с байесовскими моделями временных рядов. Одним из вариантов является применение ограничений на параметры. Или ты не мог. Это хорошо, если вы просто хотите посмотреть на распределение параметров. Однако, если вы хотите сгенерировать апостериорный прогноз, то у вас может быть много прогнозов, которые взрываются.
Документация Stan предоставляет несколько примеров, где они накладывают ограничения на параметры моделей временных рядов для обеспечения стационарности. Это возможно для относительно простых моделей, которые они используют, но это может быть почти невозможно в более сложных моделях временных рядов. Если вы действительно хотите обеспечить стационарность, вы можете использовать алгоритм Метрополиса-Гастингса и выбросить любые неподходящие коэффициенты. Однако для этого необходимо вычислить много собственных значений, что замедлит процесс.
источник
Проблема, как вы мудро указали, заключается в «переоснащении», вызванном процедурами на основе фиксированного списка. Умный способ - постараться сохранить простоту уравнения, когда у вас есть незначительное количество данных. После многих лун я обнаружил, что если вы просто используете модель AR (1) и оставляете скорость адаптации (коэффициент ar) для данных, все может получиться достаточно хорошо. Например, если предполагаемый коэффициент ar близок к нулю, это означает, что общее среднее значение будет подходящим. если коэффициент близок к +1,0, то это означает, что последнее значение (с поправкой на константу) является более подходящим. Если коэффициент близок к -1,0, то отрицательный результат последнего значения (с поправкой на константу) будет лучшим прогнозом. Если коэффициент является иным, это означает, что средневзвешенное значение недавнего прошлого является подходящим.
Именно с этого начинается AUTOBOX, а затем отбрасывает аномалии, так как он точно настраивает оценочный параметр, когда встречается «небольшое количество наблюдений».
Это пример «искусства прогнозирования», когда подход, основанный исключительно на данных, может быть неприменим.
Ниже приводится автоматическая модель, разработанная для 12 точек данных без учета аномалий. с Actual / Fit и Forecast здесь и остаточным участком здесь
источник