ベクトル自己回帰/ベクトル誤差修正(VAR/VEC)モデル
EViewsではVARオブジェクトを利用してベクトル自己回帰/ベクトル誤差修正(VAR/VEC)モデルの推定を行います。インパルス応答や分散分解も可能です。構造VARやベイジアンVARモデルの推定もVARオブジェクトで行うことができます。
基本的な使い方
時系列データを開きます。ここでは以下のフォルダに保存されている、var1.wf1を例に取り解説します。
C:\Program Files\EViews 9\Example Files\EV9 Manual Data\Chapter 39 - Vector Autoregression and Error Correction Models
本来、VAR分析を行う前には事前に定常性や共和分関係の検定を行っておく必要がありますが、本ページの目的はEViewsの使い方の解説ですので、具体的な操作方法から解説します。ip, m1, tb3を、キーボード上のCtrlキーを押しながらクリックし、複数選択します。その後右クリックメニューからOpen as VARを選びます。
利用ラグ等は自動で入ります。とりあえずそのままOKします。
結果が表示されます。このように、簡単なマウス操作でVAR分析を実行できます。VARオブジェクトはNameボタンで保存でき、推定条件の変更等も後から行えますので、まずは一度簡単なモデルで推定し、それからカスタマイズしていくと操作の上で便利です。
推定条件の変更方法
上で推定したVARオブジェクトの推定条件に以下のような変更を加えてみます。
- 1次、2次、3次、4次、6次のラグを使います。(なんらかの理由で5次のラグを使いたくないケースを想定します。)
- 外生変数としてppiを利用します。
VARオブジェクト上のEstimateボタンを押し(ない場合は最初から推定作業を行い)、以下の画像のように入力してください。「5次のラグを落とす」のではなく、「1次から4次までのラグと6次のラグを使う」と考えて入力します。各値はすべて半角スペース区切りです。
結果が表示されます。5次のラグが抜けていること、ppiが外生変数として追加されていることが確認できます。
ポイントは、ラグの設定は必ず2つの数値をペアで指定するということです。上記の入力例では、「1と4」「6と6」がそれぞれペアになっています。これらはそれぞれ始点と終点ですので、6期のラグだけ用いる場合も、「6」とだけ入力することはできません。「6 6」と必ずペアで指定します。
利用ラグの設定はすべての被説明変数に対して適用されます。被説明変数毎に利用するラグを変えることはできません。もしそのような操作を行いたい場合、Proc>Make Systemと操作し、システムオブジェクトにしてから必要な変更を加えます。この点については、「EViews 9 Users Guide II; Chapter 39. Vector Autoregression and Error Correction Models」内に記述がございますので、詳しくはそちらをご確認ください。
ラグ次数の自動選択
上の変更例では、何次までのラグを利用するかをアドホックに決めていました。統計的基準に基づいて何次までのラグを利用するかを決定したい場合、VARオブジェクト上で、View>Lag Structure>Lag Length Criteriaと操作します。調査する最大ラグ次数(以下の画像では8)を指定するだけで、以下のような結果が得られます。
*がついているものが各統計的基準で選ばれたラグ次数です。
単位根検定と共和分検定
説明が後回しになりましたが、本来はVAR/VEC分析に入る前に、単位根検定や共和分検定を行っておく必要があります。単位根検定はシリーズオブジェクトやグループオブジェクトのViewメニューよりUnit Root Testを選択することで実行できます。
共和分検定は、グループオブジェクトやVARオブジェクトのViewメニューよりCointegration Testを選択することで実行できます。
検定結果の解釈や、検定結果別の対処法、分析結果の選定法等についてはEViewsセミナーにて解説します。
グレンジャーの因果関係
変数の過去の値が他の変数の現在の値に影響を与えているか否かを検定します。帰無仮説は「グレンジャーの因果関係はない」です。
VECモデル
変数間に共和分関係がある場合はベクトル誤差修正(Vector Error Correction, VEC)モデルを利用します。
VAR TypeでVector Error Correctionを選ぶと、VEC用の設定タブが増えていることが分かります。VECモデルについては、EViewsセミナーにて詳しく解説します。
インパルス応答
VAR分析にはインパルス応答分析がつきものです。VARオブジェクト上でImpulseボタンを押し、そのままOKします。
以下のようなグラフが表示されます。グラフウィンドウはマウス操作で伸縮可能ですので、個々のグラフもそれに合わせてある程度伸縮します。しかしながら、ラグや変数の数が多いと、個々のグラフが小さくなりすぎて見えづらいことがあります。そのような場合はZoomボタンを押します(ZoomはEViews9の新機能ですので、EViews8以前では利用できません)。
以下のように、個々のグラフがサイドバーにスライドショー形式で表示され、選択すると右に拡大されて表示されます。個々のグラフをエクスポートすることも可能です。
VAR予測
VARモデルの推定結果を使って、将来予測を行ってみます(なお、VAR予測はEViews9の新機能です)。以下のように操作してみてください。
- ワークファイルウィンドウのRangeは、実はボタンになっています。ダブルクリックし、End dateを2000m4に変更してください(5年分の予測を保存するための期間を先に確保します)。
- 以下のコマンドを実行します。
smpl @all - ip, m1, tb3で新しくVARオブジェクトを作ります。ラグは「1 2」(12ではなく、1と2を半角スペース区切りです)としてください。外生変数はC(定数項)のみにしてください。
- Forecastボタンを押し、MethodがDynamic Forecast、Forecast sampleが 1959M01から2000M04までになっていることを確認してからOKしてください。
- ip_f, m1_f, tb3_fという変数が作成されます。これらが予測値です。以下の画像はグループオブジェクトにして結果をまとめたものです。2000年まで予測できていることが確認できます。
データが存在する範囲(1995年4月まで)で推定を行い、得られた係数と説明変数より2000年4月まで予測を行います。すべての予測に共通することですが、計算に必要な説明変数がないと予測ができないことにご注意ください(Dynamicを選択する理由や、外生変数として定数項のみを利用する理由はこのためです。)
分散分解
VARオブジェクト上でView/Variance Decompositionと操作することで、分散分解が可能です。
構造VAR
VARオブジェクト上で、Proc>Estimate Structural Factorizationと操作すると、構造VAR分析が可能です。構造VAR分析の場合、制約条件を行列もしくはテキストで入力する必要があります。以下は行列形式で短期制約を課した場合の例です(mat1とmat2は事前に作成された行列オブジェクトです)。