Как делать прогнозы для временного ряда?

9

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

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

Y1знак равно{0,NT1,NT2,,,,NT39,NT40}

Y5знак равно{0,NT1,NT2,,,,NT39,NT40}

Где равно количеству в момент времени x.NTИкс

Цель состоит в том, чтобы взять в момент (или лучше от до , или наклон к этой точке) и предсказать в момент . Например, если равно 5000, каково ожидаемое значение для этого года. Итак, вопрос в том, как бы вы смоделировали такие данные? Это достаточно легко обобщить и визуализировать. Но я хотел бы, чтобы модель облегчала предсказания и включала меру ошибки.т х т 0 т х Н т 40 Н т 10 Н т 40NTИксT0TИксNT40NT10NT40

Brett
источник
2
Вы уверены, что хотите так сильно ограничить себя? Если эта проблема имеет какое-либо практическое применение, то к тому времени, когда вы знаете счет в момент времени x, вы также знаете все предыдущие счета. Почему бы не использовать их, чтобы помочь с предсказанием?
whuber
Верно. Ты прав. Спасибо что подметил это.
Бретт

Ответы:

6

Вероятно, самый простой подход, как предложил Энди В., использовать сезонную одномерную модель временных рядов. Если вы используете R, попробуйте либо auto.arima()или ets()из прогнозного пакета .

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

Звучит так, будто какая-то сигмоидальная кривая сработает. например, сдвинутая логистика: для годаtи неделиj,гдеat,btиrt- параметры, подлежащие оценке. rt- асимптотический максимум,atуправляет скоростью увеличения, аbt- средняя точка, когдаft,j=rt/2.

ft,j=rteat(jbt)1+eat(jbt)
TJaTбTрTрTaTбTеT,Jзнак равнорT/2, (Еще один параметр понадобится, чтобы разрешить описанную вами асимметрию, при которой скорость увеличения до времени будет быстрее, чем после b t . Самый простой способ сделать это - позволить a t принимать разные значения до и после времени b т .)бTбTaTбT

Параметры могут быть оценены с использованием наименьших квадратов для каждого года. Параметры каждого из них образуют временные ряды: , b 1 , , b n и r 1 , , r n . Их можно прогнозировать с использованием стандартных методов временных рядов, хотя при n = 5 вы, вероятно, не сможете сделать ничего, кроме использования среднего для каждой серии для составления прогнозов. Затем, в течение 6 лет, оценка стоимости в неделю J просто е ( 6 , Ja1,...,aNб1,...,бNр1,...,рNNзнак равно5J где используются прогнозы a 6 , b 6 и r 6 .е^(6,J)a6б6р6

Как только данные начнут наблюдаться за 6 год, вы захотите обновить эту оценку. По мере получения каждого нового наблюдения оцените сигмоидальную кривую по данным 6-го года (для начала вам потребуется как минимум три наблюдения, так как имеется три параметра). Затем возьмите средневзвешенное значение прогнозов, полученных с использованием данных до 5-го года, и прогноз, полученный с использованием только данных за 6-й год, где веса равны и ( т - 4 ) / 36(40-T)/36(T-4)/36соответственно. Это очень специальное решение, и я уверен, что это можно сделать более объективным, поместив его в контекст более крупной стохастической модели. Тем не менее, это, вероятно, будет работать нормально для ваших целей.

Роб Хиндман
источник
4

В сущности, вы спрашиваете, что делает моделирование ARIMA Box Jenkins (ваши годовые циклы будут называться сезонными компонентами). Помимо поиска материалов самостоятельно, я бы посоветовал

Прикладной анализ временных рядов для социальных наук 1980 г. Мак-Клири; RA Hay; Э. Мейдингер; D McDowall

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

Если вы планируете использовать R для своих моделей, вам, вероятно, стоит посетить сайт Роба Хиндмана (надеюсь, он даст вам лучший совет, чем я!)

Энди У
источник
-2

у вас есть 5 лет данных и 40 наблюдений в год. Почему бы вам не опубликовать их в Интернете и позволить нам ответить на этот вопрос с нуля, а не философствовать на высоте 500 миль. Я с нетерпением жду номеров. Мы видели такие данные, например, количество клиентов, которые торгуют на своей неделе с разделением времени НА ЕЖЕНЕДЕЛЬНОЙ основе. Серия каждый год начинается с нуля и накапливается до предельного значения.

IrishStat
источник
1
-1 Это больше похоже на саморекламу, чем на полезный ответ.
whuber
@whuber: не намеренно. Просто размышление о подобной «липкой проблеме», с которой я столкнулся.
IrishStat
Это сделало бы интересный комментарий. Комментарии - это хороший способ поделиться этим ценным опытом, которым мы так рады поделиться с нами. Ответы должны быть зарезервированы для фактических ответов на вопрос: за них будут голосовать, архивировать, делать их для поиска и т. Д., И, следовательно, они должны быть более актуальными, иметь постоянную ценность и быть способными лучше противостоять критике. (Конечно, это идеализация, но это то, к чему мы стремимся. :-)
whuber
@whuber: Вы учите! Я учу ! Я зарезервирую комментарии для "области комментариев". Повторим, что не было абсолютно никакого намерения продвигать что-либо или какую-либо конкретную часть программного обеспечения / консультативных услуг, а лишь доброжелательную готовность поделиться опытом с другими жителями деревни. Я совершенно уверен, что ОП сочла мои комментарии полезными. Что скажете вы, Бретт?
IrishStat