Простая версия состоит в том, что любые две переменные, которые имеют тенденцию изменяться в одном направлении с течением времени, окажутся коррелированными, независимо от того, есть ли связь между ними или нет. Рассмотрим следующие переменные:
set.seed(1)
time = seq(from=1, to=100, by=1)
x = .5 + .3*time + rnorm(100)
y1 = 3 + .3*time + rnorm(100)
y2 = 7 + .1*time + .8*x + rnorm(100)
это просто функция времени, как и у 1 . у 2 является функцией времени и х . Смысл в том, чтобы признать из кода, что действительно существует связь между x и y 2 , и что нет никакой связи между x и y 1 . Теперь посмотрите на следующий рисунок, все три линии выглядят ужасно похожими, не так ли?ИксY1Y2ИксИксY2ИксY1
Фактически, значение для отношения между x и y 1 составляет 98%, а R 2р2ИксY1р2ИксY2ИксY1ИксY2Так как же отличить реальное от простого внешнего вида? Вот где возникает различие. Для любых двух переменных, поскольку они обе имеют тенденцию расти со временем, это не очень информативно, но, учитывая, что одна увеличивается на какую-то определенную величину, говорит ли это нам, насколько увеличивается другая? Дифференцирование позволяет нам ответить на этот вопрос. Обратите внимание на следующие два рисунка, графики рассеяния, которые я сделал после дифференцирования всех трех переменных.
Здесь мы ясно видим, что знание чего-то о том, как выросло значение , говорит нам о том, как сильно возрастает значение y 2 ( R 2 = .43ИксY2р2= .43ИксY1р2= .07р2
Некоторые другие моменты: на рисунках я отмечаю, что это одновременные изменения. В этом нет ничего плохого, и это следует из того, как я решил проблему, но обычно люди интересуются эффектами с некоторой задержкой. (То есть изменение в одном моменте времени приводит к изменению чего-то другого позже.) Во-вторых, вы упоминаете, что взяли журнал одного из ваших рядов. Взятие журнала просто переключает ваши данные с уровней на ставки. И поэтому при разнице вы смотрите на изменения в ставках, а не на изменения в уровнях. Это очень часто, но я не включил этот элемент в свою демонстрацию; это ортогонально темам, которые я обсуждал. Наконец, я хочу признать, что данные временных рядов часто более сложны, чем позволяет моя демонстрация.
Когда цель состоит в том, чтобы сформировать / идентифицировать взаимосвязь между двумя или более рядами, может потребоваться отфильтровать стационарную переменную X, чтобы преобразовать ее в шум. Это двухэтапный процесс, требуемая разность и структура ARMA. Чтобы сохранить объективность и избежать смещения спецификации модели, не следует принимать фильтр, а скорее строить этот фильтр, используя автокорреляционную природу стационарной серии X. Затем берется серия Y и применяются все необходимые разностные операторы, чтобы сделать его стационарным, а затем применяется ранее разработанный фильтр к стационарному Y. Эта процедура преследует одну-единственную цель - выявить взаимосвязь между Y и X. Никогда не следует спешить с выводами о необходимых разностных операторах, фильтр ARMA и взаимосвязь между переменными, если только вы не являетесь эконометриком, который знает модель до того, как они наблюдают за данными или если вы говорите непосредственно со всемогущим. Тщательный анализ нормальных требований к ошибкам необходим, чтобы поверить в любой статистический тест, который можно вычислить. Вычисление F тестов / T тестов необходимо, но не достаточно. В заключение я предлагаю вам продолжить тему «Как определить модель передаточной функции». Другие и я обращались к этой теме несколько раз. При желании вы можете просмотреть некоторые ответы на вопросы, к которым прикреплен тег «временной ряд». Как сказал Йоги: «Вы можете наблюдать много, просто читая / наблюдая». Иногда хорошие и простые ответы могут ввести вас в заблуждение, и потенциально слишком сложные / консервативные ответы, подобные моим, могут потребовать от вас более глубокого понимания моделирования временных рядов данных. Как когда-то было сказано: «Тото, мы больше не в Канзасе (то есть сечения)!»
источник