Обсуждение статьи "Прогнозирование временных рядов при помощи экспоненциального сглаживания" - страница 2

 
victorg:

Если сильно не затруднит, пожалуйста, поясните, почему если распределение исходной последовательности (или сглаженной исходной последовательности) не нормальное, то доверять прогнозу нельзя? Или я не правильно Вас понял?


Дело не совсем так. А дело в том, что ничего определенного, имея один из параметров в качестве доказательства, сказать нельзя. Приходится ориентироваться на совокупность факторов с выводом "скорее всего вот так ...". Основными для моего вывода являются две картинки: доверительные эллипсы и график ошибки прогноза. Если первая проблема решается просто - удаляется один из членов уравнения, то вторая более сложная проблема: нестабильность ошибки, которая означает, что ошибка прогноза не является константой, а является довольно замысловатой кривой. Что будет в будущем с прогнозом предсказать нельзя из-за этого графика ошибки прогноза.

На этом сайте опубликована статья сразу после Вас, там более подробно рассматривается анализ экспоненциального сглаживания вместе с прямой линией и фильтром Ходрика-Прескотта. Найдете время - посмотрите, и продолжим.

 
faa1947:

Дело не совсем так. А дело в том, что ничего определенного, имея один из параметров в качестве доказательства, сказать нельзя. Приходится ориентироваться на совокупность факторов с выводом "скорее всего вот так ...". Основными для моего вывода являются две картинки: доверительные эллипсы и график ошибки прогноза. Если первая проблема решается просто - удаляется один из членов уравнения, то вторая более сложная проблема: нестабильность ошибки, которая означает, что ошибка прогноза не является константой, а является довольно замысловатой кривой. Что будет в будущем с прогнозом предсказать нельзя из-за этого графика ошибки прогноза.

На этом сайте опубликована статья сразу после Вас, там более подробно рассматривается анализ экспоненциального сглаживания вместе с прямой линией и фильтром Ходрика-Прескотта. Найдете время - посмотрите, и продолжим.

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

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

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

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

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

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

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

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

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

Зачем я это все написал?

Если я правильно понял, у Вас в статье при помощи регрессии производится подгонка (в лучшем смысле этого слова) сглаженной последовательности к ней же, но не сглаженной. И на основании результатов этой подгонки делаются выводы о возможности или невозможности прогнозирования. Для меня это непонятно. Повторюсь, но мне кажется, что какой бы моделью мы не воспользовались, точность прогнозирования и доверительные интервалы следует определять на основе ошибок прогнозирования, а не по каким либо вторичным признакам, например, результатам сглаживания (это важно!). Кроме того, если Вы будете оптимизировать коэффициенты сглаживания МА или ХП, то как Вы собираетесь производить подгонку, по тому же интервалу обучения?

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

Прошу извинить за сумбурность изложения, неточность формулировок и тд.

 

 
victorg:

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

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

Если рассматривать котировки валют, то с одинаковой легкостью можно показать, что они стационарны или не стационарны

На достаточно длительных интервалах времени, например свыше года, и мелких тайм фреймах, например, минута мы, скорее всего получим нормальное распределение с мо и дисперсией, равными константе. Но величина дисперсии будет огромна, что видно визуально по движению котировок. Прогнозом будет невозможно пользоваться, так как и так ясно, что котировки EURUSD находятся в интервале 1.2 - 1.5, т.е. примерно 3000 пипсов. Именно поэтому кол-во наблюдений приходится брать от 50 до 100, для года - это недели.

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

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

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

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
faa1947:

"Под стационарностью EViers понимает примерное постоянство мо и стандартного отклонения."

Я высказываю свое субъективное мнение и свой взгляд, в данном случае на прогнозирование временных рядов. Что думает по этому поводу Eviews я не знаю, он мне не интересен, объясню почему.

  1. Предположим, человек устроился  на работу и ему поручили десять раз в день по изменяющейся последовательности при помощи EViews рассчитывать доверительные эллипсы. Этому сотруднику все равно как это считается и для чего, предположим, что он просто честно выполняет свою работу. В этом случае, Eviews – хорошо! и сотрудник тоже молодец.
  2. Другой вариант. Человек устроился  на работу и ему поручили быстренько разработать несложную систему прогнозирования для заданного класса последовательностей, которая должна быть реализована в виде пространства состояний, также может быть реализован Байесовский подход. Система должна включать в себя 10-12 моделей. После сбора статистики по частости выбора системой той или иной модели исключить наименее используемые модели. После завершения этой работы с целью повышения точности прогноза попытаться использовать адаптацию коэффициентов используемых моделей. В этом случае и Eview и первый сотрудник оказываются совершенно непригодными. Тут надо MathCad, или R, или VisualStudio.

Для меня первый вариант ну совершенно не подходит. Поэтому разбираться с Eview мне не хочется. Надо признать, что и второй вариант не для меня. Поэтому я не размахиваю ни MathCad-ом, ни R.

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

