2009-11-11 15 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、特に多変量時系列のセクションをご覧ください。

ファイナンスでは、これを行う伝統的な方法の1つは因子モデルで、頻繁にBARRAまたはFama-Frenchタイプのモデルを使用します。 Eric Zivotの"Modeling financial time series with S-PLUS"は、これらのトピックの概要を示していますが、すぐにRに移行することはできません。Ruey Tsayの「Analysis of Financial Time Series」(CRANのTSAパッケージで入手可能)では、第9章の要素モデルと主成分分析

Rには、vector autoregression (VAR)モデルをカバーする多数のパッケージがあります。特に、Bernhard PfaffのVAR Modelling (vars)パッケージとthe related vignetteのパッケージを見ることをお勧めします。

Ruey Tsay's homepageは、これらのトピックをすべて網羅しており、必要なRコードを提供するため、お勧めします。特に、​​、"Analysis of Financial Time Series"、および"Multivariate Time Series Analysis"コースをご覧ください。

これは非常に大きなテーマであり、多変量時系列の放送と季節性の両方を含む多くの良い本があります。ここにはさらにいくつかの例があります:

  1. クライバーとゼイリス。 "Applied Econometrics with R"はこれを具体的には扱っていませんが、全体的な対象を非常によくカバーしています(CRANのAERパッケージも参照)。
  2. Shumway and 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]) 

uccigdpを予測します。

dxをそれから予測するには、VARモデルを試してください。ここでは良いチュートリアル(PDF)です。

+1

これは動作しないのではないかと思います。エラーメッセージ: "arima(data [、1:4]、order = c(0、0、0)、xreg = data [、6:8])のエラー: は単変量時系列にのみ実装されています" – xhudik

+0

はい、単変量に対してのみ、 'order = c(0,0,0)'を忘れないでください。 –

関連する問題