Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
sagaan
7 лет назад

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

Предупреждение:
Эта статья описывает мой личный опыт. На начало описываемых событий у меня уже были базовые знания по статистике и эконометрике, а также большой опыт построения DCF-моделей и работы в Excel с макросами

1. Поставить задачу

Допустим, Вам срочно понадобилось выявить взаимосвязь между двумя экономическими показателями и построить модель. Ну или, для начала, просто выявить взаимосвязь и научно обосновать ее наличие. Вы что-то помните из вузовского курса по статистике и эконометрике, но понятия не имеете о современных методах прогнозирования. Из инструментов Вам доступен только Excel - в Матлабе вы никогда не работали, а об R, SPSS, Stata и подобных инструментах вообще ничего не слышали.

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

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

2. Понять экономический смысл задачи

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

Итак, нам нужна коинтеграция. Алгоритм примерно следующий:

  1. Убедиться, что временные ряды являются I(1) - интегрированными первого порядка;
  2. Построить модель;
  3. Убедиться, что остатки в модели являются стационарным временным рядом.
    Именно такой алгоритм расписан вот здесь

Теперь обо всем по порядку:

  1. "Интегрированные первого порядка" - что за...?!
    Не пугайтесь, тут все просто. Ряд называют интегрированным первого порядка, когда его первые разности являются стационарным временным рядом. Например, значения индекса Dow Jones - это нестационарный временной ряд, а его ежедневные колебания - уже стационарный. Таким образом, динамика индекса Dow Jones - интегрированный временной ряд первого порядка, или I(1).


    взято отсюда
    С 1929 по 1935 г.г. и в районе 2008 г. на графике видны необычные выбросы, но это не повод считать ряд нестационарным. Это не некие закономерности, а именно выбросы - да и мы все в курсе, чем они вызваны и что такие события повторяются редко.
    Еще можно разглядеть небольшое изменение дисперсии ряда - это уже признак нестационарности. Я бы прологарифмировал исходный ряд.


    Бывают еще I(2), I(3) и т. д. - это когда разности первого порядка не являются стационарным временным рядом, а вот разности разностей - уже являются.

    2. Построить модель
    Ну, так как мы ничего не знаем, будем строить самую обычную модель линейной регрессии. Да-да, будем строить регрессию одного временного ряда на другой. Кто сказал, что нельзя? Нам - можно! Мы не корреляцию, а коинтеграцию ищем. А чтоб нас не засмеяли - будем говорить не "коэффициент корреляции", а "коинтеграционный коэффициент корреляции".

    3. Убедиться, что остатки в модели являются стационарным временным рядом.
    Вот тут основная сложность и суть задачи. Кстати, такая же задача стоит перед нами еще в первом пункте - нужно убедиться, что первые разности стационарны.

Для того, чтобы убедиться в стационарности ряда, его нужно прогнать через тест на стационарность. Таких тестов много. Самый известный - расширенный тест Дики-Фуллера, или ADF. Еще существует тест под названием KPSS - от фамилий Kwiatkowski, Phillips, Schmidt, Shin. Мне больше подошел KPSS, но я рекомендую использовать их в паре.

3. Освоить R

И это не шутка. Тесты KPSS, ADF и многие другие включены в пакеты R - просто пишите команду и получаете результат. К тому же, R - самый популярный (и к тому же бесплатный) инструмент для решения серьезных эконометрических задач.

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

Впрочем, если Вы знаете, что "вот в этой моей любимой программе есть тест ADF", Вам же лучше. Пользуйтесь ей.

Быстро освоить R поможет просмотр видеоуроков ВШЭ (на скорости 1,5, хе-хе).

Сначала этих: Основы программирования на R - хватит первых 22.
Затем этих: Анализ временных рядов в R. Мне хватило первого, второго и четвертого.

Если Вы хотите протестировать коинтеграцию со смещением ряда на один-два-двенадцать периодов, сразу же переводите все таблицы данных, загруженные из CSV, в Time Series. Формат - ts, команда в R - ts(x), где x - дата фрейм или данные в формате zoo. Форматы zoo и xts просто не будут обработаны функцией линейной регрессии ls(), а функция lag применительно к обычному дата фрейму работает неправильно.

4. Profit!

Ну, почти. Теперь мы знаем, как провести тест на коинтеграцию, осталось провести его!

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

Полезные ссылки:

  1. https://utmagazine.ru/posts/6820-kointegracionnyy-podhod-k-parnomu-treydingu - раздел 2 этой статьи, описанный гораздо подробнее. Должно помочь;
  2. http://www.algorithmist.ru/2011/09/time-series-test-for-cointegration.html - то же самое, но с кодом в R. Изложено сложнее, чем в п. 1;
  3. http://pe.cemi.rssi.ru/pe_2015_3_106-135.pdf - перевод научной статьи Роберта Ф. Энгла и К. У. Дж. Грэнджера, придумавших коинтеграцию. Чтобы было на что ссылаться =)

Другие статьи этого цикла:
1. Как правильно выявлять взаимосвязи в экономике? Ключевое слово - коинтеграция!

Другие циклы:
Статьи по оценке бизнеса

59
190.144 GOLOS
На Golos с February 2017
Комментарии (1)
Сортировать по:
Сначала старые