Посмотрите модели типа GARCH или АRCH, точно не скажу. Или модели экспоненциального сглаживания с мультипликативными трендом и сезонностью, сейчас на взлет точно не вспомню. Или используйте немного более сложную модель, когда анализируются изменения статистических характеристик последовательности во времени и для них строится прогноз. А непосредственно сам прогноз производится с учетом экстраполяции этих изменяющихся характеристик. Мне кажется заявление о том, что прогнозировать можно только стационарные ряды слишком смелое. Во-первых, потому, что в природе стационарных рядов не существует, это абстракция, а во-вторых очень многое зависит от того, что вы понимаете под словом “стационарный”. Точно так же очень многое зависит от того что Вы понимаете под словом “прогноз”. Прогнозировать можно все что угодно, просто при этом будет получаться разная величина ошибки прогноза и его доверительный интервал.

"Вы стоИте на позиции ТА, а не эконометрики, которая в отличие от ТА является наукой, а не собранием каких-то наблюдений и верований."

Это Ваше замечание не совсем справедливо. Я не Forex-фанат, не стаю на позиции ТА, статистики, экономики, эконометрики и так далее. Я бы, скорее всего, признал для себя наиболее близкой позицию приятую в “цифровой обработки сигналов” (ЦОС или DSP).

"Ваш прогноз может оказаться фикцией буквально на следующем баре из-за изменения С.О"

Если говорить о прогнозировании временных рядов, то смею заметить, что этим вопросом занимаемся не только мы с Вами. На эту тему существует огромное количество публикаций, в которых авторы делятся своими результатами, найденными методами и техникой прогнозирования. Начинать, что то делать в этой области с нуля не имеет смысла, поэтому я заимствовал чужие теоретические изыскания и попытался их реализовать на MQL5. Почему на MQL5? Да очень просто, потому, что сайт MQL5.COM в некоторой степени посвящен этому языку программирования, а не, например, EViews, Gretl и тд. А приведенный в статье индикатор IndicatorES.mq5 ну никак не может оказаться, как Вы пишите фикцией, так как честно рисует доверительные интервалы прогноза. Если у Вас установлен metatrader5, то проинсальте указанный индикатор и убедитесь в этом сами.

Если мы говорим об одном и том же, то есть имеем в виду прогнозирование временных рядов. То следует учитывать, что это направление никоим образом не связано с forex, индикаторами, котировками, сделками по покупке/продаже и тд. Если Вас действительно интересует прогнозирование, а не что то другое, то обратитесь к накопленному в этой области за многие годы мировому опыту.

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

 

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

 

Ваша точка зрения мне теперь полностью понятна, но абсолютно не приемлема. Спасибо за ваши ответы.
 

Дочитал пока только до  главы про аддитивные модели. Поэтому резюмировать, мягко говоря, рано. Однако, уже по ходу чтения возникли некоторые комментарии:

  1. Стоит упомянуть, что суммарная ошибка сильнейшим образом зависит от вида исходного цВР, т.е. от символа его образующего.
  2. Упомянутые критерии прогнозируемости (вариации Mean Error), мягко говоря, далеки от практики трейдинга. Нужно что-то другое использовать. Подумаю.
  3. Вот в этом месте:
    Для найденных таким образом коэффициентов a1 и a2 прогноз в момент времени t на m шагов вперед будет равен
    Вы по какой-то причине прогноз приравниваете к линейному тренду (T(t)), а не к сумме линейного тренда (T(t)) и изменяющегося уровня процесса (L(t)). L(t) в данном случае должен быть простой EMA, примененной к детрендированному ряду (X(t) - T(t)).
  4. Хорошо бы привести графики с характеристиками случайной величины "с нулевым средним значением" - r(t), как разность исходного ряда и его прогноза.

Продолжаю читать...

 

Дочитал. Отличная статья, спасибо! Еще комментарии:

  1. Как была получена формула после этой фразы - не осилил:
    Тогда для определения величины дисперсии при прогнозе на 2 и более шагов вперед для рассматриваемых моделей будет справедливо выражение
  2. В точку упоминание информационных критериев (AIC, BIC). На эту тему вообще хорошо бы иметь отдельный инструментарий сравнения различных ТС.
  3. Уточните, как строится прогноз по модели. В будущем подставляются ранее смоделированные на предыдущем шаге прогнозные значения за вместо реальных?
  4. Реализация оптимизационного метода Пауэлла (безусловного поиска минимума функции) и метода штрафных функций (для задания ограничений) - отличная тема. Позволяет создавать относительно шустрые адаптивные индикаторы.
  5. Было бы здорово, если бы поделились программными реализациями различных численных методов оптимизации.
  6. При оптимизации в func умножение на nCalc, как и взятие логарифма - лишнее. Причем тут метод максимального правдоподобия - не понял.
  7. Разочаровывает таблица "Ошибки прогнозирования RelMAE". Из нее следует, что наивный метод хуже используемой модели < 5%. Тут же хочется вспонить про упомянутый AIC...
Причина обращения: