cerenc
cerenc личный блог
27 января 2016, 10:32

О прогнозировании временных рядов

Как учат классики, рациональной основой прогнозирования, является – априорная вероятность, например цены.

Стратегия « регрессия к среднему » в качестве такого априорного значения определяет среднее значение временного ряда, однако, его продолжительность не устанавливает.

 В одной из статей по этому вопросу Тайлер Чессман http://www.osp.ru/win2000/2013/10/13037710/ отмечает

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

 Мне не попадалась какая-то особая формула или практический метод, которые подсказали бы, какое количество исторических данных необходимо включить...».

 Учитывая, что Чессман, не математик, какова практика решения этого вопроса более обоснованным образом...?!  

42 Комментария
  • Сергей (serzinho)
    27 января 2016, 10:35

    Эконометрика Байеса, фильтры Калмана, Ходрика-Прескотта, cезонное сглаживание Tramo-seats вам в помощь. В общем, покопайтесь в EViews и MatLab

      • Сергей (serzinho)
        27 января 2016, 10:45
        cerenc, естественно, чем длиннее ряд, тем, как праивло, лучше. Если подх-одить визуально, то необходимо, чтобы вряд попало как минимум два тренда и как минимум несоклько ярких выбросов сезонности (банальный анализ сезонности автокорреляцией или статистикой Дарбина-Уотсона можно провести). Отсюда для множества биржевых данных лучше ряд среднего технического цикла (период 100-105 точек). Для маркоэкономичесикх квартальных данных лучше взять не меньше 10 лет (не менее 40-50 точек), месячных данных — соответственно, 120-150 точек.

        Биржевые графики отталкиваются от стандартных циклов. В одном цикле до 105-150 точек, вот в анализируемые ряды должно попасть желательно два цикла.
        • Артем Ковтун
          27 января 2016, 15:31
          Сергей (serzinho), а на 50 лет не берете ряды? :)
          • Сергей (serzinho)
            27 января 2016, 15:52
            Артем Ковтун, я работаю с макроэкономической статистикой по России, поэтому 50-летние ряды здесь невозможны в принципе. Основные ряды около 20 лет, или от 1998 года (из-за пересчета цен вопследствии девальвации и деноминации). 
    • AlexeyTikhonov
      27 января 2016, 11:28
      Сергей (serzinho), вы прям загрузили,
      пусть сначала с arima и *arch моделей начнут;)
      • Semen
        27 января 2016, 12:56
        AlexeyT, и потратив кучу времени на это поймут, что практического применения в связи с точностью прогноза этими методами для трейдинга практически нет. Так, парочку статей написать. Как вспомню, сколько времени было убито на тот же Фильтр Калмана...
        Прогноз временных рядов — это вещь в себе. 
        • AlexeyTikhonov
          27 января 2016, 12:58
          Semen, я для этого и написал, и смайлик поставил,
          через все надо пройти, развеять иллюзии так сказать
        • Сергей (serzinho)
          27 января 2016, 15:53
          Semen, само собой Калман мало применим к биржевым графикам, вот макру с его помощью анализировать можно
      • Сергей (serzinho)
        27 января 2016, 15:52
        AlexeyT, ну так это сезонное сглаживание и корректировка:) я думал, им прогнозирование тренда нужно:)
  • Алексей
    27 января 2016, 10:37
    Однако подчас дополнительная история не повышает точность прогнозирования
    и это ключевая мысль! самая большая проблема во всех математических методах-это где взять начало координат
      • zag1
        27 января 2016, 16:37
        cerenc, есть конечно!
    • Vlаdimi®
      27 января 2016, 10:42
      Алексей, точно.
      Дайте мне точку опоры входа — и я переверну Землю разверну тренд)))
    • Jkrsss
      27 января 2016, 12:00
      Алексей, в начале функции. или в конце предыдущей функции.
      • zag1
        27 января 2016, 16:37
        Jkrsss, функция может быть просто числом, откуда у него будет начало или конец? ;)
        • Jkrsss
          27 января 2016, 17:56
          )()(, просто число это линия. (у=кx+b) все хорошо, главное чтобы не видно было.  А вот где начало и конец сами думайте, на то вам и думательный аппарат.
    • zag1
      27 января 2016, 16:36
      Алексей, «одна из», но не самая. И есть решения где начала координат не так важно… может быть «цикл», и если есть цикл начало не важно — пройдет «цикл» и потом будет такойже «цикл».
  • Кан Делябр
    27 января 2016, 11:19
    В таком  виде ряды — путь в тупик. Почитайте теорему Такенса.  Она подсказывает путь, но все равно необходимы  доп.  спецзнания  «о чем не говорят, чему не учат в школе»
  • Дмитрий ЕрМак
    27 января 2016, 11:31
    Просмотрел статью. Там нет главного, проблема в нахождении правильной модели. Линейная модель будет адекватна только на растущем участке. На синусе модель покажет ноль. Всегда могу построить модель, которая полностью повторит любые данные на истории, вопрос будет только с ее адекватностью и способностью прогнозировать.
  • zag1
    27 января 2016, 11:31
    Максимальные знания которые я знаю по этой теме — квантовомеханические методы. Там работают с координатами (координата там это самосопряженный оператор-матрица), вычисляют волновую функцию, вычисляют опретаор эволюции (который переводит систему из одного состояния в другое, — типа то что мы наблюдаем у таймсерии — с течение времени координата меняется) и т.д. и т.п. Есть книга Мерцбахера «Квантовая механика» на Английском там подробная информация. log-in.ru/books/kvantovaya-mekhanika-e-mercsbakher-eugene-merzbacher-nauka-i-obrazovanie/
  • SMA
    27 января 2016, 11:35
    прогнозирование цены- это прогнозирование спроса и предложения, которые изменяются в зависимости от того, хочу я продать вам и хотите ли купить вы. Если я знаю, что упадет, то я вам продам, а если вы знаете что вырастет, то купите. Но как так может быть, что два человека  видят рынок по разному?  Ответ очевиден, во первых  разный отрезок времени, а во вторых изменение цены происходит, когда не все участники меняют свой взгляд на изменение цены, а лишь та группа участников у которых денег больше. Так как вам цена, может подсказать, это изменение цены? только когда она изменится! А что может предсказать само изменение цены? только условия ее изменения!!! И вы по прежнему думаете, что временные ряды надо прогнозировать, только основываясь на истории изменения этого ряда?
    • zag1
      27 января 2016, 11:38
      SMA, в механике, например, не спрос и предложение, а кинетическая и потенциальная энергия, когда одно превышает другое происходит разворот… Без Матлаба начинать всем этим заниматся imho нереально.
      • SMA
        27 января 2016, 12:03

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

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

        • zag1
          27 января 2016, 12:11
          SMA, птенциальная и кинетическая энергия являются причиной изменения цены, если использовать термины физики.

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

          ???

          Матлаб — матричная лаборатория, а один из самых старых методов в механике — матричный. Язык матриц, мне кажется, наиболее простым в математике, но он очень объемный в реализации (матрицы могут быть очень большими).
      • anatolyutkin
        27 января 2016, 15:48
        )()(, В механике в точке, где происходит разворот, скорость равна нулю. А значит, и кинетическая энергия равна нулю. А точек, где кинетическая превышает потенциальную или наоборот--таких точек основная часть, по сути, почти в любой точке это так. При помощи правильного выбора начала отсчета для потенциальной энергии можно сделать так, что вообще все точки будут такими. Но точек разворота среди таких точек очень мало.  


        • zag1
          27 января 2016, 16:12
          anatolyutkin, где кинетическая превышает потенциальную или наоборот--таких точек основная часть

          — правильно — даун и аптренд соответсвенно. смена аптренда на даунтренд — это потенциальная больше кинетической, т.к. кинетическая идет в формуле с + а потенцияальная с -.
          • anatolyutkin
            27 января 2016, 17:16
            )()(, В механике в точке, где происходит разворот, скорость равна нулю. А значит, и кинетическая энергия равна нулю. Разворотная точка характеризуется равенством нулю кинетической энергии. А не равенством кинетической и потенциальной энергий. 
    • cangaroo
      27 января 2016, 12:10
      SMA, согласен с вами. Сам по себе временной ряд — просто набор цифр.
      • Артем Ковтун
        27 января 2016, 15:37
        Писал про достоверность исторической информации http://artemkovtun.livejournal.com/8541.html что сравнивать между собой данные даже в периоде 5 лет не корректно, о чем прекрасно знают рядщики с понятием срок валидности модели. 

        Ну и история всегда повторяется но повторяется всегда по новому. Математика в этом случае не должна ставить задачу — точного определения. Что давно все поняли и рисуют «пасти дракона» — диапазон значений. Вот этот диапазон можно ограничивать уровнями и векторами, и считать скажем его площадь что геометрически может отразить «величину риска», от этого можно посчитать и нормативно применять подушку риска и тп. 

        Три: для хорошей системы, полной и точной, надо максимальная выборка результатов, максимальная выборка как перепись населения например. Такой выборки нет. Вот анализировал кто-то поведение индекса — а о какой-то информации и не знал, не было в выборке. Или наоборот что-то придумал и мнение исказилось. 

        Забудьте о статистике-в-себе. Не сможет робот посчитать без валидации руками и образным мышлением правого полушария.
        • Сергей (serzinho)
          27 января 2016, 15:55
          Артем Ковтун, согласен, глобально происходят системные изменения, которые могут существенно влиять на набор факторов или ошибки того или иного временного ряда, поэтому очень длинные ряды — такое же зло, как и короткие:)
          • zag1
            27 января 2016, 16:43
            cerenc, будующее известно если известен оператор эволюции.
  • Vasiliy
    29 января 2016, 15:04
    Может для начала стоит посчитать автокорелляционную функцию того, что хотите прогнозировать? В первом приближении если коэффициенты АКФ равны нулю, то прогноз скорее всего невозможен, если хоть один отличен от нуля, то с рядом можно работать. Сезонность в этом случае вылезет на одном из старших лагов.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн