выбор порядка p, q, r в ARIMA

25 сообщений / 0 новых
Последнее сообщение
выбор порядка p, q, r в ARIMA

Доброе утро.

Никак не пойму, каким образом в модели ARIMA(X) определять порядки авторегрессии, интеграции и скользящего среднего? Везде пишут, что по функциям автокоррелляции и частной автокоррелляции, но каким именно образом?

rammstein_man wrote:каким
rammstein_man wrote:
каким образом в модели ARIMA(X) определять порядки авторегрессии, интеграции и скользящего среднего

Для интеграции берите порядок = 1.

Для скользящего среднего сначала можно брать порядок = 0, то есть ничего не сглаживать.

А для авторегрессии берете порядок = 1, считаете прогноз. Если качество его вас не устраивает, то берет порядок авторегрессии = 2. На первом этапе можно методом перебора, при этом можно перебор автоматизировать, можно просто на глаз прикинуть. Дело в том, что по функции автокорреляции можно определить данный порядок, если функция эта имеет какой-то характерный вид — ровно это и предлагали Бокс-Дженкинс, вот потому это везде и написано.
На моих рядах автокорреляция имеет такой вид, что закачаешься, так что я просто пробовала брать разные порядки. Сейчас порядки авторегрессии могут доходить до десятков... Во времена Бокса-Дженкинса о таком даже речи быть не могло.

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

----------------------
Ирина Чучуева,
команда Математического бюро

"по функции автокорреляции

"по функции автокорреляции можно определить данный порядок, если функция эта имеет какой-то характерный вид"

а как вообще определить, характерный вид, или нет? может, есть какой-то список вариантов? я, конечно, пытался найти хотя бы примеры, но всё сводится примерно к тому, что вы сказали..

 

Вообще, я в данный момент пытаюсь адаптировать и разобраться вот в этом проекте: http://cronos.codeplex.com/

но, к сожалению, никак не пойму, почему у меня не разворачивается график прогнозируемых значений.. он либо монотонно возрастает, либо монотонно убывает..( может вы с таким сталкивались? перепробовал уже кучу разных порядков, но добиться разворота прогнозируемого графика удалось только на искусственно созданном расходящимся синусоидальном ряде, а вот на реальных значениях (я брал курсы акций S&P 500) разворот графика упорно не прогнозируется.. хотя исходные данные очень "буйные"..

p.s. я использую ARIMA, т.к. для акций пока подходящий внешний фактор не нашел

Вы знаете, я с таким

Вы знаете, я с таким инструментом не знакома. Но можно будет ознакомиться, как время будет.

По поводу того, отчего в этой системе чего-то не разворачивается, я не могу сказать. Вообще, когда порядок меняешь на первом этапе 1-2-3... до некоторого большого порядка, то прогноз существенно меняется. Когда начинаешь брать порядки больше 10, то изменение точности может быть несущественным. Однако, это мой опыт на моих рядах, может, на финансовых рядах все выглядит иначе.

Вообще, ARIMA не дает монотонного возрастающего/убывающего прогноза, так как она работает всегда со стационарным рядом, где вообще трендов нет. Вы уверены, что корректно пользуетесь этим инструментом?

----------------------
Ирина Чучуева,
команда Математического бюро

Дело было в том, что я брал

Дело было в том, что я брал порядок интеграции 0, и по факту получалась обычная модель AR (теперь всё разворачивается).

Сейчас экспериментирую с моделью ARIMA (p, 1, 0) для p от 1 до 20 и прогнозированием для каждой модели на 1 шаг вперед для 20 различных (но последовательных) наборов данных. Занимает это очень много времени, т.к. каждый раз перестраивается модель. Прогнозы получаются очень разными для различных порядков. А ещё, у меня такое ощущение, что для финансовых рядов порядок MA лучше брать 0, т.к. там сплошные всплески..

И всё же, вам не попадалось информации о том, как определить, характерный ли вид имеют графики автокорреляционных функций?

rammstein_man wrote:вам не
rammstein_man wrote:
вам не попадалось информации о том, как определить, характерный ли вид имеют графики автокорреляционных функций?

Вообще, вид автокорреляционной функции можно найти в сети, я вот в гугле набрала и приглянулась мне вот эта презентация по автокорреляционной функции. А вообще обо всем этом читайте Бокс Дж., Дженкинс Г.М. Анализ временных рядов, прогноз и управление. М.: Мир, 1974. 406 с. Эту книгу можно скачать в DJVU.

----------------------
Ирина Чучуева,
команда Математического бюро

читайте Бокс Дж., Дженкинс Г

читайте Бокс Дж., Дженкинс Г.М. Анализ временных рядов, прогноз и управление. М.: Мир, 1974. 406 с.

согласен, прочитать стоит непременно, но не в том случае, если до защиты осталась неделя)

В общем. с авторегрессией для

В общем. с авторегрессией для курса акций Deutsche Bank совсем ничего не работает...

Взял 20 наборов данных (последовательных, с разницей в 1 день(урезал), для каждого из них построил модели ARIMA (1-20, 1, 0), и прогноз совсем не совпадает..

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

Видимо, я либо что-то не так делаю, либо ARIMA не работает для финансовых рядов..

 

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

Параметр: (значение по умолчанию)

Low-Discrepancy Iterations: (250)Nelder-Mead Iterations: (250)Inconsistency Penalty Fraction: (0)

 

Не знаете, что это за параметры, и на что они влияют? Я использовал значения по умолчанию.

 

И ещё такой вопрос:

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

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

rammstein_man wrote:Видимо, я
rammstein_man wrote:
Видимо, я либо что-то не так делаю, либо ARIMA не работает для финансовых рядов..

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

rammstein_man wrote:
Low-Discrepancy Iterations: (250)Nelder-Mead Iterations: (250)Inconsistency Penalty Fraction: (0)

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

rammstein_man wrote:
Если уж этот метод не работает для финансовых временных рядов, может подскажите идею, в какой области так же актуально прогнозирование, достаточно данных, и есть какой-нибудь внешний фактор, оказывающий влияние (кроме вашего профиля, наверно)?

Возьмите цены РСВ (на электроэнергию) и прогнозируйте их. Они более адекватные. Если получите хоть где-то порядок ошибки как у меня в диссертации — вы молодец. Можете на нее сослаться как на альманах этого вопроса. Почасовой архив цен РСВ можно скачать у нас в блоге. Как и для чего их прогнозировать, читайте в 4-ой главе моей диссертации.

----------------------
Ирина Чучуева,
команда Математического бюро

Спасибо за все ответы, но к

Спасибо за все ответы, но к сожалению совсем не остается времени для эксперементов с финансовыми рядами..

 

У меня только один вопрос.

Мне нужно будет продемонстрировать действенность модели ARIMA(X), и, видимо, проще всего будет это сделать на данных по потреблению электроэнергии с внешним фактором - прогнозом погоды.

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

p.s. в данный момент уже совсем некогда в этом разбираться основательно, нужна просто более-менее похожая на правду презентация работоспособности модели, тем более, что есть програмная реализация метода, которая работает корректно, но далеко не полностью автоматизирована

p.p.s. и ещё, может подскажите, где можно найти статистику погоды в там же разрезе (европа/сибирь)? 

p.p.p.s. забыл ещё уточнить,

p.p.p.s. забыл ещё уточнить, для разностей, наверно, нужно брать лаг 24? 

rammstein_man wrote:p.p.p.s.
rammstein_man wrote:

p.p.p.s. забыл ещё уточнить, для разностей, наверно, нужно брать лаг 24? 

Мда, неприятная по времени ситуация. Да, берите тогда ряды энергопотребления. Хотя цены на электричество совсем не финансовые ряды, они ближе по профилю к потреблению электроэнергии, если глянете.

Да, нужно брать данные с лагом, например: y(t) = a3*y(t-24) + a2*y(t-48) + a1*y(t-168) + a0. и т.д. Взять оценки точности, как прогнозируют другие — там же, в 4-ой главе диссертации во второй половине. Вам нужно в работе показать, что в среднем вы не сильно хуже. Этого для диплома будет достаточно! Удачи!

----------------------
Ирина Чучуева,
команда Математического бюро

и всё же, подходящие порядки

и всё же, подходящие порядки p и r для ряда энергопортебления (европа), которые вы использовали - совсем секретая информация?) 

 

rammstein_man wrote:и всё же,
rammstein_man wrote:

и всё же, подходящие порядки p и r для ряда энергопортебления (европа), которые вы использовали - совсем секретая информация?) 

У меня модель не ARIMA, а EMMSP — так что порядки вам стоит искать самому. У меня их просто нет. Интеграцию берите = 1, а сглаживать там не очень нужно, так что MA(0), I(1), AR(q). Эту величину вам придется найти :-)

----------------------
Ирина Чучуева,
команда Математического бюро

chuchueva][quote=rammstein

chuchueva][quote=rammstein_man wrote:

Эту величину вам придется найти :-)

 

Ясно, понятно.

А вы бы до какого порядка тестировали? Я вот, до 20-го пробовал с акциями, и результат продолжал сильно меняться с каждым новым.. да и при порядке 20 оптимизация коэффициентов считается уже довольно долго..

rammstein_man wrote:А вы бы
rammstein_man wrote:
А вы бы до какого порядка тестировали?

У меня все хитро реализовано: используется ARIMA (но этих результатов в диссере нет), модель определяется для каждого дня недели, лаги варьируются от -24*1 до -24*7. И я не беру их подряд, а выбираю наиболее информативные. Словом, это большая работа, в лоб такое сделать сложно. При таком подходе порядок авторегрессии не превышает 7.

----------------------
Ирина Чучуева,
команда Математического бюро

И, последние 2 вопроса

И, последние 2 вопроса (честно):

1) Для определения степени информативности, вы как-то использовали графики автокорелляционных и частных автокорелляционных функций? Или вы ими вообще не пользовались?

2) Может, всё-же, где-то есть статистика по средневзвешенной температуре по этим регионам (Европа/Сибирь), чтобы их включить как внешний фактор?

