2009-11-11 3 views
33

Я хочу делать соответствовать какому-то модели мульти-мерной временных рядов с использованием Р.Многофакторное моделирование временных рядов в R

Вот пример моих данных:

u  cci  bci  cpi  gdp dum1 dum2 dum3 dx 
16.50 14.00 53.00 45.70 80.63 0 0 1  6.39 
17.45 16.00 64.00 46.30 80.90 0 0 0  6.00 
18.40 12.00 51.00 47.30 82.40 1 0 0  6.57 
19.35 7.00 42.00 48.40 83.38 0 1 0  5.84 
20.30 9.00 34.00 49.50 84.38 0 0 1  6.36 
20.72 10.00 42.00 50.60 85.17 0 0 0  5.78 
21.14 6.00 45.00 51.90 85.60 1 0 0  5.16 
21.56 9.00 38.00 52.60 86.14 0 1 0  5.62 
21.98 2.00 32.00 53.50 86.23 0 0 1  4.94 
22.78 8.00 29.00 53.80 86.24 0 0 0  6.25 

Данные ежеквартально, фиктивные переменные относятся к сезонности.

Что я хотел бы сделать, так это предсказать dx со ссылкой на некоторые другие, в то время как (возможно), учитывая сезонность. Для аргументации, скажем, я хочу использовать «u», «cci» и «gdp».

Как бы я это сделал?

ответ

92

Если вы еще этого не сделали, посмотрите на the time series view on CRAN, особенно раздел о многомерных временных рядах.

В области финансов один из традиционных способов сделать это - с факторной моделью, часто с моделью BARRA или Fama-French. Eric Zivot's "Modeling financial time series with S-PLUS" дает хороший обзор этих тем, но он не сразу переносится в «Rouy Tsay's» «Analysis of Financial Time Series» (доступно в пакете TSA на CRAN) также хорошо обсуждается факторные модели и анализ основных компонентов в главе 9 .

R также имеет ряд пакетов, которые охватывают модели vector autoregression (VAR). В частности, я бы рекомендовал посмотреть на пакет VAR Modelling (vars) Бернхарда Пфаффа и the related vignette.

Я настоятельно рекомендую посмотреть Ruey Tsay's homepage, потому что он охватывает все эти темы и предоставляет необходимый код R. В частности, ознакомьтесь с курсами "Applied Multivariate Analysis", "Analysis of Financial Time Series" и "Multivariate Time Series Analysis".

Это очень большой предмет, и есть много хороших книг, которые его охватывают, включая как многомерные временные ряды, так и сезонность. Вот еще несколько:

  1. Kleiber и Zeileis. «Applied Econometrics with R» не касается этого конкретно, но он очень хорошо охватывает общий объект (см. Также пакет AER на CRAN).
  2. Shumway и Stoffer. «Time Series Analysis and Its Applications: With R Examples» содержит примеры многомерных моделей ARIMA.
  3. Cryer. «Time Series Analysis: With Applications in R» - это классика на эту тему, обновленная до R-кода.
3

Не знаю, была ли эта функциональность доступна, когда вы впервые задали этот вопрос, но это легко доступно в базе R теперь с функцией arima; просто укажите внешние регрессоры с аргументом xreg внутри функции. Попробуйте ?arima, и когда вы читаете документацию, обратите особое внимание на аргумент xreg. Это было сделано очень просто, удачи.

+2

Согласно документации, Arima поддерживает только одномерные временные ряды. OP имеет многомерный временной ряд. – mhwombat

6

В прогнозном пакет, попробуйте:

arima(df[,1:4], order=(0,0,0), xreg=df[,6:8]) 

u для прогнозирования, cci и gdp.

Чтобы предсказать dx, попробуйте модель VAR. Вот хороший учебник (PDF).

+1

Я боюсь, что это не работает; сообщение об ошибке: «Ошибка в arima (данные [, 1: 4], порядок = c (0, 0, 0), xreg = data [, 6: 8]): только для одномерных временных рядов« – xhudik

+0

Да, это только для одномерных и не забывайте 'order = c (0,0,0)' –

Смежные вопросы