Как статистически сравнить два временных ряда?


44

У меня есть два временных ряда, показанных на графике ниже:

Временной ряд

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

У меня вопрос: какие статистические методы я могу использовать для оценки различий между временными рядами?

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

1. Значения одинаковые?

2. Тенденции одинаковы?

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

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

Я делаю все это в R, поэтому, если вы предлагаете тесты, есть пакет R, тогда, пожалуйста, дайте мне знать.


9
Сюжет, кажется, затеняет то, что может быть решающим различием между этими сериями: они могут быть отобраны на разных частотах. Черная линия (Aeronet), по-видимому, отбирается только около 20 раз, а красная линия (видимость) сотни и более раз. Другим критическим фактором может быть регулярность отбора проб или его отсутствие: время между наблюдениями Аэронет, по-видимому, несколько различается. В целом, это помогает стереть соединительные линии и отображать только точки, соответствующие фактическим данным, так что зритель может определить эти вещи визуально.
whuber

Вот библиотека Python для анализа неравномерно распределенных временных рядов.
kjetil b halvorsen

Ответы:


28

Как уже говорили другие, вам нужно иметь общую частоту измерений (то есть время между наблюдениями). Имея это в виду, я бы определил общую модель, которая будет разумно описывать каждую серию отдельно. Это может быть модель ARIMA или модель регрессии с множеством трендов с возможными сдвигами уровней или составная модель, объединяющая в себе переменные памяти (ARIMA) и фиктивные переменные. Эта общая модель может оцениваться глобально и отдельно для каждой из двух серий, а затем можно построить F-тест для проверки гипотезы общего набора параметров.


1
Ну, вам не нужно иметь одинаковую частоту для обеих серий. Это просто потому, что для других случаев мало программного обеспечения, но смотрите traces.readthedocs.io/en/latest . Похоже, что многое опубликовано в других случаях в астрономических журналах, а также в финансах и геофизике ... см.
Ссылки

12

Рассмотрим grangertest()в библиотеке lmtest .

Это тест, чтобы увидеть, полезен ли один временной ряд для прогнозирования другого.

Несколько ссылок, чтобы вы начали:

https://spia.uga.edu/faculty_pages/monogan/teaching/ts/

https://spia.uga.edu/faculty_pages/monogan/teaching/ts/Kgranger.pdf

http://en.wikipedia.org/wiki/Granger_causality


1
Размер его выборки был бы слишком маленьким с <10 ​​точками данных по сравнению с количеством параметров, которые вам нужно разместить в Грейнджере.
Джейс

1
@fionn, ссылки в вашем ответе мертвы. Можете ли вы обновить свой ответ?
Давор Йосипович

0

Просто наткнулся на это. Ваш первый ответ, который мы наносим на график, устанавливает два одинаковых масштаба (по времени), чтобы увидеть различия визуально. Вы сделали это и можете легко увидеть, что есть некоторые явные различия. Следующий шаг - использовать простой корреляционный анализ ... и посмотреть, насколько они связаны, используя коэффициент корреляции (r). Если r мало, то вы пришли бы к выводу, что они слабо связаны, и поэтому нет желательных сравнений, и большее значение, если r будет предлагать хорошие сравнения s между двумя рядами. Третий шаг, где есть хорошая корреляция, состоит в проверке статистической значимости r. Здесь вы можете использовать тест Шапиро Уэлча, который предполагает, что две серии нормально распределены (нулевая гипотеза) или нет (альтернативная гипотеза). Есть и другие тесты, которые вы можете сделать, но позвольте мне надеяться, что мой ответ поможет.


1
При сравнении временных рядов это автокорреляция и, возможно, подбор моделей временных рядов. такие как модели ARIMA, которые могут помочь определить, насколько они похожи. Две реализации одного и того же случайного процесса не обязательно выглядят одинаково при построении графика.
Майкл Р. Черник

-2

Установите прямую линию на оба сигнала временного ряда, используя полифит. Затем вычислите среднеквадратичную ошибку (RMSE) для обеих линий. Полученное значение для красной линии будет значительно меньше, чем для серой линии.

Также сделайте показания на некоторой общей частоте.


2
Добро пожаловать в Cross Validated и спасибо за ваш первый ответ! Я, однако, обеспокоен тем, что вы не отвечаете на вопрос напрямую - как именно предложенный подход может помочь спрашивающему оценить, сходны ли ценности и / или тенденции?
Мартин Модрак
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.