А то, получается, если таких данных нет, то нужно как-то рассчитывать её исходя из погоды в городах с весами, пропорциональными численности населения этих городов.. да и не очень понятно, какие тогда города входят в эти регионы..

rammstein_man wrote:Вы как-то
rammstein_man wrote:
Вы как-то использовали графики автокорелляционных и частных автокорелляционных функций?

Нет, этим я не пользовалась. У меня реализована специальная процедура "перебора", так что я, можно сказать, перебирала разные варианты на длинных горизонтах.

rammstein_man wrote:
Может, всё-же, где-то есть статистика по средневзвешенной температуре по этим регионам (Европа/Сибирь), чтобы их включить как внешний фактор?

Вот здесь в моей статье по истории прогноза погоды, ниже в комментах есть несколько ссылок с архивами погоды. Посмотрите их внимательно, может, сумеете найти то, что вам нужно.

----------------------
Ирина Чучуева,
команда Математического бюро

И совсем последний вопрос,

И совсем последний вопрос, может вы знаете какой-нибудь не очень сложный метод сравнения качества прогноза с шумовой составляющей в процессе?

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

 

Со счетом до последнего у вас

Со счетом до последнего у вас туго :-)

Я очень хорошо понимаю, о чем вы говорите. Вероятно даже, что лучше вашего, так как этим вопросом занималась подробно. Вы не сможете легко и просто выделить тот шум, который спрогнозировать нельзя. Тем более с использованием одной модели (или фильтра). Если вам надо сравнивать, то сравнивайте как я в диссертации: с соседом. И если у ваша ошибка в пределах разумного и ошибка не хуже соседа, то можете говорить о том, что у вас эффективный алгоритм. Для диплома этого точно хватит!

----------------------
Ирина Чучуева,
команда Математического бюро

 

 

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

Как хотя бы называется этот метод(ы) или тест(ы) ? (если не разберусь, хоть упомяну на защите)

p.s. на сколько я понимаю, если из исходного ряда убрать тренд, сезонность и прогноз по самой модели, то получим эти самые шумы  (внезапные)

rammstein_man wrote:Как хотя
rammstein_man wrote:
Как хотя бы называется этот метод(ы) или тест(ы) ? (если не разберусь, хоть упомяну на защите)

Названия у них нет. Еще нет работ в той сфере, которая бы определяла, какая часть временного ряда (процесса) поддается прогнозированию, а какая нет. Если такие работы найдете — делитесь ссылками.

rammstein_man wrote:
p.s. на сколько я понимаю, если из исходного ряда убрать тренд, сезонность и прогноз по самой модели, то получим эти самые шумы (внезапные)

Вы неправильно думаете. Некоторые модели, например, нейронные сети, цепи Маркова способны улавливать глубоко нелинейные зависимости (сложнее чем тренд и сезонность) временного ряда и их прогнозировать. Другие модели, например, ARIMA в чистом виде этого делать не умеют. В связи с этим задача выделения "шума" очень сложна. Убирание тренда сезонность — примитивизм из области эконометрики. Если у вас диплом экономический, то можете и так говорить, с вами поспорить будет некому.

----------------------
Ирина Чучуева,
команда Математического бюро

Доброго времени суток.

Доброго времени суток. Немогли бы Вы помочь мне со следующим вопросом. Насколько я понял, модель скользящего среднего порядка q предполагает, что в ней используются в качестве объясняющих переменных ошибки: Еt-1 ... Еt-q. Так вот в чем у меня вопрос, где взять эти ошибки? Просто обычно ошибки являются разностями наблюдаемого значения и смоделированного на соответствующий период, а тут получается что, чтобы построить модель нужны ошибки, а чтобы получить ошибки нужно построить модель.

Добрый день!

Добрый день!

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

Не усложняйте там, где можно проще: какие значения у вас есть, такие на первом этапе и пробуйте запихать в СС. И оценивайте, что получается.

----------------------
Ирина Чучуева,
команда Математического бюро

Респецификация или работа с исходными данными?

Здравствуйте!

 

Возможно кто-то может помочь мне ответом на мой большущий вопрос))

У меня есть хорошая модель, прогнозирующая продажи на 18 месяцев вперед (ARIMA 011 011 [12] )

По тем же данным (102 месяца) мне необходимо сделать прогноз на 15 лет вперед.Конечно же,моя модель с этим не справляется (выдает отрицательные значения).

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

Я вижу для себя два варианта:

1.Либо существует какой-то тип респецификации модели, который мне не знаком и который позволит мне получить хоть сколько-то адекватный прогноз.

2.Либо мне необходимо преобразовать исходный ряд и просто построить новую модель с нуля. В таком случае едва ли корректно строить модель на 7 годовых точках(((.А полугодовая так же уходит в минус через несколько прогнозных лет. Может, мне стоит попробовать группировку по MAT.

 

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

Кажется, мне не хватает теоретического бэкграунда для решения проблемы(((Буду очень рада вашим советам,друзья. 

2010 - 2018 © Математическое бюро

Все права защищены в соответствии с законодательством РФ

При полном или частичном использовании материалов ссылка на сайт обязательна